This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
commit 8ed6dbad90ed9e37e6e33b2676032b5f80dc1ce0 Merge: acc8746d2e 0e7417d036 Author: Keith Turner <ktur...@apache.org> AuthorDate: Wed Jul 10 15:18:32 2024 -0400 Merge branch '2.1' .../accumulo/core/clientImpl/ClientContext.java | 4 +-- .../core/clientImpl/ConditionalWriterImpl.java | 10 ++++++- .../accumulo/tserver/tablet/CompactableImpl.java | 2 +- .../apache/accumulo/test/ConditionalWriterIT.java | 34 ++++++++++++++++++++++ 4 files changed, 45 insertions(+), 5 deletions(-) diff --cc core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java index 94e9ff8a73,cb7675196c..654135a852 --- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java +++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java @@@ -87,24 -90,25 +87,26 @@@ import org.apache.thrift.transport.TTra import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import com.google.common.annotations.VisibleForTesting; +import com.google.common.net.HostAndPort; - class ConditionalWriterImpl implements ConditionalWriter { + public class ConditionalWriterImpl implements ConditionalWriter { private static final Logger log = LoggerFactory.getLogger(ConditionalWriterImpl.class); 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 TabletLocator locator; + private final TabletLocator locator; private final TableId tableId; private final String tableName; - private long timeout; + private final long timeout; private final Durability durability; private final String classLoaderContext; + private final ConditionalWriterConfig config; private static class ServerQueue { BlockingQueue<TabletServerMutations<QCMutation>> queue = new LinkedBlockingQueue<>(); @@@ -370,9 -374,10 +372,10 @@@ ConditionalWriterImpl(ClientContext context, TableId tableId, String tableName, ConditionalWriterConfig config) { + this.config = 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);