emerkle826 commented on code in PR #2060:
URL:
https://github.com/apache/cassandra-java-driver/pull/2060#discussion_r2495916743
##########
core/src/main/java/com/datastax/oss/driver/api/core/tracker/RequestIdGenerator.java:
##########
@@ -67,11 +67,27 @@ default String getCustomPayloadKey() {
default Statement<?> getDecoratedStatement(
@NonNull Statement<?> statement, @NonNull String requestId) {
- Map<String, ByteBuffer> customPayload =
- NullAllowingImmutableMap.<String, ByteBuffer>builder()
- .putAll(statement.getCustomPayload())
- .put(getCustomPayloadKey(),
ByteBuffer.wrap(requestId.getBytes(StandardCharsets.UTF_8)))
- .build();
- return statement.setCustomPayload(customPayload);
+
+ // local copy
+ Map<String, ByteBuffer> existing = statement.getCustomPayload();
+ String key = getCustomPayloadKey();
+
+ NullAllowingImmutableMap.Builder<String, ByteBuffer> builder =
Review Comment:
Just chiming in that when I added the `NullAllowingImmutableMap`, I believe
I did it simply because it was the Map type we were using around changes made
in Native Protocol related to
https://github.com/apache/cassandra-java-driver/pull/1087. I don't recall any
comments or real reasons around choosing that Map implementation as opposed to
some other immutable map that allowed nulls other than we were already using it
in native protocol so why not. :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]