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 @@ -480,17 +480,27 @@ private void setFinalResult(
480
480
totalLatencyNanos ,
481
481
TimeUnit .NANOSECONDS );
482
482
}
483
- if (resultSet .getColumnDefinitions ().size () > 0
484
- && resultSet
485
- .getExecutionInfo ()
486
- .getIncomingPayload ()
487
- .containsKey (TabletInfo .TABLETS_ROUTING_V1_CUSTOM_PAYLOAD_KEY )) {
488
- context
489
- .getMetadataManager ()
490
- .addTabletFromPayload (
491
- resultSet .getColumnDefinitions ().get (0 ).getKeyspace (),
492
- resultSet .getColumnDefinitions ().get (0 ).getTable (),
493
- resultSet .getExecutionInfo ().getIncomingPayload ());
483
+ if (resultSet
484
+ .getExecutionInfo ()
485
+ .getIncomingPayload ()
486
+ .containsKey (TabletInfo .TABLETS_ROUTING_V1_CUSTOM_PAYLOAD_KEY )) {
487
+ CqlIdentifier keyspace = resultSet .getExecutionInfo ().getRequest ().getRoutingKeyspace ();
488
+ if (keyspace == null ) {
489
+ keyspace = resultSet .getExecutionInfo ().getRequest ().getKeyspace ();
490
+ if (keyspace == null && resultSet .getColumnDefinitions ().size () > 0 ) {
491
+ keyspace = resultSet .getColumnDefinitions ().get (0 ).getKeyspace ();
492
+ }
493
+ }
494
+ CqlIdentifier table = resultSet .getExecutionInfo ().getRequest ().getRoutingTable ();
495
+ if (table == null && resultSet .getColumnDefinitions ().size () > 0 ) {
496
+ table = resultSet .getColumnDefinitions ().get (0 ).getTable ();
497
+ }
498
+ if (keyspace != null && table != null ) {
499
+ context
500
+ .getMetadataManager ()
501
+ .addTabletFromPayload (
502
+ keyspace , table , resultSet .getExecutionInfo ().getIncomingPayload ());
503
+ }
494
504
}
495
505
}
496
506
// log the warnings if they have NOT been disabled
You can’t perform that action at this time.
0 commit comments