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

dcapwell pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 24b92f4959a2013d45920ca30cc208ba5f1c5bc6
Merge: 1b2c561e9e d25adb498a
Author: David Capwell <[email protected]>
AuthorDate: Tue Sep 6 18:07:23 2022 -0700

    Merge branch 'cassandra-4.1' into trunk

 CHANGES.txt                                        |  1 +
 src/java/org/apache/cassandra/cql3/Constants.java  | 16 +++-----
 .../cassandra/distributed/test/CASAddTest.java     | 43 ++++++++++++++++++++++
 .../cassandra/distributed/test/TestBaseImpl.java   | 10 +++++
 .../cql3/validation/operations/UpdateTest.java     | 12 ++++++
 5 files changed, 72 insertions(+), 10 deletions(-)

diff --cc CHANGES.txt
index d8ff60e08f,1bf090a50f..6d6c736e1e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,49 -1,5 +1,50 @@@
 -4.1-alpha2
 +4.2
 + * Prevent a user from manually removing ephemeral snapshots (CASSANDRA-17757)
 + * Remove dependency on Maven Ant Tasks (CASSANDRA-17750)
 + * Update ASM(9.1 to 9.3), Mockito(1.10.10 to 1.12.13) and ByteBuddy(3.2.4 to 
4.7.0) (CASSANDRA-17835)
 + * Add the ability for operators to loosen the definition of "empty" for edge 
cases (CASSANDRA-17842)
 + * Fix potential out of range exception on column index downsampling 
(CASSANDRA-17839)
 + * Introduce target directory to vtable output for sstable_tasks and for 
compactionstats (CASSANDRA-13010)
 + * Read/Write/Truncate throw RequestFailure in a race condition with callback 
timeouts, should return Timeout instead (CASSANDRA-17828)
 + * Add ability to log load profiles at fixed intervals (CASSANDRA-17821)
 + * Protect against Gossip backing up due to a quarantined endpoint without 
version information (CASSANDRA-17830)
 + * NPE in org.apache.cassandra.cql3.Attributes.getTimeToLive (CASSANDRA-17822)
 + * Add guardrail for column size (CASSANDRA-17151)
 + * When doing a host replacement, we need to check that the node is a live 
node before failing with "Cannot replace a live node..." (CASSANDRA-17805)
 + * Add support to generate a One-Shot heap dump on unhandled exceptions 
(CASSANDRA-17795)
 + * Rate-limit new client connection auth setup to avoid overwhelming bcrypt 
(CASSANDRA-17812)
 + * DataOutputBuffer#scratchBuffer can use off-heap or on-heap memory as a 
means to control memory allocations (CASSANDRA-16471)
 + * Add ability to read the TTLs and write times of the elements of a 
collection and/or UDT (CASSANDRA-8877)
 + * Removed Python < 2.7 support from formatting.py (CASSANDRA-17694)
 + * Cleanup pylint issues with pylexotron.py (CASSANDRA-17779)
 + * NPE bug in streaming checking if SSTable is being repaired 
(CASSANDRA-17801)
 + * Users of NativeLibrary should handle lack of JNA appropriately when 
running in client mode (CASSANDRA-17794)
 + * Warn on unknown directories found in system keyspace directory rather than 
kill node during startup checks (CASSANDRA-17777)
 + * Log duplicate rows sharing a partition key found in verify and scrub 
(CASSANDRA-17789)
 + * Add separate thread pool for Secondary Index building so it doesn't block 
compactions (CASSANDRA-17781)
 + * Added JMX call to getSSTableCountPerTWCSBucket for TWCS (CASSANDRA-17774)
 + * When doing a host replacement, -Dcassandra.broadcast_interval_ms is used 
to know when to check the ring but checks that the ring wasn't changed in 
-Dcassandra.ring_delay_ms, changes to ring delay should not depend on when we 
publish load stats (CASSANDRA-17776)
 + * When bootstrap fails, CassandraRoleManager may attempt to do read queries 
that fail with "Cannot read from a bootstrapping node", and increments 
unavailables counters (CASSANDRA-17754)
 + * Add guardrail to disallow DROP KEYSPACE commands (CASSANDRA-17767)
 + * Remove ephemeral snapshot marker file and introduce a flag to 
SnapshotManifest (CASSANDRA-16911)
 + * Add a virtual table that exposes currently running queries 
(CASSANDRA-15241)
 + * Allow sstableloader to specify table without relying on path 
(CASSANDRA-16584)
 + * Fix 
TestGossipingPropertyFileSnitch.test_prefer_local_reconnect_on_listen_address 
(CASSANDRA-17700)
 + * Add ByteComparable API (CASSANDRA-6936)
 + * Add guardrail for maximum replication factor (CASSANDRA-17500)
 + * Increment CQLSH to version 6.2.0 for release 4.2 (CASSANDRA-17646)
 + * Adding support to perform certificate based internode authentication 
(CASSANDRA-17661)
 + * Option to disable CDC writes of repaired data (CASSANDRA-17666)
 + * When a node is bootstrapping it gets the whole gossip state but applies in 
random order causing some cases where StorageService will fail causing an 
instance to not show up in TokenMetadata (CASSANDRA-17676)
 + * Add CQLSH command SHOW REPLICAS (CASSANDRA-17577)
 + * Add guardrail to allow disabling of SimpleStrategy (CASSANDRA-17647)
 + * Change default directory permission to 750 in packaging (CASSANDRA-17470)
 + * Adding support for TLS client authentication for internode communication 
(CASSANDRA-17513)
 + * Add new CQL function maxWritetime (CASSANDRA-17425)
 + * Add guardrail for ALTER TABLE ADD / DROP / REMOVE column operations 
(CASSANDRA-17495)
 + * Rename DisableFlag class to EnableFlag on guardrails (CASSANDRA-17544)
 +Merged from 4.1:
+  * upsert with adder support is not consistent with numbers and strings in 
LWT (CASSANDRA-17857)
   * Fix race and return after failing connections (CASSANDRA-17618)
   * Speculative execution threshold unit mismatch (CASSANDRA-17877)
   * Fix BulkLoader to load entireSSTableThrottle and 
entireSSTableInterDcThrottle (CASSANDRA-17677)
diff --cc src/java/org/apache/cassandra/cql3/Constants.java
index e8989ad24e,64d9d6917e..327b3f7bef
--- a/src/java/org/apache/cassandra/cql3/Constants.java
+++ b/src/java/org/apache/cassandra/cql3/Constants.java
@@@ -492,17 -494,12 +494,11 @@@ public abstract class Constant
              {
                  ByteBuffer append = t.bindAndGet(params.options);
                  ByteBuffer current = getCurrentCellBuffer(partitionKey, 
params);
--                ByteBuffer newValue;
                  if (current == null)
-                 {
-                     newValue = append;
-                 }
-                 else
-                 {
-                     newValue = ByteBuffer.allocate(current.remaining() + 
append.remaining());
-                     FastByteOperations.copy(current, current.position(), 
newValue, newValue.position(), current.remaining());
-                     FastByteOperations.copy(append, append.position(), 
newValue, newValue.position() + current.remaining(), append.remaining());
-                 }
+                     return;
 -                newValue = ByteBuffer.allocate(current.remaining() + 
append.remaining());
++                ByteBuffer newValue = ByteBuffer.allocate(current.remaining() 
+ append.remaining());
+                 FastByteOperations.copy(current, current.position(), 
newValue, newValue.position(), current.remaining());
+                 FastByteOperations.copy(append, append.position(), newValue, 
newValue.position() + current.remaining(), append.remaining());
                  params.addCell(column, newValue);
              }
          }


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

Reply via email to