File tree Expand file tree Collapse file tree 1 file changed +24
-8
lines changed
core/src/main/java/com/datastax/oss/driver/internal/core/cql Expand file tree Collapse file tree 1 file changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -473,17 +473,33 @@ private void setFinalResult(
473473 totalLatencyNanos ,
474474 TimeUnit .NANOSECONDS );
475475 }
476- if (resultSet .getColumnDefinitions ().size () > 0
477- && resultSet
476+ if (resultSet
478477 .getExecutionInfo ()
479478 .getIncomingPayload ()
480479 .containsKey (TabletInfo .TABLETS_ROUTING_V1_CUSTOM_PAYLOAD_KEY )) {
481- context
482- .getMetadataManager ()
483- .addTabletFromPayload (
484- resultSet .getColumnDefinitions ().get (0 ).getKeyspace (),
485- resultSet .getColumnDefinitions ().get (0 ).getTable (),
486- resultSet .getExecutionInfo ().getIncomingPayload ());
480+ CqlIdentifier keyspace = resultSet .getExecutionInfo ().getRequest ().getRoutingKeyspace ();
481+ if (keyspace == null ) {
482+ keyspace = resultSet .getExecutionInfo ().getRequest ().getKeyspace ();
483+ if (keyspace == null && resultSet .getColumnDefinitions ().size () > 0 ) {
484+ keyspace = resultSet .getColumnDefinitions ().get (0 ).getKeyspace ();
485+ }
486+ }
487+
488+ CqlIdentifier table = resultSet .getExecutionInfo ().getRequest ().getRoutingTable ();
489+ if (table == null ) {
490+ table = resultSet .getExecutionInfo ().getRequest ().getKeyspace ();
491+ if (table == null && resultSet .getColumnDefinitions ().size () > 0 ) {
492+ table = resultSet .getColumnDefinitions ().get (0 ).getTable ();
493+ }
494+ }
495+ if (keyspace != null && table != null ) {
496+ context
497+ .getMetadataManager ()
498+ .addTabletFromPayload (
499+ keyspace ,
500+ table ,
501+ resultSet .getExecutionInfo ().getIncomingPayload ());
502+ }
487503 }
488504 }
489505 // log the warnings if they have NOT been disabled
You can’t perform that action at this time.
0 commit comments