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 <6889771+tolber...@users.noreply.github.com>
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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to