File tree 1 file changed +21
-11
lines changed
core/src/main/java/com/datastax/oss/driver/internal/core/cql
1 file changed +21
-11
lines changed Original file line number Diff line number Diff line change @@ -473,17 +473,27 @@ private void setFinalResult(
473
473
totalLatencyNanos ,
474
474
TimeUnit .NANOSECONDS );
475
475
}
476
- if (resultSet .getColumnDefinitions ().size () > 0
477
- && resultSet
478
- .getExecutionInfo ()
479
- .getIncomingPayload ()
480
- .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 ());
476
+ if (resultSet
477
+ .getExecutionInfo ()
478
+ .getIncomingPayload ()
479
+ .containsKey (TabletInfo .TABLETS_ROUTING_V1_CUSTOM_PAYLOAD_KEY )) {
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
+ CqlIdentifier table = resultSet .getExecutionInfo ().getRequest ().getRoutingTable ();
488
+ if (table == null && resultSet .getColumnDefinitions ().size () > 0 ) {
489
+ table = resultSet .getColumnDefinitions ().get (0 ).getTable ();
490
+ }
491
+ if (keyspace != null && table != null ) {
492
+ context
493
+ .getMetadataManager ()
494
+ .addTabletFromPayload (
495
+ keyspace , table , resultSet .getExecutionInfo ().getIncomingPayload ());
496
+ }
487
497
}
488
498
}
489
499
// log the warnings if they have NOT been disabled
You can’t perform that action at this time.
0 commit comments