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

kturner pushed a commit to branch elasticity
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit d0b72f5465ebf6c30d4084aa1c85494c43c28361
Merge: 29a37b6c7d 1e347f8482
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Mon Jul 8 18:34:26 2024 -0400

    Merge branch 'main' into elasticity

 assemble/pom.xml                                   |   5 +
 core/pom.xml                                       |   6 +
 .../summarizers/AuthorizationSummarizer.java       |  36 +-----
 .../core/clientImpl/ConditionalWriterImpl.java     |  29 ++---
 .../data/constraints/VisibilityConstraint.java     |  16 +--
 .../core/iterators/user/TransformingIterator.java  |  23 ++--
 .../core/iterators/user/VisibilityFilter.java      |  20 +--
 .../iteratorsImpl/system/VisibilityFilter.java     |  19 ++-
 .../accumulo/core/security/Authorizations.java     |  20 +++
 .../accumulo/core/security/ColumnVisibility.java   |  85 ++++++++-----
 .../core/security/VisibilityEvaluator.java         | 134 +++------------------
 .../core/security/VisibilityParseException.java    |  11 ++
 .../accumulo/core/util/BadArgumentException.java   |   7 ++
 .../data/constraints/VisibilityConstraintTest.java |  13 +-
 .../core/security/ColumnVisibilityTest.java        |  13 ++
 .../core/security/VisibilityEvaluatorTest.java     |  24 +---
 pom.xml                                            |   6 +
 17 files changed, 206 insertions(+), 261 deletions(-)

diff --cc assemble/pom.xml
index 351b97a49c,fbb5a9e698..257a5dddc6
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@@ -181,6 -181,16 +181,11 @@@
        <artifactId>jakarta.xml.bind-api</artifactId>
        <optional>true</optional>
      </dependency>
+     <dependency>
+       <groupId>org.apache.accumulo</groupId>
+       <artifactId>accumulo-access</artifactId>
+       <optional>true</optional>
+     </dependency>
 -    <dependency>
 -      <groupId>org.apache.accumulo</groupId>
 -      <artifactId>accumulo-compaction-coordinator</artifactId>
 -      <optional>true</optional>
 -    </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-compactor</artifactId>
diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
index bec607cb28,4ddcdae552..8b5de99c84
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
@@@ -97,14 -95,14 +95,14 @@@ public class ConditionalWriterImpl impl
  
    private static final int MAX_SLEEP = 30000;
  
-   private Authorizations auths;
-   private VisibilityEvaluator ve;
-   private Map<Text,Boolean> cache = Collections.synchronizedMap(new 
LRUMap<>(1000));
+   private final Authorizations auths;
+   private final AccessEvaluator accessEvaluator;
+   private final Map<Text,Boolean> cache = Collections.synchronizedMap(new 
LRUMap<>(1000));
    private final ClientContext context;
-   private ClientTabletCache locator;
 -  private final TabletLocator locator;
++  private final ClientTabletCache locator;
    private final TableId tableId;
    private final String tableName;
-   private long timeout;
+   private final long timeout;
    private final Durability durability;
    private final String classLoaderContext;
  
@@@ -374,10 -372,10 +372,10 @@@
        ConditionalWriterConfig config) {
      this.context = context;
      this.auths = config.getAuthorizations();
-     this.ve = new VisibilityEvaluator(config.getAuthorizations());
+     this.accessEvaluator = 
AccessEvaluator.of(config.getAuthorizations().toAccessAuthorizations());
      this.threadPool = context.threadPools().createScheduledExecutorService(
          config.getMaxWriteThreads(), this.getClass().getSimpleName());
 -    this.locator = new SyncingTabletLocator(context, tableId);
 +    this.locator = new SyncingClientTabletCache(context, tableId);
      this.serverQueues = new HashMap<>();
      this.tableId = tableId;
      this.tableName = tableName;
diff --cc pom.xml
index aeacdf925e,014424cdc9..fd582742b3
--- a/pom.xml
+++ b/pom.xml
@@@ -314,6 -316,16 +315,11 @@@
          <artifactId>commons-logging</artifactId>
          <version>1.2</version>
        </dependency>
+       <dependency>
+         <groupId>org.apache.accumulo</groupId>
+         <artifactId>accumulo-access</artifactId>
+         <version>${version.accumulo-access}</version>
+       </dependency>
 -      <dependency>
 -        <groupId>org.apache.accumulo</groupId>
 -        <artifactId>accumulo-compaction-coordinator</artifactId>
 -        <version>${project.version}</version>
 -      </dependency>
        <dependency>
          <groupId>org.apache.accumulo</groupId>
          <artifactId>accumulo-compactor</artifactId>

Reply via email to