File tree 1 file changed +24
-8
lines changed
core/src/main/java/com/datastax/oss/driver/internal/core/cql
1 file changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -473,17 +473,33 @@ private void setFinalResult(
473
473
totalLatencyNanos ,
474
474
TimeUnit .NANOSECONDS );
475
475
}
476
- if (resultSet .getColumnDefinitions ().size () > 0
477
- && resultSet
476
+ if (resultSet
478
477
.getExecutionInfo ()
479
478
.getIncomingPayload ()
480
479
.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
+ }
487
503
}
488
504
}
489
505
// log the warnings if they have NOT been disabled
You can’t perform that action at this time.
0 commit comments