Skip to content

Commit b31accd

Browse files
committed
fix: pass node-specific tracker prefix
1 parent e9b01ba commit b31accd

2 files changed

Lines changed: 58 additions & 1 deletion

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ private void setFinalResult(
491491
nodeLatencyNanos,
492492
executionProfile,
493493
callback.node,
494-
handlerLogPrefix);
494+
callback.logPrefix);
495495
requestTracker.onSuccess(
496496
callback.statement,
497497
totalLatencyNanos,

core/src/test/java/com/datastax/oss/driver/internal/core/cql/CqlRequestHandlerTrackerTest.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import com.datastax.oss.driver.api.core.config.DriverExecutionProfile;
3131
import com.datastax.oss.driver.api.core.cql.AsyncResultSet;
3232
import com.datastax.oss.driver.api.core.servererrors.BootstrappingException;
33+
import com.datastax.oss.driver.api.core.session.Request;
34+
import com.datastax.oss.driver.api.core.tracker.RequestIdGenerator;
3335
import com.datastax.oss.driver.api.core.tracker.RequestTracker;
3436
import com.datastax.oss.driver.internal.core.tracker.NoopRequestTracker;
3537
import com.datastax.oss.protocol.internal.ProtocolConstants;
@@ -92,6 +94,61 @@ public void should_invoke_request_tracker() {
9294
}
9395
}
9496

97+
@Test
98+
public void should_pass_node_specific_log_prefix_to_node_success_tracker() {
99+
RequestIdGenerator requestIdGenerator =
100+
new RequestIdGenerator() {
101+
@Override
102+
public String getSessionRequestId() {
103+
return "session-id";
104+
}
105+
106+
@Override
107+
public String getNodeRequestId(Request request, String parentId) {
108+
return "node-id";
109+
}
110+
};
111+
112+
try (RequestHandlerTestHarness harness =
113+
RequestHandlerTestHarness.builder()
114+
.withDefaultIdempotence(true)
115+
.withRequestIdGenerator(requestIdGenerator)
116+
.withResponse(node1, defaultFrameOf(singleRow()))
117+
.build()) {
118+
119+
RequestTracker requestTracker = mock(RequestTracker.class);
120+
when(harness.getContext().getRequestTracker()).thenReturn(requestTracker);
121+
122+
CompletionStage<AsyncResultSet> resultSetFuture =
123+
new CqlRequestHandler(
124+
UNDEFINED_IDEMPOTENCE_STATEMENT,
125+
harness.getSession(),
126+
harness.getContext(),
127+
"test")
128+
.handle();
129+
130+
assertThatStage(resultSetFuture)
131+
.isSuccess(
132+
resultSet -> {
133+
verify(requestTracker)
134+
.onNodeSuccess(
135+
any(),
136+
anyLong(),
137+
any(DriverExecutionProfile.class),
138+
eq(node1),
139+
eq("test|node-id|0"));
140+
verify(requestTracker)
141+
.onSuccess(
142+
any(),
143+
anyLong(),
144+
any(DriverExecutionProfile.class),
145+
eq(node1),
146+
eq("test|session-id"));
147+
verifyNoMoreInteractions(requestTracker);
148+
});
149+
}
150+
}
151+
95152
@Test
96153
public void should_not_invoke_noop_request_tracker() {
97154
try (RequestHandlerTestHarness harness =

0 commit comments

Comments
 (0)