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]
