You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ko...@apache.org on 2026/08/26 23:14:04 UTC

(cassandra) branch trunk updated (a504860cc0 -> a2d6a9190d)

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

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


    from a504860cc0 Merge branch 'cassandra-6.0' into trunk
     add 1e865038e8 Reduce overheads of isOrdinaryUser check performed by Guardrail.enabled
     new a2d6a9190d Merge branch 'cassandra-6.0' into trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt                                        |   1 +
 .../apache/cassandra/auth/AuthenticatedUser.java   |  18 +-
 .../org/apache/cassandra/auth/RoleResource.java    |  15 +-
 src/java/org/apache/cassandra/auth/Roles.java      |  10 +
 src/java/org/apache/cassandra/auth/RolesCache.java |  37 +++
 .../org/apache/cassandra/config/DurationSpec.java  |  43 +++-
 .../apache/cassandra/cql3/RowUpdateBuilder.java    |  12 +-
 .../cassandra/cql3/statements/BatchStatement.java  |   8 +-
 .../cql3/statements/ModificationStatement.java     |  29 ++-
 .../org/apache/cassandra/service/ClientState.java  |  66 ++++-
 .../test/microbench/ClientStateIsSuperBench.java   | 124 +++++++++
 .../apache/cassandra/service/ClientStateTest.java  | 276 +++++++++++++++++++++
 12 files changed, 612 insertions(+), 27 deletions(-)
 create mode 100644 test/microbench/org/apache/cassandra/test/microbench/ClientStateIsSuperBench.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


(cassandra) 01/01: Merge branch 'cassandra-6.0' into trunk

Posted by ko...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit a2d6a9190d9e5aa71bf1da1b225e755807081eb2
Merge: a504860cc0 1e865038e8
Author: Dmitry Konstantinov <ne...@gmail.com>
AuthorDate: Wed Aug 26 23:47:54 2026 +0100

    Merge branch 'cassandra-6.0' into trunk
    
    * cassandra-6.0:
      Reduce overheads of isOrdinaryUser check performed by Guardrail.enabled

 CHANGES.txt                                        |   1 +
 .../apache/cassandra/auth/AuthenticatedUser.java   |  18 +-
 .../org/apache/cassandra/auth/RoleResource.java    |  15 +-
 src/java/org/apache/cassandra/auth/Roles.java      |  10 +
 src/java/org/apache/cassandra/auth/RolesCache.java |  37 +++
 .../org/apache/cassandra/config/DurationSpec.java  |  43 +++-
 .../apache/cassandra/cql3/RowUpdateBuilder.java    |  12 +-
 .../cassandra/cql3/statements/BatchStatement.java  |   8 +-
 .../cql3/statements/ModificationStatement.java     |  29 ++-
 .../org/apache/cassandra/service/ClientState.java  |  66 ++++-
 .../test/microbench/ClientStateIsSuperBench.java   | 124 +++++++++
 .../apache/cassandra/service/ClientStateTest.java  | 276 +++++++++++++++++++++
 12 files changed, 612 insertions(+), 27 deletions(-)

diff --cc CHANGES.txt
index b0fa97d256,04fa7a78a9..374179ed26
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,8 +1,17 @@@
 -6.0-alpha3
 +7.0
 + * Reject LIKE patterns with a wildcard (%) anywhere other than the start or end (CASSANDRA-21068)
 + * Support pluggable default role initialization (CASSANDRA-21546)
 + * Add prepared statement cache stats to nodetool info (CASSANDRA-14366)
 + * Don't increment client metrics on messaging service connection unpause (CASSANDRA-21491)
 + * Add nodetool getreplicas (CASSANDRA-17665)
 + * Implementation of CEP-49: Hardware-accelerated compression (CASSANDRA-20975)
 + * Avoid using ObjectUtils.getFirstNonNull in Schema (CASSANDRA-21394)
 + * Allow nodetool garbagecollect to take a user defined list of SSTables (CASSANDRA-16767)
 + * Add a guardrail for misprepared statements (CASSANDRA-21139)
 +Merged from 6.0:
+  * Reduce overheads of isOrdinaryUser check performed by Guardrail.enabled (CASSANDRA-21589)
   * MultiStepOperations should not encode range movements using endpoints (CASSANDRA-21582)
   * Avoid "During operation execution,... at ONE the ring has changed from epoch1 to epoch2 error" with counter writes (CASSANDRA-21585)
 - * Reject LIKE patterns with a wildcard (%) anywhere other than the start or end (CASSANDRA-21068)
   * Stabilize cursor-based compaction (CASSANDRA-21462)
   * Stop using Java streams in CIDRPermissions.SubsetPermissions#canAccessFrom hot method (CASSANDRA-21588)
   * Enable trickle fsync by default (CASSANDRA-21572)
diff --cc src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
index f7d9fbc9a3,ef21bf4fe6..a8234f8599
--- a/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
@@@ -416,18 -416,33 +416,39 @@@ public abstract class ModificationState
              Guardrails.userTimestampsEnabled.ensureEnabled(state);
      }
  
 +    @Override
 +    public void validatePrepare(ClientState state)
 +    {
 +        Guardrails.preparedStatementsRequireParameters.guard(this, restrictions, state, metadata.keyspace, metadata.getTableName());
 +    }
 +
+     public enum DiskUsageCheck
+     {
+         NONE,
+         KEYSPACE_WIDE,
+         REPLICA
+     }
+ 
+     public static DiskUsageCheck diskUsageCheck(ClientState state)
+     {
+         if (!DiskUsageBroadcaster.instance.hasStuffedOrFullNode())
+             return DiskUsageCheck.NONE;
+ 
+         if (Guardrails.instance.getDataDiskUsageKeyspaceWideProtectionEnabled()
+             && Guardrails.diskUsageKeyspaceWideProtection.enabled(state))
+             return DiskUsageCheck.KEYSPACE_WIDE;
+ 
+         return Guardrails.replicaDiskUsage.enabled(state) ? DiskUsageCheck.REPLICA : DiskUsageCheck.NONE;
+     }
+ 
      public void validateDiskUsage(QueryOptions options, ClientState state)
      {
+         validateDiskUsage(options, state, diskUsageCheck(state));
+     }
  
-         if (Guardrails.diskUsageKeyspaceWideProtection.enabled(state) &&
-             Guardrails.instance.getDataDiskUsageKeyspaceWideProtectionEnabled() &&
-             DiskUsageBroadcaster.instance.hasStuffedOrFullNode())
+     public void validateDiskUsage(QueryOptions options, ClientState state, DiskUsageCheck diskUsageCheck)
+     {
+         if (diskUsageCheck == DiskUsageCheck.KEYSPACE_WIDE)
          {
              Keyspace keyspace = Keyspace.open(keyspace());
              // If the keyspace is using NetworkTopologyStrategy then we can check each datacenter on which


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org