Skip to content

Commit 1429983

Browse files
committed
Fix tablets update
Fixes tablets update for non-select queries
1 parent e6c24cc commit 1429983

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

Diff for: core/src/main/java/com/datastax/oss/driver/internal/core/cql/CqlRequestHandler.java

+25-11
Original file line numberDiff line numberDiff line change
@@ -473,17 +473,31 @@ private void setFinalResult(
473473
totalLatencyNanos,
474474
TimeUnit.NANOSECONDS);
475475
}
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+
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, table, resultSet.getExecutionInfo().getIncomingPayload());
500+
}
487501
}
488502
}
489503
// log the warnings if they have NOT been disabled

0 commit comments

Comments
 (0)