This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch cassandra-4.1
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit f869a2bb59ee8267ac7470f1df6d6351e3f21a69
Merge: af5029d643 f01d2b4a3c
Author: Mick Semb Wever <[email protected]>
AuthorDate: Sat Dec 17 15:49:18 2022 -0800

    Merge branch 'cassandra-4.0' into cassandra-4.1
    
    * cassandra-4.0:
      Restore custom param types over messaging system

 CHANGES.txt                                        |  1 +
 .../cassandra/net/CustomParamsSerializer.java      | 73 ++++++++++++++++++++++
 src/java/org/apache/cassandra/net/Message.java     | 17 +++++
 src/java/org/apache/cassandra/net/ParamType.java   |  5 +-
 .../org/apache/cassandra/utils/ByteArrayUtil.java  | 24 +++++++
 .../unit/org/apache/cassandra/net/MessageTest.java | 35 +++++++++++
 6 files changed, 154 insertions(+), 1 deletion(-)

diff --cc CHANGES.txt
index 2721964b2a,fee031d8f5..f87e2f435e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,11 +1,14 @@@
 -4.0.8
 +4.1.1
 +Merged from 4.0:
+  * Restore internode custom tracing on 4.0's new messaging system 
(CASSANDRA-17981)
 - * Harden parsing of boolean values in CQL in PropertyDefinitions 
(CASSANDRA-17878)
 - * Fix error message about type hints (CASSANDRA-17915)
 - * Fix possible race condition on repair snapshots (CASSANDRA-17955)
 - * Fix ASM bytecode version inconsistency (CASSANDRA-17873)
  Merged from 3.11:
 - * Fix Splitter sometimes creating more splits than requested 
(CASSANDRA-18013)
 +Merged from 3.0:
 +
 +
 +4.1.0
 + * Fix ContentionStrategy backoff and Clock.waitUntil (CASSANDRA-18086)
 +Merged from 4.0:
 +Merged from 3.11:
  Merged from 3.0:
   * Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848)
   * Suppress CVE-2022-41854 and similar (CASSANDRA-18083)
diff --cc src/java/org/apache/cassandra/net/Message.java
index 472c5aacde,bc176bdb86..09e4ba3c93
--- a/src/java/org/apache/cassandra/net/Message.java
+++ b/src/java/org/apache/cassandra/net/Message.java
@@@ -21,7 -21,9 +21,8 @@@ import java.io.IOException
  import java.nio.ByteBuffer;
  import java.util.Collections;
  import java.util.EnumMap;
+ import java.util.HashMap;
  import java.util.Map;
 -import java.util.UUID;
  import java.util.concurrent.TimeUnit;
  import java.util.concurrent.atomic.AtomicInteger;
  
@@@ -496,10 -427,11 +498,16 @@@ public class Message<T
              return (TraceType) params.getOrDefault(ParamType.TRACE_TYPE, 
TraceType.QUERY);
          }
  
 +        public Map<ParamType, Object> params()
 +        {
 +            return Collections.unmodifiableMap(params);
 +        }
++
+         @Nullable
+         public Map<String,byte[]> customParams()
+         {
+             return (Map<String,byte[]>) params.get(ParamType.CUSTOM_MAP);
+         }
      }
  
      @SuppressWarnings("WeakerAccess")
diff --cc src/java/org/apache/cassandra/net/ParamType.java
index 2f661d2b68,007605b260..37f4bf8aed
--- a/src/java/org/apache/cassandra/net/ParamType.java
+++ b/src/java/org/apache/cassandra/net/ParamType.java
@@@ -24,11 -25,10 +24,12 @@@ import javax.annotation.Nullable
  import org.apache.cassandra.exceptions.RequestFailureReason;
  import org.apache.cassandra.io.IVersionedSerializer;
  import org.apache.cassandra.tracing.Tracing;
 -import org.apache.cassandra.utils.UUIDSerializer;
 +import org.apache.cassandra.utils.Int32Serializer;
 +import org.apache.cassandra.utils.Int64Serializer;
 +import org.apache.cassandra.utils.TimeUUID;
  
  import static java.lang.Math.max;
+ 
  import static 
org.apache.cassandra.locator.InetAddressAndPort.FwdFrmSerializer.fwdFrmSerializer;
  
  /**
@@@ -57,12 -57,7 +58,14 @@@ public enum ParamTyp
      @Deprecated
      TRACK_REPAIRED_DATA (7, "TrackRepaired", LegacyFlag.serializer),
  
 +    TOMBSTONE_FAIL(8, "TSF", Int32Serializer.serializer),
 +    TOMBSTONE_WARNING(9, "TSW", Int32Serializer.serializer),
 +    LOCAL_READ_SIZE_FAIL(10, "LRSF", Int64Serializer.serializer),
 +    LOCAL_READ_SIZE_WARN(11, "LRSW", Int64Serializer.serializer),
 +    ROW_INDEX_READ_SIZE_FAIL(12, "RIRSF", Int64Serializer.serializer),
-     ROW_INDEX_READ_SIZE_WARN(13, "RIRSW", Int64Serializer.serializer);
++    ROW_INDEX_READ_SIZE_WARN(13, "RIRSW", Int64Serializer.serializer),
++
+     CUSTOM_MAP          (14, "CUSTOM",       
CustomParamsSerializer.serializer);
  
      final int id;
      @Deprecated final String legacyAlias; // pre-4.0 we used to serialize 
entire param name string
diff --cc test/unit/org/apache/cassandra/net/MessageTest.java
index 914b097fa9,d3f56177eb..3850bc4f03
--- a/test/unit/org/apache/cassandra/net/MessageTest.java
+++ b/test/unit/org/apache/cassandra/net/MessageTest.java
@@@ -19,6 -19,9 +19,8 @@@ package org.apache.cassandra.net
  
  import java.io.IOException;
  import java.nio.ByteBuffer;
+ import java.nio.charset.CharacterCodingException;
+ import java.nio.charset.StandardCharsets;
 -import java.util.UUID;
  import java.util.concurrent.TimeUnit;
  import java.util.stream.Stream;
  
@@@ -48,8 -51,8 +50,9 @@@ import static org.apache.cassandra.net.
  import static org.apache.cassandra.net.ParamType.RESPOND_TO;
  import static org.apache.cassandra.net.ParamType.TRACE_SESSION;
  import static org.apache.cassandra.net.ParamType.TRACE_TYPE;
 -import static org.apache.cassandra.utils.MonotonicClock.approxTime;
 +import static org.apache.cassandra.utils.MonotonicClock.Global.approxTime;
 +import static org.apache.cassandra.utils.TimeUUID.Generator.nextTimeUUID;
+ 
  import static org.junit.Assert.*;
  
  public class MessageTest


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to