This is an automated email from the ASF dual-hosted git repository.
absurdfarce pushed a commit to branch 4.x
in repository https://gitbox.apache.org/repos/asf/cassandra-java-driver.git
The following commit(s) were added to refs/heads/4.x by this push:
new 4c7133c72 Replace uses of AttributeKey.newInstance
4c7133c72 is described below
commit 4c7133c72e136d23dbcea795e0041df764568931
Author: Andy Tolbert <[email protected]>
AuthorDate: Tue Jan 23 10:21:02 2024 -0600
Replace uses of AttributeKey.newInstance
The java driver uses netty channel attributes to decorate a
connection's channel with the cluster name (returned from
the system.local table) and the map from the OPTIONS response, both
of which are obtained on connection initialization.
There's an issue here that I wouldn't expect to see in practice in
that the AttributeKey's used are created using
AttributeKey.newInstance, which throws an exception if an
AttributeKey of that name is defined anywhere else in evaluated code.
This change attempts to resolve this issue by changing AttributeKey
initialiation in DriverChannel from newInstance to valueOf, which avoids
throwing an exception if an AttributeKey of the same name was previously
instantiated.
patch by Andy Tolbert; reviewed by Bret McGuire, Alexandre Dutra, Abe
Ratnofsky for CASSANDRA-19290
---
.../com/datastax/oss/driver/internal/core/channel/DriverChannel.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
a/core/src/main/java/com/datastax/oss/driver/internal/core/channel/DriverChannel.java
b/core/src/main/java/com/datastax/oss/driver/internal/core/channel/DriverChannel.java
index 50932bed8..e40aa6f30 100644
---
a/core/src/main/java/com/datastax/oss/driver/internal/core/channel/DriverChannel.java
+++
b/core/src/main/java/com/datastax/oss/driver/internal/core/channel/DriverChannel.java
@@ -49,9 +49,9 @@ import net.jcip.annotations.ThreadSafe;
@ThreadSafe
public class DriverChannel {
- static final AttributeKey<String> CLUSTER_NAME_KEY =
AttributeKey.newInstance("cluster_name");
+ static final AttributeKey<String> CLUSTER_NAME_KEY =
AttributeKey.valueOf("cluster_name");
static final AttributeKey<Map<String, List<String>>> OPTIONS_KEY =
- AttributeKey.newInstance("options");
+ AttributeKey.valueOf("options");
@SuppressWarnings("RedundantStringConstructorCall")
static final Object GRACEFUL_CLOSE_MESSAGE = new
String("GRACEFUL_CLOSE_MESSAGE");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]