[accumulo] branch main updated: address todos in config code and tests (#2844)

2022-08-05 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new fac1857877 address todos in config code and tests (#2844)
fac1857877 is described below

commit fac18578778833db4742dd6b8d062709769d7624
Author: EdColeman 
AuthorDate: Fri Aug 5 14:19:06 2022 +

address todos in config code and tests (#2844)
---
 .../apache/accumulo/server/conf/util/ConfigTransformer.java| 10 +-
 .../apache/accumulo/server/conf/SystemConfigurationTest.java   |  5 -
 .../accumulo/server/conf/store/impl/ZooPropLoaderTest.java |  7 ---
 .../accumulo/server/conf/store/impl/ZooPropStoreTest.java  |  8 
 4 files changed, 5 insertions(+), 25 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigTransformer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigTransformer.java
index 89629e194b..3a75823774 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigTransformer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigTransformer.java
@@ -252,12 +252,12 @@ public class ConfigTransformer {
 }
   }
 
-} catch (KeeperException e) {
-  // TODO add handling
-  e.printStackTrace();
-} catch (InterruptedException e) {
+} catch (KeeperException ex) {
+  throw new IllegalStateException("Failed to read legacy props due to 
ZooKeeper error", ex);
+} catch (InterruptedException ex) {
   Thread.currentThread().interrupt();
-  e.printStackTrace();
+  throw new IllegalStateException(
+  "Failed to read legacy props due to interrupt read from ZooKeeper", 
ex);
 }
 return legacyProps;
   }
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/conf/SystemConfigurationTest.java
 
b/server/base/src/test/java/org/apache/accumulo/server/conf/SystemConfigurationTest.java
index c5e68b14f9..34ed91f88a 100644
--- 
a/server/base/src/test/java/org/apache/accumulo/server/conf/SystemConfigurationTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/conf/SystemConfigurationTest.java
@@ -133,9 +133,4 @@ public class SystemConfigurationTest {
 assertTrue(sysConfig.isPropertySet(TABLE_BLOOM_SIZE)); // default
 
   }
-
-  @Test
-  public void isPropertySet() {
-// TODO - add test
-  }
 }
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoaderTest.java
 
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoaderTest.java
index 849195110b..7fafa26fe6 100644
--- 
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoaderTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoaderTest.java
@@ -158,13 +158,6 @@ public class ZooPropLoaderTest {
 assertNotNull(cache.get(propStoreKey));
   }
 
-  @Test
-  public void getExpireTimeoutTest() {
-replay(context, zrw, propStoreWatcher, cacheMetrics);
-// TODO check into implementing an explicit test.
-// fail("Implement test");
-  }
-
   /**
* Verify that an exception on load result in null value and that the 
exception does not escape
* the load call.
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropStoreTest.java
 
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropStoreTest.java
index 93690f7833..a65d868a51 100644
--- 
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropStoreTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ZooPropStoreTest.java
@@ -365,14 +365,6 @@ public class ZooPropStoreTest {
 }
   }
 
-  /**
-   * Verify that a node is created when it does not exist.
-   */
-  // @Test
-  public void getNoNodeTest() {
-// TODO - implementation requires mocking transform locking
-  }
-
   @Test
   public void deleteTest() throws Exception {
 



[accumulo] branch main updated: Fix warnings

2022-07-25 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 7e487dfdbf Fix warnings
7e487dfdbf is described below

commit 7e487dfdbff200df71a7e034371d469a10033d1f
Author: Christopher Tubbs 
AuthorDate: Mon Jul 25 14:26:48 2022 -0400

Fix warnings

* Use fully-qualified class name and warnings suppressions for
  ScanInterpreter uses left from #2806
* Delete unused static get method in ZooInfoViewer introduced in #2751
---
 .../org/apache/accumulo/core/conf/Property.java|  4 +-
 .../accumulo/server/conf/util/ZooInfoViewer.java   |  7 ---
 .../main/java/org/apache/accumulo/shell/Shell.java |  4 +-
 .../accumulo/shell/commands/DeleteManyCommand.java |  4 +-
 .../accumulo/shell/commands/GrepCommand.java   |  4 +-
 .../accumulo/shell/commands/MaxRowCommand.java |  4 +-
 .../accumulo/shell/commands/ScanCommand.java   | 72 +-
 7 files changed, 54 insertions(+), 45 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index 100d8f4c69..9b252449c0 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -40,7 +40,6 @@ import org.apache.accumulo.core.spi.scan.ScanDispatcher;
 import org.apache.accumulo.core.spi.scan.ScanPrioritizer;
 import org.apache.accumulo.core.spi.scan.SimpleScanDispatcher;
 import org.apache.accumulo.core.util.format.DefaultFormatter;
-import org.apache.accumulo.core.util.interpret.DefaultScanInterpreter;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Preconditions;
@@ -1114,7 +1113,8 @@ public enum Property {
   TABLE_FORMATTER_CLASS("table.formatter", DefaultFormatter.class.getName(), 
PropertyType.STRING,
   "The Formatter class to apply on results in the shell", "1.4.0"),
   @Deprecated(since = "2.1.0")
-  TABLE_INTERPRETER_CLASS("table.interepreter", 
DefaultScanInterpreter.class.getName(),
+  TABLE_INTERPRETER_CLASS("table.interepreter",
+  
org.apache.accumulo.core.util.interpret.DefaultScanInterpreter.class.getName(),
   PropertyType.STRING,
   "The ScanInterpreter class to apply on scan arguments in the shell. "
   + "Note that this property is deprecated and will be removed in a 
future version.",
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
index ed54c72707..d7d2283025 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
@@ -517,15 +517,8 @@ public class ZooInfoViewer implements KeywordExecutable {
   }
 
   private static class NullWatcher extends PropStoreWatcher {
-
 public NullWatcher(ReadyMonitor zkReadyMonitor) {
   super(zkReadyMonitor);
 }
-
-public static NullWatcher get() {
-  ReadyMonitor monitor = new ReadyMonitor("property-printer", 2000);
-  monitor.setReady();
-  return new NullWatcher(monitor);
-}
   }
 }
diff --git a/shell/src/main/java/org/apache/accumulo/shell/Shell.java 
b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
index fa7e6946b8..863ffb011c 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java
@@ -120,7 +120,6 @@ import 
org.apache.accumulo.shell.commands.ImportDirectoryCommand;
 import org.apache.accumulo.shell.commands.ImportTableCommand;
 import org.apache.accumulo.shell.commands.InfoCommand;
 import org.apache.accumulo.shell.commands.InsertCommand;
-import org.apache.accumulo.shell.commands.InterpreterCommand;
 import org.apache.accumulo.shell.commands.ListBulkCommand;
 import org.apache.accumulo.shell.commands.ListCompactionsCommand;
 import org.apache.accumulo.shell.commands.ListIterCommand;
@@ -379,7 +378,8 @@ public class Shell extends ShellOptions implements 
KeywordExecutable {
 
 @SuppressWarnings("deprecation")
 Command[] dataCommands = {new DeleteCommand(), new DeleteManyCommand(), 
new DeleteRowsCommand(),
-new EGrepCommand(), new FormatterCommand(), new InterpreterCommand(), 
new GrepCommand(),
+new EGrepCommand(), new FormatterCommand(),
+new org.apache.accumulo.shell.commands.InterpreterCommand(), new 
GrepCommand(),
 new ImportDirectoryCommand(), new InsertCommand(), new 
MaxRowCommand(), new ScanCommand()};
 @SuppressWarnings("deprecation")
 Command[] debuggingCommands =
diff --git 
a/shell/src/main/java/org/a

[accumulo-website] branch next-release updated (bc77dd3b -> abcf56fc)

2022-06-14 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch next-release
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


from bc77dd3b Update API doc to include iterators (#308)
 add abcf56fc Add Fate cancel command and new SUBMITTED status (#324)

No new revisions were added by this update.

Summary of changes:
 _docs-2/administration/fate.md | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)



[accumulo-testing] branch main updated: Use ZK 3.5.10 by default

2022-06-08 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new e193354  Use ZK 3.5.10 by default
e193354 is described below

commit e19335493bf30b6e86bc5e898554c92d28fcd7fd
Author: Christopher Tubbs 
AuthorDate: Wed Jun 8 17:22:27 2022 -0400

Use ZK 3.5.10 by default

* Use ZK 3.5.10, to be consistent with the current default Accumulo
  version
* Update parent POM version, and formatter/impsort plugins
* Update NOTICE for current copyright year
---
 NOTICE  |  2 +-
 conf/env.sh |  2 +-
 pom.xml | 14 +++---
 3 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/NOTICE b/NOTICE
index 3b9aef1..99111d9 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Accumulo Testing
-Copyright 2011-2019 The Apache Software Foundation
+Copyright 2011-2022 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/conf/env.sh b/conf/env.sh
index 7ba69ba..7bea8da 100644
--- a/conf/env.sh
+++ b/conf/env.sh
@@ -61,7 +61,7 @@ fi
 # Versions set below will be what is included in the shaded jar
 ACCUMULO_VERSION="$("$ACCUMULO_HOME"/bin/accumulo version | grep -v 'DEBUG')"; 
export ACCUMULO_VERSION
 HADOOP_VERSION="$(hadoop version | head -n1 | awk '{print $2}')"; export 
HADOOP_VERSION
-export ZOOKEEPER_VERSION=3.5.9
+export ZOOKEEPER_VERSION=3.5.10
 # Path to shaded test jar
 at_home=$( cd "$( dirname "$conf_dir" )" && pwd )
 export TEST_JAR_PATH="${at_home}/target/accumulo-testing-shaded.jar"
diff --git a/pom.xml b/pom.xml
index b0a3444..257f0dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache
 apache
-24
+26
   
   org.apache.accumulo
   accumulo-testing
@@ -157,18 +157,13 @@
 
   net.revelc.code.formatter
   formatter-maven-plugin
-  2.17.0
+  2.19.0
   
 ${eclipseFormatterStyle}
 ${maven.compiler.source}
 ${maven.compiler.source}
 
${maven.compiler.target}
-
-  **/thrift/*.java
-  **/proto/*.java
-
 LF
-true
 true
 true
 true
@@ -179,13 +174,10 @@
 
   net.revelc.code
   impsort-maven-plugin
-  1.6.2
+  1.7.0
   
 true
 java.,javax.,jakarta.,org.,com.
-
-  **/thrift/*.java
-
   
 
   



[accumulo] branch main updated: Update default log configuration (#2759)

2022-06-08 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 354190f080 Update default log configuration (#2759)
354190f080 is described below

commit 354190f080035457b7ea74729795babfcecbd7f7
Author: Christopher Tubbs 
AuthorDate: Wed Jun 8 12:46:30 2022 -0400

Update default log configuration (#2759)

Change default filename and size triggering limit for rolling log files:

* Drop hour from filename to use daily logs instead of hourly
* Use 4 digit year to disambiguate between 2 digit time components
* Put year first so file names sort better and read more clearly
* Increase size trigger from 100MB to 512MB to roll less often
---
 assemble/conf/log4j2-service.properties | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/assemble/conf/log4j2-service.properties 
b/assemble/conf/log4j2-service.properties
index 4e0302531d..2355f87632 100644
--- a/assemble/conf/log4j2-service.properties
+++ b/assemble/conf/log4j2-service.properties
@@ -40,7 +40,7 @@ appender.console.filter.threshold.level = info
 appender.rolling.type = RollingFile
 appender.rolling.name = LogFiles
 appender.rolling.fileName = ${filename}.log
-appender.rolling.filePattern = ${filename}-%d{MM-dd-yy-HH}-%i.log.gz
+appender.rolling.filePattern = ${filename}-%d{-MM-dd}-%i.log.gz
 appender.rolling.layout.type = PatternLayout
 appender.rolling.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n
 appender.rolling.policies.type = Policies
@@ -48,14 +48,14 @@ appender.rolling.policies.time.type = 
TimeBasedTriggeringPolicy
 appender.rolling.policies.time.interval = 1
 appender.rolling.policies.time.modulate = true
 appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
-appender.rolling.policies.size.size=100MB
+appender.rolling.policies.size.size=512MB
 appender.rolling.strategy.type = DefaultRolloverStrategy
 appender.rolling.strategy.max = 10
 
 appender.audit.type = RollingFile
 appender.audit.name = AuditLogFiles
 appender.audit.fileName = ${filename}.audit
-appender.audit.filePattern = ${filename}-%d{MM-dd-yy-HH}-%i.audit.gz
+appender.audit.filePattern = ${filename}-%d{-MM-dd}-%i.audit.gz
 appender.audit.layout.type = PatternLayout
 appender.audit.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n
 appender.audit.policies.type = Policies
@@ -63,7 +63,7 @@ appender.audit.policies.time.type = TimeBasedTriggeringPolicy
 appender.audit.policies.time.interval = 1
 appender.audit.policies.time.modulate = true
 appender.audit.policies.size.type = SizeBasedTriggeringPolicy
-appender.audit.policies.size.size=100MB
+appender.audit.policies.size.size=512MB
 appender.audit.strategy.type = DefaultRolloverStrategy
 appender.audit.strategy.max = 10
 



[accumulo] branch main updated: Bump versions (#2758)

2022-06-07 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new c1fa24df99 Bump versions (#2758)
c1fa24df99 is described below

commit c1fa24df9963cd877be23852ded637705b3bf7d6
Author: Christopher Tubbs 
AuthorDate: Wed Jun 8 00:59:20 2022 -0400

Bump versions (#2758)

* Bump versions of plugins and dependencies
* Update CI config to use ZooKeeper 3.5.10 with reload4j
* Keep jersey back at 3.0.4 to avoid breaking WebViews IT, since
  jakartaee-bom is not yet available for jakartaee 10, and I don't
  want to manage individual  versions for jakarta.ws.rs-api outside
  the bom
* Exclude slf4j transitive deps from minikdc, regardless of whether it's
  reload4j or log4j, depending on the hadoop.version
* Fix TransformTokenIT breakage by ensuring auths are set for
  recursive delete

Also try to fix some flaky tests:
* Update verifyUp to check for instanceId in the retry loop, but don't
  iterate over the instance names, since that's pointless; also update
  exceptions to be more specific than basic RuntimeException (newer
  versions of spotbugs will complain about this)
* Also avoid printing a NullPointerException in LogSorter when the input
  stream is closed (seen turning testing these changes)
---
 .github/workflows/maven.yaml   |  2 +-
 .../clientImpl/mapreduce/lib/ConfiguratorBase.java |  2 +-
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   | 52 +++
 pom.xml| 73 ++
 .../apache/accumulo/server/init/Initialize.java|  2 +-
 .../server/conf/store/impl/ZooPropLoaderTest.java  | 18 +++---
 .../server/problems/ProblemReportTest.java |  2 +-
 .../ZooAuthenticationKeyDistributorTest.java   |  2 +-
 .../replication/SequentialWorkAssignerTest.java|  5 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |  4 +-
 .../accumulo/test/conf/util/TransformTokenIT.java  | 10 +--
 11 files changed, 81 insertions(+), 91 deletions(-)

diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
index c1f0bcfa61..7500efbcab 100644
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@ -67,7 +67,7 @@ jobs:
 profile:
   - {name: 'unit-tests',javaver: 11, args: 'verify -PskipQA 
-DskipTests=false'}
   - {name: 'qa-checks', javaver: 11, args: 'verify javadoc:jar 
-Psec-bugs -DskipTests -Dspotbugs.timeout=360'}
-  - {name: 'compat',javaver: 11, args: 'package -DskipTests 
-Dhadoop.version=3.0.3 -Dzookeeper.version=3.5.9'}
+  - {name: 'compat',javaver: 11, args: 'package -DskipTests 
-Dhadoop.version=3.0.3 -Dzookeeper.version=3.5.10'}
   - {name: 'errorprone',javaver: 11, args: 'verify 
-Perrorprone,skipQA'}
   - {name: 'jdk17', javaver: 17, args: 'verify -DskipITs'}
   fail-fast: false
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/mapreduce/lib/ConfiguratorBase.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/mapreduce/lib/ConfiguratorBase.java
index 95f45434f2..6f73dcb25f 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/mapreduce/lib/ConfiguratorBase.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/mapreduce/lib/ConfiguratorBase.java
@@ -511,7 +511,7 @@ public class ConfiguratorBase {
   throws AccumuloException, AccumuloSecurityException {
 return ((org.apache.accumulo.core.clientImpl.ConnectorImpl) 
getInstance(CLASS, conf)
 .getConnector(getPrincipal(CLASS, conf), getAuthenticationToken(CLASS, 
conf)))
-.getAccumuloClient();
+.getAccumuloClient();
   }
 
   public static ClientContext client(Class CLASS,
diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
index 1c1dc25ebe..d116fc1221 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -33,6 +33,7 @@ import java.io.UncheckedIOException;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -162,7 +163,7 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
 if 
(Boolean.valueOf(config.getSiteConfig().get(Property.TSERV_NATIVEMAP_ENABLED.getKey()))
 && config.getNativeLibPaths().length == 0
 && 
!config.getSystemProperties().containsKey("acc

[accumulo] branch main updated: Clear property caches on RPC request for props (#2740)

2022-06-01 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 48165863bf Clear property caches on RPC request for props (#2740)
48165863bf is described below

commit 48165863bf359b2e0ddf4cddbcc6f33f7ffe4ce7
Author: Christopher Tubbs 
AuthorDate: Wed Jun 1 17:50:02 2022 -0400

Clear property caches on RPC request for props (#2740)

Mitigation for test instability in #2739
* Clear namespace, table, and system property cache entries when that
  particular configuration is being requested from the client

API improvements for PropStore
* Rename PropCacheKey to PropStoreKey, since it's a first-class citizen
  of the PropStore interface
* Add getCache() method to PropStore, because it is expected that
  PropStores are caching, so this makes it explicit
* Use .getCache().remove() instead of casting to ZooPropStore and
  simulating a ZK change event to remove an item from the cache to force
  it to reload
---
 .../server/client/ClientServiceHandler.java|   6 ++
 .../server/conf/NamespaceConfiguration.java|   6 +-
 .../accumulo/server/conf/SystemConfiguration.java  |   4 +-
 .../server/conf/ZooBasedConfiguration.java |  22 ++--
 .../server/conf/store/NamespacePropKey.java|   2 +-
 .../accumulo/server/conf/store/PropCache.java  |   7 +-
 .../server/conf/store/PropChangeListener.java  |   6 +-
 .../accumulo/server/conf/store/PropStore.java  |  32 +++---
 .../store/{PropCacheKey.java => PropStoreKey.java} |  16 +--
 .../accumulo/server/conf/store/SystemPropKey.java  |   2 +-
 .../accumulo/server/conf/store/TablePropKey.java   |   2 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |  31 +++---
 .../server/conf/store/impl/PropStoreEventTask.java |  30 +++---
 .../server/conf/store/impl/PropStoreWatcher.java   |  62 +--
 .../server/conf/store/impl/ZooPropLoader.java  |  38 +++
 .../server/conf/store/impl/ZooPropStore.java   | 114 +++--
 .../server/conf/util/ConfigTransformer.java|  78 +++---
 .../accumulo/server/conf/util/PropSnapshot.java|  30 +++---
 .../accumulo/server/conf/util/TransformToken.java  |   8 +-
 .../server/conf/NamespaceConfigurationTest.java|   6 +-
 ...PropCacheKeyTest.java => PropStoreKeyTest.java} |  16 +--
 .../server/conf/store/impl/PropStoreEventTest.java |   8 +-
 .../server/conf/store/impl/ZooPropLoaderTest.java  | 100 +-
 .../server/conf/store/impl/ZooPropStoreTest.java   |  66 ++--
 .../test/conf/store/PropCacheCaffeineImplZkIT.java |   6 +-
 .../test/conf/store/PropStoreZooKeeperIT.java  |  22 ++--
 .../accumulo/test/conf/store/ZooBasedConfigIT.java |  14 +--
 27 files changed, 376 insertions(+), 358 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
 
b/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
index 440cac12ce..5ca421a5ba 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
@@ -60,6 +60,9 @@ import org.apache.accumulo.core.security.TablePermission;
 import org.apache.accumulo.core.securityImpl.thrift.TCredentials;
 import org.apache.accumulo.core.trace.thrift.TInfo;
 import org.apache.accumulo.server.ServerContext;
+import org.apache.accumulo.server.conf.store.NamespacePropKey;
+import org.apache.accumulo.server.conf.store.SystemPropKey;
+import org.apache.accumulo.server.conf.store.TablePropKey;
 import org.apache.accumulo.server.security.SecurityOperation;
 import org.apache.accumulo.server.util.ServerBulkImportStatus;
 import org.apache.accumulo.server.util.TableDiskUsage;
@@ -305,6 +308,7 @@ public class ClientServiceHandler implements 
ClientService.Iface {
   ConfigurationType type) throws TException {
 switch (type) {
   case CURRENT:
+context.getPropStore().getCache().remove(SystemPropKey.of(context));
 return conf(credentials, context.getConfiguration());
   case SITE:
 return conf(credentials, context.getSiteConfiguration());
@@ -318,6 +322,7 @@ public class ClientServiceHandler implements 
ClientService.Iface {
   public Map getTableConfiguration(TInfo tinfo, TCredentials 
credentials,
   String tableName) throws TException, ThriftTableOperationException {
 TableId tableId = checkTableId(context, tableName, null);
+context.getPropStore().getCache().remove(TablePropKey.of(context, 
tableId));
 AccumuloConfiguration config = context.getTableConfiguration(tableId);
 return conf(credentials, config);
   }
@@ -458,6 +463,7 @@ public class ClientServiceHandler implements 
ClientService.Iface {
  

[accumulo] branch main updated: Minor grammar fix in Admin StopAllCommand description

2022-06-01 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new c4b0ee33de Minor grammar fix in Admin StopAllCommand description
c4b0ee33de is described below

commit c4b0ee33dee4863c34a8532c85bef9852bff5895
Author: Christopher Tubbs 
AuthorDate: Wed Jun 1 14:26:02 2022 -0400

Minor grammar fix in Admin StopAllCommand description

Follow on from #2748, fix a minor grammar issue by making the
description more succinct (replace "all of the X" with "all X") and
replace "tablets servers" with "tablet servers"
---
 server/base/src/main/java/org/apache/accumulo/server/util/Admin.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
index 912c5113c8..d4f6bb3c32 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
@@ -115,7 +115,7 @@ public class Admin implements KeywordExecutable {
   @Parameters(commandDescription = "stop the master (DEPRECATED -- use 
stopManager instead)")
   static class StopMasterCommand {}
 
-  @Parameters(commandDescription = "stop all of the tablets servers and 
manager")
+  @Parameters(commandDescription = "stop all tablet servers and the manager")
   static class StopAllCommand {}
 
   @Parameters(commandDescription = "list Accumulo instances in zookeeper")



[accumulo] branch main updated: Improve deprecated property resolution (#2730)

2022-06-01 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 56e0253a86 Improve deprecated property resolution (#2730)
56e0253a86 is described below

commit 56e0253a86534b662a47913785925baf489cb4ac
Author: Christopher Tubbs 
AuthorDate: Wed Jun 1 14:04:48 2022 -0400

Improve deprecated property resolution (#2730)

* Improve deprecated property resolution

Resolve a sequence of deprecation changes, instead of just a single
deprecation with a replacement (for example, if property A is deprecated
and replaced with property B, then B is deprecated and replaced with C,
we'd resolve like:

```java
  resolve(C, B, A);
```

  rather than:

```java
  resolve(C, resolve(B, A));
```

Also:

* To avoid errors, ensure that the current property isn't deprecated
* Check that the deprecated properties are actually deprecated
* Add a unit test case
* Update the javadoc

* Don't make method final (messes with EasyMock)
---
 .../accumulo/core/conf/AccumuloConfiguration.java  | 27 ++
 .../core/conf/AccumuloConfigurationTest.java   | 41 ++
 .../org/apache/accumulo/tserver/log/DfsLogger.java | 13 ---
 .../org/apache/accumulo/tserver/tablet/Tablet.java |  6 ++--
 4 files changed, 71 insertions(+), 16 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 17b48ab7b4..7652db531f 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -35,6 +35,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Function;
 import java.util.function.Predicate;
+import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
@@ -94,14 +95,28 @@ public abstract class AccumuloConfiguration implements 
Iterable 
c.name.equals("hulksmash")).findFirst().get();
 assertEquals(44, sec8.maxThreads);
   }
+
+  // note: this is hard to test if there aren't any deprecated properties
+  // if that's the case, just comment this test out or create a dummy 
deprecated property
+  @SuppressWarnings("deprecation")
+  @Test
+  public void testResolveDeprecated() {
+var conf = new ConfigurationCopy();
+
+// deprecated first argument
+var e1 = assertThrows(IllegalArgumentException.class, () -> conf
+.resolve(Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI, 
Property.INSTANCE_DFS_URI));
+assertEquals("Unexpected deprecated INSTANCE_DFS_DIR", e1.getMessage());
+
+// non-deprecated second argument
+var e2 = assertThrows(IllegalArgumentException.class,
+() -> conf.resolve(Property.INSTANCE_VOLUMES, 
Property.INSTANCE_DFS_DIR,
+Property.INSTANCE_SECRET, Property.INSTANCE_DFS_DIR, 
Property.INSTANCE_VOLUMES));
+assertEquals("Unexpected non-deprecated [INSTANCE_SECRET, 
INSTANCE_VOLUMES]", e2.getMessage());
+
+// empty second argument always resolves to non-deprecated first argument
+assertSame(Property.INSTANCE_VOLUMES, 
conf.resolve(Property.INSTANCE_VOLUMES));
+
+// none are set, resolve to non-deprecated
+assertSame(Property.INSTANCE_VOLUMES, 
conf.resolve(Property.INSTANCE_VOLUMES,
+Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
+
+// resolve to first deprecated argument that's set; here, it's the final 
one
+conf.set(Property.INSTANCE_DFS_URI, "");
+assertSame(Property.INSTANCE_DFS_URI, 
conf.resolve(Property.INSTANCE_VOLUMES,
+Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
+
+// resolve to first deprecated argument that's set; now, it's the first 
one because both are set
+conf.set(Property.INSTANCE_DFS_DIR, "");
+assertSame(Property.INSTANCE_DFS_DIR, 
conf.resolve(Property.INSTANCE_VOLUMES,
+Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
+
+// every property is set, so resolve to the non-deprecated one
+conf.set(Property.INSTANCE_VOLUMES, "");
+assertSame(Property.INSTANCE_VOLUMES, 
conf.resolve(Property.INSTANCE_VOLUMES,
+Property.INSTANCE_DFS_DIR, Property.INSTANCE_DFS_URI));
+  }
 }
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
index ac9ee8b878..e6c07cf0ee 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
+++ 
b/server/tserver/s

[accumulo] branch main updated: Allow overriding default env without editing conf (#2746)

2022-05-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new fa21795f9e Allow overriding default env without editing conf (#2746)
fa21795f9e is described below

commit fa21795f9e7d7ca2da4a24b62f7fc69af9775de1
Author: Christopher Tubbs 
AuthorDate: Sat May 28 16:34:57 2022 -0400

Allow overriding default env without editing conf (#2746)

Update the default conf/accumulo-env.sh script to support overriding
some of the default java options it sets by placing user-provided
options specified by the `ACCUMULO_JAVA_OPTS` environment variable after
any options set in the script (because Java will likely take the last
value set on the command-line).

This fixes #2744
---
 assemble/conf/accumulo-env.sh | 30 --
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/assemble/conf/accumulo-env.sh b/assemble/conf/accumulo-env.sh
index 7286d05a8b..46109c9eea 100644
--- a/assemble/conf/accumulo-env.sh
+++ b/assemble/conf/accumulo-env.sh
@@ -73,11 +73,13 @@ export CLASSPATH
 
 ## JVM options set for all processes. Extra options can be passed in by 
setting ACCUMULO_JAVA_OPTS to an array of options.
 read -r -a accumulo_initial_opts < <(echo "$ACCUMULO_JAVA_OPTS")
-JAVA_OPTS=("${accumulo_initial_opts[@]}"
+JAVA_OPTS=(
   '-XX:OnOutOfMemoryError=kill -9 %p'
   '-XX:-OmitStackTraceInFastThrow'
   '-Djava.net.preferIPv4Stack=true'
-  "-Daccumulo.native.lib.path=${lib}/native")
+  "-Daccumulo.native.lib.path=${lib}/native"
+  "${accumulo_initial_opts[@]}"
+)
 
 ## Make sure Accumulo native libraries are built since they are enabled by 
default
 # bin is set by calling script that sources this env file
@@ -88,35 +90,35 @@ JAVA_OPTS=("${accumulo_initial_opts[@]}"
 # cmd is set by calling script that sources this env file
 #shellcheck disable=SC2154
 case "$cmd" in
-  manager | master) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx512m' '-Xms512m') ;;
-  monitor) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
-  gc) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
-  tserver) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx768m' '-Xms768m') ;;
-  compaction-coordinator) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx512m' '-Xms512m') 
;;
-  compactor) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
-  *) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms64m') ;;
+  manager | master) JAVA_OPTS=('-Xmx512m' '-Xms512m' "${JAVA_OPTS[@]}") ;;
+  monitor) JAVA_OPTS=('-Xmx256m' '-Xms256m' "${JAVA_OPTS[@]}") ;;
+  gc) JAVA_OPTS=('-Xmx256m' '-Xms256m' "${JAVA_OPTS[@]}") ;;
+  tserver) JAVA_OPTS=('-Xmx768m' '-Xms768m' "${JAVA_OPTS[@]}") ;;
+  compaction-coordinator) JAVA_OPTS=('-Xmx512m' '-Xms512m' "${JAVA_OPTS[@]}") 
;;
+  compactor) JAVA_OPTS=('-Xmx256m' '-Xms256m' "${JAVA_OPTS[@]}") ;;
+  *) JAVA_OPTS=('-Xmx256m' '-Xms64m' "${JAVA_OPTS[@]}") ;;
 esac
 
 ## JVM options set for logging. Review log4j2.properties file to see how they 
are used.
-JAVA_OPTS=("${JAVA_OPTS[@]}"
-  "-Daccumulo.log.dir=${ACCUMULO_LOG_DIR}"
+JAVA_OPTS=("-Daccumulo.log.dir=${ACCUMULO_LOG_DIR}"
   "-Daccumulo.application=${cmd}${ACCUMULO_SERVICE_INSTANCE}_$(hostname)"
   "-Daccumulo.metrics.service.instance=${ACCUMULO_SERVICE_INSTANCE}"
   
"-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector"
   "-Dotel.service.name=${cmd}${ACCUMULO_SERVICE_INSTANCE}"
+  "${JAVA_OPTS[@]}"
 )
 
 ## Optionally setup OpenTelemetry SDK AutoConfigure
 ## See 
https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
-#JAVA_OPTS=("${JAVA_OPTS[@]}"  "-Dotel.traces.exporter=jaeger")
+#JAVA_OPTS=('-Dotel.traces.exporter=jaeger' "${JAVA_OPTS[@]}")
 
 ## Optionally setup OpenTelemetry Java Agent
 ## See https://github.com/open-telemetry/opentelemetry-java-instrumentation 
for more options
-#JAVA_OPTS=("${JAVA_OPTS[@]}"  
"-javaagent:path/to/opentelemetry-javaagent-all.jar")
+#JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent-all.jar' 
"${JAVA_OPTS[@]}")
 
 case "$cmd" in
   monitor | gc | manager | master | tserver | compaction-coordinator | 
compactor)
-JAVA_OPTS=("${JAVA_OPTS[@]}" 
"-Dlog4j.configurationFile=log4j2-service.properties")
+JAVA_OPTS=('-Dlog4j.configurationFile=log4j2-service.properties' 
"${JAVA_OPTS[@]}")
 ;;
   *)
 # let log4j use its default behavior (log4j2.properties, etc.)



[accumulo] branch main updated: Remove TODOs and rename PerTableVolumeChooser (#2734)

2022-05-25 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 9777a7e789 Remove TODOs and rename PerTableVolumeChooser (#2734)
9777a7e789 is described below

commit 9777a7e789c3668f1d9619a2a7538495f95b7cfc
Author: Luke Foster <84727868+foste...@users.noreply.github.com>
AuthorDate: Wed May 25 23:00:23 2022 -0400

Remove TODOs and rename PerTableVolumeChooser (#2734)

* Remove TODOs and rename PerTableVolumeChooser
* Rename corresponding test and clean up spotbugs suppressions

Co-authored-by: Christopher Tubbs 
---
 .../fs/{PerTableVolumeChooser.java => DelegatingChooser.java} | 10 --
 ...TableVolumeChooserTest.java => DelegatingChooserTest.java} |  6 +++---
 .../org/apache/accumulo/server/fs/PerTableVolumeChooser.java  | 11 +++
 .../main/java/org/apache/accumulo/test/VolumeChooserIT.java   |  6 +++---
 4 files changed, 13 insertions(+), 20 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooser.java 
b/core/src/main/java/org/apache/accumulo/core/spi/fs/DelegatingChooser.java
similarity index 94%
rename from 
core/src/main/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooser.java
rename to 
core/src/main/java/org/apache/accumulo/core/spi/fs/DelegatingChooser.java
index 39ae0e52fb..0f99c73030 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooser.java
+++ b/core/src/main/java/org/apache/accumulo/core/spi/fs/DelegatingChooser.java
@@ -30,16 +30,14 @@ import org.slf4j.LoggerFactory;
 /**
  * A {@link VolumeChooser} that delegates to another volume chooser based on 
other properties:
  * table.custom.volume.chooser for tables, and 
general.custom.volume.chooser.scoped for scopes.
- * general.custom.volume.chooser.{scope} can override the system wide setting 
for
- * general.custom.volume.chooser.scoped. At the this this was written, the 
only known scope was
+ * general.custom.volume.chooser.{scope} can override the system-wide setting 
for
+ * general.custom.volume.chooser.scoped. At the time this was written, the 
only known scope was
  * "logger".
  *
  * @since 2.1.0
  */
-public class PerTableVolumeChooser implements VolumeChooser {
-  // TODO rename this class to DelegatingChooser? It delegates for more than 
just per-table scope
-  private static final Logger log = 
LoggerFactory.getLogger(PerTableVolumeChooser.class);
-  // TODO Add hint of expected size to construction, see ACCUMULO-3410
+public class DelegatingChooser implements VolumeChooser {
+  private static final Logger log = 
LoggerFactory.getLogger(DelegatingChooser.class);
   /* Track VolumeChooser instances so they can keep state. */
   private final ConcurrentHashMap 
tableSpecificChooserCache =
   new ConcurrentHashMap<>();
diff --git 
a/core/src/test/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooserTest.java
 b/core/src/test/java/org/apache/accumulo/core/spi/fs/DelegatingChooserTest.java
similarity index 98%
rename from 
core/src/test/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooserTest.java
rename to 
core/src/test/java/org/apache/accumulo/core/spi/fs/DelegatingChooserTest.java
index 955bb01b01..eaad25c3bf 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/spi/fs/PerTableVolumeChooserTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/spi/fs/DelegatingChooserTest.java
@@ -37,7 +37,7 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-public class PerTableVolumeChooserTest {
+public class DelegatingChooserTest {
 
   private static final String TABLE_CUSTOM_SUFFIX = "volume.chooser";
 
@@ -47,7 +47,7 @@ public class PerTableVolumeChooserTest {
 
   private ServiceEnvironment serviceEnv;
   private Configuration tableConf;
-  private PerTableVolumeChooser chooser;
+  private DelegatingChooser chooser;
   private Configuration systemConf;
 
   public static class MockChooser1 extends RandomVolumeChooser {}
@@ -58,7 +58,7 @@ public class PerTableVolumeChooserTest {
   public void before() {
 serviceEnv = createStrictMock(ServiceEnvironment.class);
 
-chooser = new PerTableVolumeChooser();
+chooser = new DelegatingChooser();
 
 tableConf = createStrictMock(Configuration.class);
 systemConf = createStrictMock(Configuration.class);
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/fs/PerTableVolumeChooser.java
 
b/server/base/src/main/java/org/apache/accumulo/server/fs/PerTableVolumeChooser.java
index 7b1008465e..888b1d774e 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/fs/PerTableVolumeChooser.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/fs/PerTableVolumeChooser.java
@@ -18,19 +18,14 @@
  */
 package or

[accumulo] branch main updated: Rename GENERAL_SIMPLETIMER_THREADPOOL_SIZE (#2712)

2022-05-24 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 6286a2542d Rename GENERAL_SIMPLETIMER_THREADPOOL_SIZE (#2712)
6286a2542d is described below

commit 6286a2542d30dc04647f402b1e32963358b80ff3
Author: kitswas <90329875+kits...@users.noreply.github.com>
AuthorDate: Wed May 25 07:48:48 2022 +0530

Rename GENERAL_SIMPLETIMER_THREADPOOL_SIZE (#2712)

* Added property with new name, `GENERAL_THREADPOOL_SIZE`
* Marked old property as Deprecated
* Reconcile which property is used, depending on which the
  user has set in the configuration
* Updated usages

Co-authored-by: Christopher Tubbs 
---
 core/src/main/java/org/apache/accumulo/core/conf/Property.java |  4 
 .../org/apache/accumulo/core/util/threads/ThreadPools.java |  9 +++--
 .../accumulo/test/compaction/ExternalCompactionTestUtils.java  |  2 +-
 .../java/org/apache/accumulo/test/fate/zookeeper/FateIT.java   | 10 +-
 4 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index e8631762b2..3c31a2fc60 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -244,6 +244,10 @@ public enum Property {
   GENERAL_OPENTELEMETRY_ENABLED("general.opentelemetry.enabled", "false", 
PropertyType.BOOLEAN,
   "Enables tracing functionality using OpenTelemetry (assuming 
OpenTelemetry is configured).",
   "2.1.0"),
+  GENERAL_THREADPOOL_SIZE("general.server.threadpool.size", "1", 
PropertyType.COUNT,
+  "The number of threads to use for server-internal scheduled tasks", 
"2.1.0"),
+  @Deprecated(since = "2.1.0")
+  @ReplacedBy(property = GENERAL_THREADPOOL_SIZE)
   
GENERAL_SIMPLETIMER_THREADPOOL_SIZE("general.server.simpletimer.threadpool.size",
 "1",
   PropertyType.COUNT, "The number of threads to use for server-internal 
scheduled tasks",
   "1.7.0"),
diff --git 
a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java 
b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
index 548852a409..c81d421573 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
@@ -266,6 +266,9 @@ public class ThreadPools {
   case GENERAL_SIMPLETIMER_THREADPOOL_SIZE:
 return createScheduledExecutorService(conf.getCount(p), "SimpleTimer",
 emitThreadPoolMetrics);
+  case GENERAL_THREADPOOL_SIZE:
+return createScheduledExecutorService(conf.getCount(p), 
"GeneralExecutor",
+emitThreadPoolMetrics);
   case MANAGER_BULK_THREADPOOL_SIZE:
 return createFixedThreadPool(conf.getCount(p),
 conf.getTimeInMillis(Property.MANAGER_BULK_THREADPOOL_TIMEOUT), 
MILLISECONDS,
@@ -514,8 +517,10 @@ public class ThreadPools {
*/
   public ScheduledThreadPoolExecutor
   createGeneralScheduledExecutorService(AccumuloConfiguration conf) {
-return (ScheduledThreadPoolExecutor) createExecutorService(conf,
-Property.GENERAL_SIMPLETIMER_THREADPOOL_SIZE, true);
+@SuppressWarnings("deprecation")
+Property oldProp = Property.GENERAL_SIMPLETIMER_THREADPOOL_SIZE;
+Property prop = conf.resolve(Property.GENERAL_THREADPOOL_SIZE, oldProp);
+return (ScheduledThreadPoolExecutor) createExecutorService(conf, prop, 
true);
   }
 
   /**
diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
index 6c10ab2d9a..8e53ca8012 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
@@ -233,7 +233,7 @@ public class ExternalCompactionTestUtils {
 
cfg.setProperty(Property.COMPACTION_COORDINATOR_TSERVER_COMPACTION_CHECK_INTERVAL,
 "3s");
 cfg.setProperty(Property.COMPACTION_COORDINATOR_THRIFTCLIENT_PORTSEARCH, 
"true");
 cfg.setProperty(Property.COMPACTOR_PORTSEARCH, "true");
-cfg.setProperty(Property.GENERAL_SIMPLETIMER_THREADPOOL_SIZE, "10");
+cfg.setProperty(Property.GENERAL_THREADPOOL_SIZE, "10");
 cfg.setProperty(Property.MANAGER_FATE_THREADPOOL_SIZE, "10");
 // use raw local file system so walogs sync and flush will work
 coreSite.set("fs.file.impl&qu

[accumulo] branch main updated: Use href links in Javadoc (#2724)

2022-05-24 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 4dc53e7c8c Use href links in Javadoc (#2724)
4dc53e7c8c is described below

commit 4dc53e7c8ce41f59b424eadac6a30b6a626b93fc
Author: Mike Miller 
AuthorDate: Tue May 24 18:48:31 2022 +

Use href links in Javadoc (#2724)


Co-authored-by: Christopher Tubbs 
Co-authored-by: Luke Foster <84727868+foste...@users.noreply.github.com>
Co-authored-by: Dom G. 
---
 .../main/java/org/apache/accumulo/core/client/Accumulo.java| 10 ++
 .../org/apache/accumulo/core/client/admin/TableOperations.java |  3 ++-
 .../apache/accumulo/core/clientImpl/TableOperationsImpl.java   |  4 ++--
 .../java/org/apache/accumulo/core/file/BloomFilterLayer.java   |  4 ++--
 .../core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java   |  7 ---
 .../accumulo/core/iterators/user/IntersectingIterator.java |  5 +++--
 .../accumulo/cluster/standalone/StandaloneClusterControl.java  |  4 ++--
 .../accumulo/manager/tableOps/tableImport/ImportTable.java |  4 +---
 .../accumulo/monitor/rest/problems/ProblemsResource.java   |  4 ++--
 shell/src/main/java/org/apache/accumulo/shell/Shell.java   |  4 ++--
 10 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java 
b/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
index 09ab3cf3c2..ddf198e7f8 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
@@ -70,8 +70,9 @@ public final class Accumulo {
* 
* 
*
-   * For a list of all client properties see the documentation on the Accumulo 
website:
-   * https://accumulo.apache.org/docs/2.x/configuration/client-properties
+   * For a list of all client properties, see the documentation on the
+   * https://accumulo.apache.org/docs/2.x/configuration/client-properties;>Accumulo
+   * website
*
* @return a builder object for Accumulo clients
*/
@@ -90,8 +91,9 @@ public final class Accumulo {
* 
* 
*
-   * For a list of all client properties see the documentation on the Accumulo 
website:
-   * https://accumulo.apache.org/docs/2.x/configuration/client-properties
+   * For a list of all client properties, see the documentation on the
+   * https://accumulo.apache.org/docs/2.x/configuration/client-properties;>Accumulo
+   * website
*
* @return a builder object for client Properties
*/
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java 
b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
index c3a8855bd1..56c1247afa 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
@@ -204,7 +204,8 @@ public interface TableOperations {
* To avoid losing access to a table it can be cloned and the clone taken 
offline for export.
*
* 
-   * See https://github.com/apache/accumulo-examples/blob/main/docs/export.md
+   * See the https://github.com/apache/accumulo-examples/blob/main/docs/export.md;>export
+   * example
*
* @param tableName
*  Name of the table to export.
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
index 112beb5dde..4d0019b491 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
@@ -1620,8 +1620,8 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
   }
 
   /**
-   * Prevent potential CRLF injection into logs from read in user data See
-   * https://find-sec-bugs.github.io/bugs.htm#CRLF_INJECTION_LOGS
+   * Prevent potential CRLF injection into logs from read in user data. See the
+   * https://find-sec-bugs.github.io/bugs.htm#CRLF_INJECTION_LOGS;>bug 
description
*/
   private String sanitize(String msg) {
 return msg.replaceAll("[\r\n]", "");
diff --git 
a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java 
b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
index 10e8db3bec..873cfb22af 100644
--- a/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
@@ -280,8 +280,8 @@ public class BloomFilterLayer {
 }
 
 /**
- * Prevent potential CRLF injection into logs from read in user data See
- * https://find-sec-bugs.github.io/bugs.htm#CRLF_INJECTI

[accumulo] branch main updated (be780ddadf -> 811a9e33b4)

2022-05-24 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from be780ddadf Match new[] with delete[] (#2723)
 add 811a9e33b4 Simplify config handling for compaction tests (#2727)

No new revisions were added by this update.

Summary of changes:
 core/pom.xml   |   2 +-
 .../core/clientImpl/ClientConfConverter.java   |   5 +
 .../accumulo/core/conf/AccumuloConfiguration.java  |   4 +-
 server/base/pom.xml|   2 +-
 .../TCredentialsUpdatingInvocationHandlerTest.java |  57 +++-
 .../server/security/UserImpersonationTest.java |  40 +-
 .../coordinator/CompactionCoordinator.java |  21 ++-
 .../coordinator/CompactionCoordinatorTest.java | 143 ++---
 .../org/apache/accumulo/compactor/Compactor.java   |  23 ++--
 .../apache/accumulo/compactor/CompactorTest.java   |  92 ++---
 server/tserver/pom.xml |   2 +-
 11 files changed, 166 insertions(+), 225 deletions(-)



[accumulo] branch main updated: Match new[] with delete[] (#2723)

2022-05-24 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new be780ddadf Match new[] with delete[] (#2723)
be780ddadf is described below

commit be780ddadfc731ef5d260859fdf2af12f8426c7e
Author: Nicholas Coltharp 
AuthorDate: Tue May 24 17:12:45 2022 +

Match new[] with delete[] (#2723)

The C++ standard requires that memory allocated via operator new[] be
freed via operator delete[], but we were freeing it via operator
delete() in a few places. This was causing warnings on GCC12 with
the -Wmismatched-new-delete flag.
---
 server/native/src/main/c++/nativeMap/Field.h  | 2 +-
 server/native/src/main/c++/nativeMap/SubKey.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/native/src/main/c++/nativeMap/Field.h 
b/server/native/src/main/c++/nativeMap/Field.h
index 0a49162705..e83c074599 100644
--- a/server/native/src/main/c++/nativeMap/Field.h
+++ b/server/native/src/main/c++/nativeMap/Field.h
@@ -138,7 +138,7 @@ struct LocalField : public Field {
   }
 
   ~LocalField(){
-delete(field);
+delete[] field;
   }
 };
 #endif
diff --git a/server/native/src/main/c++/nativeMap/SubKey.h 
b/server/native/src/main/c++/nativeMap/SubKey.h
index 9de128721f..db4c4de26d 100644
--- a/server/native/src/main/c++/nativeMap/SubKey.h
+++ b/server/native/src/main/c++/nativeMap/SubKey.h
@@ -183,7 +183,7 @@ struct LocalSubKey : public SubKey {
   LocalSubKey(JNIEnv *env, jbyteArray cf, jbyteArray cq, jbyteArray cv, jlong 
ts, jboolean del):SubKey(NULL, env, cf, cq, cv, ts, del, INT_MAX){}
 
   ~LocalSubKey(){
-delete(keyData);
+delete[] keyData;
   }
 };
 



[accumulo] branch main updated: Ensure ServerUtilOpts is parsed (#2726)

2022-05-23 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 4b1675e657 Ensure ServerUtilOpts is parsed (#2726)
4b1675e657 is described below

commit 4b1675e657a749c1562f9a9d9be02e2cd78b692f
Author: Christopher Tubbs 
AuthorDate: Mon May 23 21:17:25 2022 -0400

Ensure ServerUtilOpts is parsed (#2726)

As follow-on to #2651, I noticed that the help no longer worked:
`bin/accumulo org.apache.accumulo.server.util.ChangeSecret --help`

This change ensures that the ServerUtilOpts is parsed in ChangeSecret,
so that if the config file name is specified, the ServerContext can
still be constructed correctly, and so the help feature works correctly
to view the command's usage.

Also, remove an unnecessary subclass of ServerUtilOpts that didn't add
any new parameters, and use the ServerUtilOpts class directly in
ConfigPropertyUpgrader.
---
 .../org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java  | 4 +---
 .../src/main/java/org/apache/accumulo/server/util/ChangeSecret.java   | 3 +++
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
index 1888bca17c..2ee232a6c7 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
@@ -67,7 +67,7 @@ public class ConfigPropertyUpgrader implements 
KeywordExecutable {
 
   @Override
   public void execute(final String[] args) throws Exception {
-ConfigPropertyUpgrader.Opts opts = new ConfigPropertyUpgrader.Opts();
+ServerUtilOpts opts = new ServerUtilOpts();
 opts.parseArgs(ConfigPropertyUpgrader.class.getName(), args);
 
 ServerContext context = opts.getServerContext();
@@ -133,6 +133,4 @@ public class ConfigPropertyUpgrader implements 
KeywordExecutable {
 }
   }
 
-  static class Opts extends ServerUtilOpts {}
-
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java
index 127720a644..a5f7fa4a3c 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java
@@ -59,6 +59,8 @@ public class ChangeSecret {
 var hadoopConf = new Configuration();
 
 ServerUtilOpts opts = new ServerUtilOpts();
+opts.parseArgs(ChangeSecret.class.getName(), args);
+
 ServerContext context = opts.getServerContext();
 try (var fs = context.getVolumeManager()) {
   ServerDirs serverDirs = new ServerDirs(siteConfig, hadoopConf);
@@ -66,6 +68,7 @@ public class ChangeSecret {
 
   String oldPass = String.valueOf(System.console().readPassword("Old 
secret: "));
   String newPass = String.valueOf(System.console().readPassword("New 
secret: "));
+
   Span span = TraceUtil.startSpan(ChangeSecret.class, "main");
   try (Scope scope = span.makeCurrent()) {
 



[accumulo] branch main updated: Improve JS formatter script (#2720)

2022-05-23 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new fb898bce2f Improve JS formatter script (#2720)
fb898bce2f is described below

commit fb898bce2f617dee3f68dd37fafd9f71db7c19c9
Author: Christopher Tubbs 
AuthorDate: Mon May 23 18:56:02 2022 -0400

Improve JS formatter script (#2720)

Improve script that formats the JavaScript by echoing the command used
to format, and falling back to formatting one file at a time to support
formatting using older versions of npm/npx

This fixes #2720 to support older versions of npm/npx

Also limit the echo-ing of commands in run-shellcheck.sh to only the
main command
---
 contrib/ci/run-shellcheck.sh |  3 ++-
 server/monitor/src/main/scripts/format-js.sh | 17 -
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/contrib/ci/run-shellcheck.sh b/contrib/ci/run-shellcheck.sh
index f42122feb5..f69ebbddfb 100755
--- a/contrib/ci/run-shellcheck.sh
+++ b/contrib/ci/run-shellcheck.sh
@@ -21,7 +21,8 @@
 # Run ShellCheck on all bash scripts
 
 set -e
-set -x
 
 mapfile -t filestocheck < <(shfmt -f .)
+
+set -x
 shellcheck -P SCRIPTDIR -x "${filestocheck[@]}"
diff --git a/server/monitor/src/main/scripts/format-js.sh 
b/server/monitor/src/main/scripts/format-js.sh
index d5b4052f4d..c84954591e 100755
--- a/server/monitor/src/main/scripts/format-js.sh
+++ b/server/monitor/src/main/scripts/format-js.sh
@@ -20,8 +20,23 @@
 
 # This script will attempt to format JavaScript files
 
+jsDir='src/main/resources/org/apache/accumulo/monitor/resources/js'
+
+function beautify() {
+  set -x
+  npx js-beautify@^1.14 -r -q -n -j -s 2 -f "$@"
+  { set +x; } 2>/dev/null
+}
+
 if hash npx 2>/dev/null; then
-  npx js-beautify -r -n -j -s 2 
src/main/resources/org/apache/accumulo/monitor/resources/js/*.js
+  echo "Found 'npx'; formatting JavaScript files (if needed) in place"
+  if ! beautify "$jsDir"/*.js; then
+echo "Error formatting files; you may be using an older version of npm/npx"
+echo "Attempting to format files one at a time..."
+for js in "$jsDir"/*.js; do
+  beautify "$js" || echo "Error formatting $js"
+done
+  fi
 else
   echo "Skipping formatting of JavaScript files, since 'npx' is not present"
 fi



[accumulo] branch main updated: Configure opportunistic formatting of JavaScript (#2720)

2022-05-23 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 3522f7f16f Configure opportunistic formatting of JavaScript (#2720)
3522f7f16f is described below

commit 3522f7f16f64bd70d690a5e737b85147af309858
Author: Christopher Tubbs 
AuthorDate: Mon May 23 16:38:18 2022 -0400

Configure opportunistic formatting of JavaScript (#2720)

As part of the formatting profile during the Maven build, attempt to
format JavaScript files in the monitor if the `npx` command is available
to run js-beautify

Include formatting changes to the monitor's JavaScript files

This fixes #2713
---
 server/monitor/pom.xml |  31 ++
 .../accumulo/monitor/resources/js/bulkImport.js|  96 ++--
 .../accumulo/monitor/resources/js/compactions.js   | 117 ++---
 .../org/apache/accumulo/monitor/resources/js/ec.js | 484 +++--
 .../org/apache/accumulo/monitor/resources/js/gc.js | 119 ++---
 .../accumulo/monitor/resources/js/listType.js  |  11 +-
 .../accumulo/monitor/resources/js/manager.js   |  70 ++-
 .../apache/accumulo/monitor/resources/js/navbar.js |  28 +-
 .../accumulo/monitor/resources/js/overview.js  | 120 ++---
 .../accumulo/monitor/resources/js/problems.js  |  90 ++--
 .../accumulo/monitor/resources/js/replication.js   |  11 +-
 .../apache/accumulo/monitor/resources/js/scans.js  |  85 ++--
 .../apache/accumulo/monitor/resources/js/server.js |  41 +-
 .../apache/accumulo/monitor/resources/js/show.js   |  33 +-
 .../accumulo/monitor/resources/js/summary.js   |  15 +-
 .../apache/accumulo/monitor/resources/js/table.js  |  45 +-
 .../accumulo/monitor/resources/js/tservers.js  | 378 
 server/monitor/src/main/scripts/format-js.sh   |  27 ++
 18 files changed, 995 insertions(+), 806 deletions(-)

diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml
index 20a7fdfd1e..d3846a66ab 100644
--- a/server/monitor/pom.xml
+++ b/server/monitor/pom.xml
@@ -244,4 +244,35 @@
   
 
   
+  
+
+  
+  autoformat
+  
+
+  !skipFormat
+
+  
+  
+
+  
+org.codehaus.mojo
+exec-maven-plugin
+
+  
+format-javascript
+
+  exec
+
+generate-sources
+
+  
${basedir}/src/main/scripts/format-js.sh
+
+  
+
+  
+
+  
+
+  
 
diff --git 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
index 5ef20d568c..7254db87d8 100644
--- 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
+++ 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/bulkImport.js
@@ -26,78 +26,76 @@
  * Generates the manager bulk import status table
  */
 function refreshBulkImportTable() {
-$("#bulkListTable tbody").html(EMPTY_ROW_THREE_CELLS);
+  $("#bulkListTable tbody").html(EMPTY_ROW_THREE_CELLS);
 
-// Get the bulk import data from the session
-var data = sessionStorage.bulkImports === undefined ?
-[] : JSON.parse(sessionStorage.bulkImports);
+  // Get the bulk import data from the session
+  var data = sessionStorage.bulkImports === undefined ? [] : 
JSON.parse(sessionStorage.bulkImports);
 
-// If the data is empty, clear table, otherwise populate
-if (data.length === 0 || data.bulkImport.length === 0) {
-return;
-}
-console.log("Populate bulkListTable with " + sessionStorage.bulkImports);
-var tableBodyHtml = "";
-$.each(data.bulkImport, function (key, val) {
-console.log("Append row " + key + " " + JSON.stringify(val) + " to 
bulkListTable");
-tableBodyHtml += "" + val.filename + "";
-tableBodyHtml += "" + new Date(val.age) + "";
-tableBodyHtml += "" + val.state + "";
-});
+  // If the data is empty, clear table, otherwise populate
+  if (data.length === 0 || data.bulkImport.length === 0) {
+return;
+  }
+  console.log("Populate bulkListTable with " + sessionStorage.bulkImports);
+  var tableBodyHtml = "";
+  $.each(data.bulkImport, function (key, val) {
+console.log("Append row " + key + " " + JSON.stringify(val) + " to 
bulkListTable");
+tableBodyHtml += "" + val.filename + "";
+tableBodyHtml += "" + new Date(val.age) + "";
+tableBodyHtml += &q

[accumulo] branch main updated: Keep new exception when closing socket (#2722)

2022-05-23 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new d3a02c9ccb Keep new exception when closing socket (#2722)
d3a02c9ccb is described below

commit d3a02c9ccb79548caf037d27aa9b60c2a6c6b698
Author: Christopher Tubbs 
AuthorDate: Mon May 23 12:25:06 2022 -0400

Keep new exception when closing socket (#2722)

When closing a socket as the result of an exception, also keep any
exception from the attempt to close it, appended to the original
exception as a suppressed exception
---
 core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java | 1 +
 1 file changed, 1 insertion(+)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java 
b/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
index a18f0b9e01..d214e483dd 100644
--- a/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
+++ b/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
@@ -114,6 +114,7 @@ public class TTimeoutTransport {
   if (socket != null)
 socket.close();
 } catch (IOException ioe) {
+  e.addSuppressed(ioe);
   log.error("Failed to close socket after unsuccessful I/O stream setup", 
e);
 }
   }



[accumulo-wikisearch] branch main updated: Remove unneeded transitive dependency management

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-wikisearch.git


The following commit(s) were added to refs/heads/main by this push:
 new 09df660  Remove unneeded transitive dependency management
09df660 is described below

commit 09df6600adc6859294a19f899fe04d284f001cf1
Author: Christopher Tubbs 
AuthorDate: Sat May 21 05:48:44 2022 -0400

Remove unneeded transitive dependency management
---
 pom.xml | 130 
 1 file changed, 7 insertions(+), 123 deletions(-)

diff --git a/pom.xml b/pom.xml
index f132844..1d6f650 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,30 +42,26 @@
 1.8
 2.0.1
 3.2.2
-1.5
 1.10
-2.5
 2.0.1
 2.4
-3.9
-1.0.1.Final
-29.0-jre
 3.1.1
-3.2.0-incubating
-2.1.0.GA
-4.13.1
 1.04
-1.2.16
-1.0
 7.1.0
 4.0.0
 1.2
 3.19.4
 0.12.0
-3.4.14
   
   
 
+  
+org.apache.accumulo
+accumulo-project
+${version.accumulo}
+pom
+import
+  
   
 javaee
 javaee-api
@@ -82,11 +78,6 @@
   
 
   
-  
-org.apache.htrace
-htrace-core
-${version.htrace}
-  
   
 com.google.code.findbugs
 jsr305
@@ -97,47 +88,6 @@
 commons-collections
 ${version.collections}
   
-  
-commons-io
-commons-io
-2.5
-  
-  
-commons-logging
-commons-logging
-1.1.1
-  
-  
-org.apache.commons
-commons-math3
-3.6.1
-  
-  
-junit
-junit
-${version.junit}
-  
-  
-org.apache.zookeeper
-zookeeper
-${version.zookeeper}
-
-  
-jline
-jline
-  
-
-  
-  
-log4j
-log4j
-${version.log4j}
-  
-  
-com.google.guava
-guava
-${version.guava}
-  
   
 com.google.protobuf
 protobuf-java
@@ -158,27 +108,6 @@
 jersey-core
 1.11
   
-  
-com.sun.jersey
-jersey-server
-1.11
-
-  
-asm
-asm
-  
-
-  
-  
-commons-codec
-commons-codec
-${version.commons-codec}
-  
-  
-org.apache.commons
-commons-configuration2
-${version.commons-configuration2}
-  
   
 commons-configuration
 commons-configuration
@@ -189,21 +118,6 @@
 commons-lang
 ${version.commons-lang}
   
-  
-org.apache.commons
-commons-lang3
-${version.commons-lang3}
-  
-  
-org.apache.accumulo
-accumulo-core
-${version.accumulo}
-  
-  
-org.apache.accumulo
-accumulo-trace
-${version.accumulo}
-  
   
 org.apache.accumulo
 wikisearch-ingest
@@ -251,36 +165,6 @@
 checker-qual
 2.11.1
   
-  
-org.slf4j
-slf4j-api
-1.7.30
-  
-  
-org.codehaus.jackson
-jackson-core-asl
-1.9.13
-  
-  
-org.codehaus.jackson
-jackson-mapper-asl
-1.9.13
-  
-  
-com.fasterxml.jackson.core
-jackson-annotations
-2.7.8
-  
-  
-com.google.code.gson
-gson
-2.9.0
-  
-  
-commons-beanutils
-commons-beanutils
-1.9.4
-  
 
   
   



[accumulo-wikisearch] branch main updated: Add GitHub Actions build

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-wikisearch.git


The following commit(s) were added to refs/heads/main by this push:
 new 1780616  Add GitHub Actions build
1780616 is described below

commit 1780616010387ede67a569ca7981891caf716c79
Author: Christopher Tubbs 
AuthorDate: Sat May 21 05:20:19 2022 -0400

Add GitHub Actions build
---
 .github/workflows/maven.yaml | 58 
 1 file changed, 58 insertions(+)

diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
new file mode 100644
index 000..547a9aa
--- /dev/null
+++ b/.github/workflows/maven.yaml
@@ -0,0 +1,58 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# This workflow will build a Java project with Maven
+# See also:
+#   
https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: mvn
+
+on:
+  push:
+branches: [ '*' ]
+  pull_request:
+branches: [ '*' ]
+
+jobs:
+  # fast build to populate the local maven repository cache
+  verify:
+runs-on: ubuntu-latest
+steps:
+- uses: actions/checkout@v3
+- name: Set up JDK 11
+  uses: actions/setup-java@v3
+  with:
+distribution: adopt
+java-version: 11
+- name: Cache local maven repository
+  uses: actions/cache@v3
+  with:
+path: |
+  ~/.m2/repository/
+  !~/.m2/repository/org/apache/accumulo
+key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+restore-keys: ${{ runner.os }}-m2
+- name: Show the first log message
+  run: git log -n1
+- name: Build with Maven
+  timeout-minutes: 5
+  run: mvn -B -V -e -ntp "-Dstyle.color=always" clean verify
+  env:
+MAVEN_OPTS: -Djansi.force=true
+



[accumulo-wikisearch] branch main updated: Regenerate proto files

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-wikisearch.git


The following commit(s) were added to refs/heads/main by this push:
 new fc181f8  Regenerate proto files
fc181f8 is described below

commit fc181f8878c25d68c02564a28fd6cf42ba4a529e
Author: Christopher Tubbs 
AuthorDate: Sat May 21 05:16:56 2022 -0400

Regenerate proto files
---
 .../examples/wikisearch/protobuf/TermWeight.java   | 432 ---
 .../accumulo/examples/wikisearch/protobuf/Uid.java | 460 ++---
 2 files changed, 609 insertions(+), 283 deletions(-)

diff --git 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/protobuf/TermWeight.java
 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/protobuf/TermWeight.java
index 7ae7aca..d3d3cc0 100644
--- 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/protobuf/TermWeight.java
+++ 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/protobuf/TermWeight.java
@@ -5,33 +5,44 @@ package org.apache.accumulo.examples.wikisearch.protobuf;
 
 public final class TermWeight {
   private TermWeight() {}
+  public static void registerAllExtensions(
+  com.google.protobuf.ExtensionRegistryLite registry) {
+  }
+
   public static void registerAllExtensions(
   com.google.protobuf.ExtensionRegistry registry) {
+registerAllExtensions(
+(com.google.protobuf.ExtensionRegistryLite) registry);
   }
-  public interface InfoOrBuilder
-  extends com.google.protobuf.MessageOrBuilder {
+  public interface InfoOrBuilder extends
+  // 
@@protoc_insertion_point(interface_extends:org.apache.accumulo.examples.wikisearch.protobuf.Info)
+  com.google.protobuf.MessageOrBuilder {
 
-// required float normalizedTermFrequency = 1;
 /**
  * required float normalizedTermFrequency = 1;
+ * @return Whether the normalizedTermFrequency field is set.
  */
 boolean hasNormalizedTermFrequency();
 /**
  * required float normalizedTermFrequency = 1;
+ * @return The normalizedTermFrequency.
  */
 float getNormalizedTermFrequency();
 
-// repeated uint32 wordOffset = 2;
 /**
  * repeated uint32 wordOffset = 2;
+ * @return A list containing the wordOffset.
  */
 java.util.List getWordOffsetList();
 /**
  * repeated uint32 wordOffset = 2;
+ * @return The count of wordOffset.
  */
 int getWordOffsetCount();
 /**
  * repeated uint32 wordOffset = 2;
+ * @param index The index of the element to return.
+ * @return The wordOffset at the given index.
  */
 int getWordOffset(int index);
   }
@@ -39,35 +50,38 @@ public final class TermWeight {
* Protobuf type {@code 
org.apache.accumulo.examples.wikisearch.protobuf.Info}
*/
   public static final class Info extends
-  com.google.protobuf.GeneratedMessage
-  implements InfoOrBuilder {
+  com.google.protobuf.GeneratedMessageV3 implements
+  // 
@@protoc_insertion_point(message_implements:org.apache.accumulo.examples.wikisearch.protobuf.Info)
+  InfoOrBuilder {
+  private static final long serialVersionUID = 0L;
 // Use Info.newBuilder() to construct.
-private Info(com.google.protobuf.GeneratedMessage.Builder builder) {
+private Info(com.google.protobuf.GeneratedMessageV3.Builder builder) {
   super(builder);
-  this.unknownFields = builder.getUnknownFields();
 }
-private Info(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-private static final Info defaultInstance;
-public static Info getDefaultInstance() {
-  return defaultInstance;
+private Info() {
+  wordOffset_ = emptyIntList();
 }
 
-public Info getDefaultInstanceForType() {
-  return defaultInstance;
+@java.lang.Override
+@SuppressWarnings({"unused"})
+protected java.lang.Object newInstance(
+UnusedPrivateParameter unused) {
+  return new Info();
 }
 
-private final com.google.protobuf.UnknownFieldSet unknownFields;
 @java.lang.Override
 public final com.google.protobuf.UnknownFieldSet
-getUnknownFields() {
+getUnknownFields() {
   return this.unknownFields;
 }
 private Info(
 com.google.protobuf.CodedInputStream input,
 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
 throws com.google.protobuf.InvalidProtocolBufferException {
-  initFields();
+  this();
+  if (extensionRegistry == null) {
+throw new java.lang.NullPointerException();
+  }
   int mutable_bitField0_ = 0;
   com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   com.google.protobuf.UnknownFieldSet.newBuilder();
@@ -79,49 +93,49 @@ public final class TermWeight {
 case 0:
   done = true;
  

[accumulo-wikisearch] branch main updated: Bump to release version of Accumulo 2.0.1

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-wikisearch.git


The following commit(s) were added to refs/heads/main by this push:
 new f0803eb  Bump to release version of Accumulo 2.0.1
f0803eb is described below

commit f0803ebb165b40318a353f90637fbf934cc88de7
Author: Christopher Tubbs 
AuthorDate: Sat May 21 05:12:37 2022 -0400

Bump to release version of Accumulo 2.0.1
---
 .../iterator/GlobalIndexUidCombiner.java   | 14 +
 .../wikisearch/iterator/TextIndexCombiner.java | 36 --
 pom.xml| 26 ++--
 .../iterator/DefaultIteratorEnvironment.java   |  5 ++-
 4 files changed, 54 insertions(+), 27 deletions(-)

diff --git 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/GlobalIndexUidCombiner.java
 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/GlobalIndexUidCombiner.java
index 4702521..98a434e 100644
--- 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/GlobalIndexUidCombiner.java
+++ 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/GlobalIndexUidCombiner.java
@@ -21,6 +21,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
 
+import org.apache.accumulo.core.client.lexicoder.Encoder;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.iterators.IteratorEnvironment;
@@ -37,17 +38,18 @@ import com.google.protobuf.InvalidProtocolBufferException;
 public class GlobalIndexUidCombiner extends TypedValueCombiner {
   public static final Encoder UID_LIST_ENCODER = new 
UidListEncoder();
   public static final int MAX = 20;
-  
+
   @Override
-  public void init(SortedKeyValueIterator source, 
Map options, IteratorEnvironment env) throws IOException {
+  public void init(SortedKeyValueIterator source, 
Map options,
+  IteratorEnvironment env) throws IOException {
 super.init(source, options, env);
 setEncoder(UID_LIST_ENCODER);
   }
-  
+
   @Override
   public Uid.List typedReduce(Key key, Iterator iter) {
 Uid.List.Builder builder = Uid.List.newBuilder();
-HashSet uids = new HashSet();
+HashSet uids = new HashSet<>();
 boolean seenIgnore = false;
 long count = 0;
 while (iter.hasNext()) {
@@ -73,13 +75,13 @@ public class GlobalIndexUidCombiner extends 
TypedValueCombiner {
 }
 return builder.build();
   }
-  
+
   public static class UidListEncoder implements Encoder {
 @Override
 public byte[] encode(Uid.List v) {
   return v.toByteArray();
 }
-
+
 @Override
 public Uid.List decode(byte[] b) {
   if (b.length == 0)
diff --git 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/TextIndexCombiner.java
 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/TextIndexCombiner.java
index 85f3e1e..6e28206 100644
--- 
a/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/TextIndexCombiner.java
+++ 
b/ingest/src/main/java/org/apache/accumulo/examples/wikisearch/iterator/TextIndexCombiner.java
@@ -23,6 +23,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.accumulo.core.client.lexicoder.Encoder;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.iterators.IteratorEnvironment;
@@ -37,23 +38,24 @@ import com.google.protobuf.InvalidProtocolBufferException;
  * 
  */
 public class TextIndexCombiner extends TypedValueCombiner {
-  public static final Encoder TERMWEIGHT_INFO_ENCODER = new 
TermWeightInfoEncoder();
-  
+  public static final Encoder TERMWEIGHT_INFO_ENCODER =
+  new TermWeightInfoEncoder();
+
   @Override
   public TermWeight.Info typedReduce(Key key, Iterator iter) {
 TermWeight.Info.Builder builder = TermWeight.Info.newBuilder();
-List offsets = new ArrayList();
+List offsets = new ArrayList<>();
 float normalizedTermFrequency = 0f;
-
+
 while (iter.hasNext()) {
   TermWeight.Info info = iter.next();
   if (null == info)
 continue;
-  
+
   // Add each offset into the list maintaining sorted order
   for (int offset : info.getWordOffsetList()) {
 int pos = Collections.binarySearch(offsets, offset);
-
+
 if (pos < 0) {
   // Undo the transform on the insertion point
   offsets.add((-1 * pos) - 1, offset);
@@ -61,33 +63,34 @@ public class TextIndexCombiner extends 
TypedValueCombiner {
   offsets.add(pos, offset);
 }
   }
-  
+
   if (info.getNormalizedTermFrequency() > 0) {
 normalizedTermFrequency += info.getNormalizedTermFrequency();
   }
 }
-
+
 // Keep the sorted order we

[accumulo-wikisearch] branch main updated: bump gson version to 2.9.0 - match accumul pom.xml (#11)

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-wikisearch.git


The following commit(s) were added to refs/heads/main by this push:
 new 776fb23  bump gson version to 2.9.0 - match accumul pom.xml (#11)
776fb23 is described below

commit 776fb23709918d822271176fb596c6ff932958ac
Author: EdColeman 
AuthorDate: Sat May 21 08:44:19 2022 +

bump gson version to 2.9.0 - match accumul pom.xml (#11)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 931f261..d6dc6b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -252,7 +252,7 @@
   
 com.google.code.gson
 gson
-2.8.5
+2.9.0
   
   
 commons-beanutils



[accumulo-classloaders] branch main updated: update versions to match accumulo pom.xml (#10)

2022-05-21 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-classloaders.git


The following commit(s) were added to refs/heads/main by this push:
 new 45e01ab  update versions to match accumulo pom.xml (#10)
45e01ab is described below

commit 45e01abeaef47dde4efdbaabfaafbf6189650e9b
Author: EdColeman 
AuthorDate: Sat May 21 08:41:30 2022 +

update versions to match accumulo pom.xml (#10)
---
 pom.xml | 26 ++
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8678c61..f127466 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,12 +90,14 @@
 
contrib/Eclipse-Accumulo-Codestyle.xml
 
 
+3.3.0
 false
 11
 11
 11
 
 
2020-08-27T15:56:15Z
+1.7.35
 
source-release-tar
   
   
@@ -104,17 +106,17 @@
   
 com.github.spotbugs
 spotbugs-annotations
-4.1.2
+4.5.3
   
   
 com.google.protobuf
 protobuf-java
-3.7.1
+3.19.2
   
   
 org.apache.commons
 commons-vfs2
-2.6.0
+2.9.0
 
   
 org.apache.hadoop
@@ -131,7 +133,7 @@
   
 commons-io
 commons-io
-2.7
+2.8.0
 provided
   
   
@@ -159,25 +161,25 @@
   
 org.apache.hadoop
 hadoop-client-api
-3.2.1
+${hadoop.version}
 provided
   
   
 org.apache.logging.log4j
 log4j-1.2-api
-2.13.1
+2.17.2
 provided
   
   
 org.slf4j
 slf4j-api
-1.7.30
+${slf4j.version}
 provided
   
   
 junit
 junit
-4.13
+4.13.2
 test
   
   
@@ -189,25 +191,25 @@
   
 org.apache.hadoop
 hadoop-client-minicluster
-3.2.1
+${hadoop.version}
 test
   
   
 org.apache.hadoop
 hadoop-client-runtime
-3.2.1
+${hadoop.version}
 test
   
   
 org.apache.hadoop
 hadoop-hdfs-client
-3.2.1
+${hadoop.version}
 test
   
   
 org.apache.logging.log4j
 log4j-slf4j-impl
-2.13.1
+2.17.2
 test
   
 



[accumulo-classloaders] branch main updated: bump gson version to match accumulo pom.xml (#7)

2022-05-20 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-classloaders.git


The following commit(s) were added to refs/heads/main by this push:
 new 09ab78b  bump gson version to match accumulo pom.xml (#7)
09ab78b is described below

commit 09ab78ba0881fe539d7cd978367ddd62f9d2fad8
Author: EdColeman 
AuthorDate: Fri May 20 22:44:37 2022 +

bump gson version to match accumulo pom.xml (#7)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6690863..8678c61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,7 +125,7 @@
   
 com.google.code.gson
 gson
-2.8.6
+2.9.0
 provided
   
   



[accumulo] branch main updated (ed5e188a92 -> cdc957f222)

2022-05-17 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from ed5e188a92 Update documentation with purpose of the "cache" (#2714)
 add c55821213f General improvements to CI (#2715)
 new cdc957f222 Merge branch '1.10'

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:



[accumulo] 01/01: Merge branch '1.10'

2022-05-17 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit cdc957f222849a110d395addcfb0303109257096
Merge: ed5e188a92 c55821213f
Author: Christopher Tubbs 
AuthorDate: Tue May 17 17:10:02 2022 -0400

Merge branch '1.10'




[accumulo] branch main updated: Bump libthrift to 0.16.0 (#2706)

2022-05-16 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 250fdaa0a9 Bump libthrift to 0.16.0 (#2706)
250fdaa0a9 is described below

commit 250fdaa0a9d2c9956ce2c89e8bff873a15545af8
Author: Christopher Tubbs 
AuthorDate: Mon May 16 08:32:04 2022 -0400

Bump libthrift to 0.16.0 (#2706)
---
 core/src/main/scripts/generate-thrift.sh| 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/ClientService.java   | 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/ConfigurationType.java   | 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/SecurityErrorCode.java   | 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/TDiskUsage.java  | 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/TableOperation.java  | 2 +-
 .../accumulo/core/clientImpl/thrift/TableOperationExceptionType.java| 2 +-
 .../core/clientImpl/thrift/ThriftNotActiveServiceException.java | 2 +-
 .../apache/accumulo/core/clientImpl/thrift/ThriftSecurityException.java | 2 +-
 .../accumulo/core/clientImpl/thrift/ThriftTableOperationException.java  | 2 +-
 .../org/apache/accumulo/core/clientImpl/thrift/ThriftTest.java  | 2 +-
 .../accumulo/core/compaction/thrift/CompactionCoordinatorService.java   | 2 +-
 .../org/apache/accumulo/core/compaction/thrift/CompactorService.java| 2 +-
 .../org/apache/accumulo/core/compaction/thrift/TCompactionState.java| 2 +-
 .../apache/accumulo/core/compaction/thrift/TCompactionStatusUpdate.java | 2 +-
 .../org/apache/accumulo/core/compaction/thrift/TExternalCompaction.java | 2 +-
 .../apache/accumulo/core/compaction/thrift/TExternalCompactionList.java | 2 +-
 .../accumulo/core/compaction/thrift/UnknownCompactionIdException.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/InitialMultiScan.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/InitialScan.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/IterInfo.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/MapFileInfo.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/MultiScanResult.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/ScanResult.java| 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TCMResult.java | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TCMStatus.java | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TColumn.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TCondition.java| 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TConditionalMutation.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TConditionalSession.java   | 2 +-
 .../accumulo/core/dataImpl/thrift/TConstraintViolationSummary.java  | 2 +-
 .../thrift-gen-java/org/apache/accumulo/core/dataImpl/thrift/TKey.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TKeyExtent.java| 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TKeyValue.java | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TMutation.java | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TRange.java| 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TRowRange.java | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TSummaries.java| 2 +-
 .../apache/accumulo/core/dataImpl/thrift/TSummarizerConfiguration.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TSummary.java  | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/TSummaryRequest.java   | 2 +-
 .../org/apache/accumulo/core/dataImpl/thrift/UpdateErrors.java  | 2 +-
 .../org/apache/accumulo/core/gc/thrift/GCMonitorService.java| 2 +-
 .../thrift-gen-java/org/apache/accumulo/core/gc/thrift/GCStatus.java| 2 +-
 .../org/apache/accumulo/core/gc/thrift/GcCycleStats.java| 2 +-
 .../org/apache/accumulo/core/manager/thrift/DeadServer.java | 2 +-
 .../org/apache/accumulo/core/manager/thrift/FateOperation.java  | 2 +-
 .../org/apache/accumulo/core/manager/thrift/FateService.java| 2 +-
 .../org/apache/accumulo/core/manager/thrift/ManagerClientService.java   | 2 +-
 .../org/apache/accumulo/core/manager/thrift/ManagerGoalState.java   | 2 +-
 .../org/apache/accumulo/core/manager/thrift/ManagerMonitorInfo.java | 2 +-
 .../org/apache/accumulo/core/manager/thrift/ManagerState.java   | 2 +-
 .../org/apache/accumulo/core/manager/thrift/RecoveryException.java  | 2 +-
 .../org/apache/accumulo/core/manager/thrift/TabletLoadState.java| 2 +-
 .../org/apache/accumulo/core/manager/thrift/TabletSplit.java| 2 +-
 .../org/apache/accumulo/core/master/thrift/BulkImportState.java | 2 +-
 .../org/apache/accumulo/core

[accumulo] branch main updated: Delete undefined thrift-generated files (#2705)

2022-05-16 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 1996f5db0d Delete undefined thrift-generated files (#2705)
1996f5db0d is described below

commit 1996f5db0d10c6c0f06250e08acd0cc6a00dc4fa
Author: Christopher Tubbs 
AuthorDate: Mon May 16 08:31:49 2022 -0400

Delete undefined thrift-generated files (#2705)

Update generate-thrift.sh to detect and delete any files that were
generated from a previous version of the `*.thrift` IDL files, but are
no longer generated in the current version.
---
 core/src/main/scripts/generate-thrift.sh   |  11 +-
 .../accumulo/core/compaction/thrift/Status.java| 824 -
 .../core/compaction/thrift/StatusUpdate.java   | 806 
 3 files changed, 10 insertions(+), 1631 deletions(-)

diff --git a/core/src/main/scripts/generate-thrift.sh 
b/core/src/main/scripts/generate-thrift.sh
index 1fc01c470f..9523d11cca 100755
--- a/core/src/main/scripts/generate-thrift.sh
+++ b/core/src/main/scripts/generate-thrift.sh
@@ -171,12 +171,21 @@ for d in "${PACKAGES_TO_GENERATE[@]}"; do
 esac
 mkdir -p "$DDIR"
 for file in "${FILE_SUFFIX[@]}"; do
+  mapfile -t ALL_EXISTING_FILES < <(find "$DDIR" -name "*$file")
+  for f in "${ALL_EXISTING_FILES[@]}"; do
+if [[ ! -f "$SDIR/$(basename "$f")-with-license" ]]; then
+  set -x
+  rm -f "$f"
+  { set +x; } 2>/dev/null
+fi
+  done
   mapfile -t ALL_LICENSE_FILES_TO_COPY < <(find "$SDIR" -name "*$file")
   for f in "${ALL_LICENSE_FILES_TO_COPY[@]}"; do
 DEST="$DDIR/$(basename "$f")"
 if ! cmp -s "${f}-with-license" "${DEST}"; then
-  echo cp -f "${f}-with-license" "${DEST}"
+  set -x
   cp -f "${f}-with-license" "${DEST}" || fail unable to copy files to 
java workspace
+  { set +x; } 2>/dev/null
 fi
   done
 done
diff --git 
a/core/src/main/thrift-gen-java/org/apache/accumulo/core/compaction/thrift/Status.java
 
b/core/src/main/thrift-gen-java/org/apache/accumulo/core/compaction/thrift/Status.java
deleted file mode 100644
index 4b94e1cd3a..00
--- 
a/core/src/main/thrift-gen-java/org/apache/accumulo/core/compaction/thrift/Status.java
+++ /dev/null
@@ -1,824 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/**
- * Autogenerated by Thrift Compiler (0.15.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.accumulo.core.compaction.thrift;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-public class Status implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("Status");
-
-  private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC 
= new org.apache.thrift.protocol.TField("timestamp", 
org.apache.thrift.protocol.TType.I64, (short)1);
-  private static final org.apache.thrift.protocol.TField 
EXTERNAL_COMPACTION_ID_FIELD_DESC = new 
org.apache.thrift.protocol.TField("externalCompactionId", 
org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField COMPACTOR_FIELD_DESC 
= new org.apache.thrift.protocol.TField("compactor", 
org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("state", 
org.apache.thrift.protocol.TType.I32, (short)4);
-  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = 
new org.apache.thrift.prot

[accumulo] branch main updated: Update test documentation to clarify purpose. (#2704)

2022-05-14 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 0642fb074c Update test documentation to clarify purpose. (#2704)
0642fb074c is described below

commit 0642fb074c9309fedd0e0f4ba4f3c43942c4b782
Author: EdColeman 
AuthorDate: Sat May 14 19:09:38 2022 -0400

Update test documentation to clarify purpose. (#2704)
---
 .../java/org/apache/accumulo/test/start/KeywordStartIT.java| 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java 
b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
index b58ef20e5c..ce0ce5bb61 100644
--- a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
@@ -102,8 +102,14 @@ public class KeywordStartIT {
 assertEquals(2, results.size());
   }
 
-  // Note: this test may fail in Eclipse, if the services files haven't been 
generated by the
-  // AutoService annotation processor
+  /**
+   * This test guards against accidental renaming or incorrect naming of the 
keyword used to
+   * identify the service. The keyword is used to access the commands via the 
command line, so
+   * changes are visible to users and should not be changed.
+   * 
+   * Note: this test may fail in Eclipse, if the services files haven't been 
generated by the
+   * AutoService annotation processor
+   */
   @Test
   @SuppressWarnings("deprecation")
   public void testExpectedClasses() {



[accumulo] branch main updated: Minor little cleanups (#2695)

2022-05-13 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 1a0bb1e3d5 Minor little cleanups (#2695)
1a0bb1e3d5 is described below

commit 1a0bb1e3d58583ab1f9a90dd1bbc33138345d85a
Author: Christopher Tubbs 
AuthorDate: Fri May 13 18:18:42 2022 -0400

Minor little cleanups (#2695)

* Remove or narrow unnecessary or broad warnings suppressions
* Shorten the lookup of annotations in Property.java
* Use Streams where they simplify or improve the processing of big loops
* Shorten a few lines with casts using var
* Improve use of generics in a few places
* Fix license header in proto generation to be consistent with project
* Avoid unnecessary reflection to load DistCp in ShellServerIT
* Remove unneeded super()
---
 .../accumulo/core/bloomfilter/BloomFilter.java |   4 +-
 .../DefaultContextClassLoaderFactory.java  |  30 --
 .../core/client/SampleNotPresentException.java |   4 +-
 .../core/client/mapred/RangeInputSplit.java|   4 +-
 .../security/tokens/AuthenticationToken.java   |   7 +-
 .../security/tokens/CredentialProviderToken.java   |   4 +-
 .../core/clientImpl/DelegationTokenImpl.java   |   1 -
 .../core/clientImpl/IsolationException.java|   4 +-
 .../core/clientImpl/mapred/BatchInputSplit.java|   4 +-
 .../org/apache/accumulo/core/conf/Property.java| 111 +++--
 .../core/file/blockfile/cache/lru/CachedBlock.java |   2 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   1 -
 .../file/blockfile/impl/CachableBlockFile.java |   1 -
 .../apache/accumulo/core/file/rfile/PrintInfo.java |   5 +-
 .../file/rfile/bcfile/MetaBlockAlreadyExists.java  |   3 +-
 .../file/rfile/bcfile/MetaBlockDoesNotExist.java   |   3 +-
 .../core/iterators/FirstEntryInRowIterator.java|   5 +-
 .../core/iterators/user/ColumnAgeOffFilter.java|   1 -
 .../core/iteratorsImpl/IteratorConfigUtil.java |  14 +--
 .../iteratorsImpl/conf/ColumnToClassMapping.java   |   5 +-
 .../system/IterationInterruptedException.java  |   4 +-
 .../core/singletons/SingletonReservation.java  |   1 -
 .../accumulo/core/spi/crypto/CryptoService.java|   4 +-
 .../accumulo/core/util/LocalityGroupUtil.java  |   3 +-
 .../java/org/apache/accumulo/fate/ZooStore.java|   7 +-
 .../core/clientImpl/TabletLocatorImplTest.java |   3 -
 .../apache/accumulo/core/crypto/CryptoTest.java|  12 +--
 .../hadoopImpl/mapred/BatchInputSplit.java |   4 +-
 .../hadoopImpl/mapred/RangeInputSplit.java |   4 +-
 .../miniclusterImpl/CleanShutdownMacTest.java  |  24 +++--
 .../server/compaction/RetryableThriftCall.java |   4 +-
 .../server/conf/store/impl/ZooPropLoader.java  |   4 +-
 .../accumulo/server/fs/PerTableVolumeChooser.java  |   1 -
 .../accumulo/server/fs/PreferredVolumeChooser.java |   1 -
 .../accumulo/server/fs/RandomVolumeChooser.java|   1 -
 .../server/fs/SpaceAwareVolumeChooser.java |   1 -
 .../server/replication/proto/Replication.java  |   2 +-
 server/base/src/main/scripts/generate-protobuf.sh  |  28 +++---
 .../conf/store/impl/PropCacheCaffeineImplTest.java |   3 +-
 .../accumulo/coordinator/QueueAndPriority.java |   1 -
 .../accumulo/manager/replication/WorkDriver.java   |   1 -
 .../util/logging/AccumuloMonitorAppender.java  |   5 +-
 .../java/org/apache/accumulo/tserver/MemKey.java   |   1 -
 .../accumulo/tserver/MemKeyConversionIterator.java |   1 -
 .../accumulo/tserver/TabletClientHandler.java  |   4 +-
 .../compaction/DefaultCompactionStrategy.java  |   1 -
 .../tserver/tablet/TabletClosedException.java  |   4 +-
 .../memory/LargestFirstMemoryManagerTest.java  |   1 -
 .../tablet/CompactableImplFileManagerTest.java |   1 -
 .../accumulo/shell/commands/SetIterCommand.java|  17 ++--
 .../compaction/ExternalDoNothingCompactor.java |  57 +--
 .../accumulo/test/metrics/TestStatsDSink.java  |   1 -
 .../apache/accumulo/test/shell/ShellServerIT.java  |  23 +
 .../org/apache/accumulo/test/util/CertUtils.java   |   1 -
 54 files changed, 170 insertions(+), 273 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java 
b/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java
index a251899f1d..f72d744123 100644
--- a/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java
+++ b/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java
@@ -76,9 +76,7 @@ public class BloomFilter extends Filter {
   BitSet bits;
 
   /** Default constructor - use with readFields */
-  public BloomFilter() {
-super();
-  }
+  public BloomFilter() {}
 
   /**
* Constructor
diff --git 
a/core/src/main/java/org/apache/accumulo/core/classloader

[accumulo] branch main updated: Add front-end console logging in Monitor (#2679)

2022-05-13 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 79fb796414 Add front-end console logging in Monitor (#2679)
79fb796414 is described below

commit 79fb7964143695cfd2c6e58c60121998ae46dbb8
Author: Emily <71804562+tch...@users.noreply.github.com>
AuthorDate: Fri May 13 18:09:16 2022 -0400

Add front-end console logging in Monitor (#2679)

* Add console logging to REST calls
* Consolidate REST GET call code into single function
* Consolidate REST POST code and update in-line args
---
 .../accumulo/monitor/resources/js/functions.js | 198 +
 1 file changed, 84 insertions(+), 114 deletions(-)

diff --git 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
index 88cd734ef5..ccbb8ac69a 100644
--- 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
+++ 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/functions.js
@@ -256,6 +256,55 @@ function createTableCell(index, sortValue, showValue) {
   '">' + showValue + '';
 }
 
+/**
+ * Performs GET call and builds console logging message from data received
+ * @param {string} call REST url called
+ * @param {string} sessionDataVar Session storage/global variable to hold REST 
data
+ */
+ function getJSONForTable(call, sessionDataVar){
+console.info("Retrieving " + call);
+
+return $.getJSON(call, function(data) {
+  var jsonDataStr = JSON.stringify(data);
+
+  //Handle data to be stored in global variable instead of session storage
+  if (sessionDataVar==="NAMESPACES") {
+NAMESPACES = jsonDataStr;
+console.debug("REST GET call to " + call +
+ " stored in " + sessionDataVar + " = " + NAMESPACES);
+  }
+  else {
+sessionStorage[sessionDataVar] = jsonDataStr;
+console.debug("REST GET request to " + call +
+  " stored in sessionStorage." + sessionDataVar + " = " + 
sessionStorage[sessionDataVar]);
+  }
+});   
+ }
+
+/**
+ * Performs POST call and builds console logging message if successful
+ * @param {string} call REST url called
+ * @param {string} callback POST callback to execute, if available
+ * @param {boolean} sanitize Whether to sanitize the call 
+ */
+ function doLoggedPostCall(call, callback, sanitize) {
+
+if (sanitize) {
+  // Change plus sign to use ASCII value to send it as a URL query 
parameter
+  call = sanitize(call);
+}
+
+console.log("POST call to " + call);
+
+// Make the rest call, passing success function callback
+$.post(call, function () {
+  console.debug("REST POST call to " + call + ": success");
+  if (callback != null){
+callback();
+  }
+});
+ }
+
 / REST Calls /
 
 /**
@@ -263,18 +312,14 @@ function createTableCell(index, sortValue, showValue) {
  * stores it on a sessionStorage variable
  */
 function getManager() {
-  return $.getJSON('/rest/manager', function(data) {
-sessionStorage.manager = JSON.stringify(data);
-  });
+  return getJSONForTable('/rest/manager', 'manager');
 }
 
 /**
  * REST GET call for the namespaces, stores it on a global variable
  */
 function getNamespaces() {
-  return $.getJSON('/rest/tables/namespaces', function(data) {
-NAMESPACES = JSON.stringify(data);
-  });
+  return getJSONForTable('/rest/tables/namespaces', 'NAMESPACES');
 }
 
 /**
@@ -288,7 +333,7 @@ function getNamespaceTables(namespaces) {
   // Creates a JSON object to store the tables
   var namespaceList = "";
 
-  /* 
+  /*
* If the namespace array include *, get all tables, otherwise,
* get tables from specific namespaces
*/
@@ -298,10 +343,7 @@ function getNamespaceTables(namespaces) {
 // Convert the list to a string for the REST call
 namespaceList = namespaces.toString();
 
-var call = '/rest/tables/namespaces/' + namespaceList;
-return $.getJSON(call, function(data) {
-  sessionStorage.tables = JSON.stringify(data);
-});
+return getJSONForTable('/rest/tables/namespaces/' + namespaceList, 
'tables');
   }
 }
 
@@ -309,9 +351,7 @@ function getNamespaceTables(namespaces) {
  * REST GET call for the tables, stores it on a sessionStorage variable
  */
 function getTables() {
-  return $.getJSON('/rest/tables', function(data) {
-sessionStorage.tables = JSON.stringify(data);
-  });
+  return getJSONForTable('/rest/tables', 'tables');
 }
 
 /**
@@ -320,17 +360,14 @@ function getTables() {
  * @param {string} server Dead Server ID
  */
 function clearDeadServers(server) 

[accumulo] branch main updated: Narrow static util method, writer not needed, use ZooReader (#2694)

2022-05-12 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new c847b73f27 Narrow static util method, writer not needed, use ZooReader 
(#2694)
c847b73f27 is described below

commit c847b73f27a7e39d87f2f9747e4aac5ec1054262
Author: EdColeman 
AuthorDate: Thu May 12 10:26:21 2022 -0400

Narrow static util method, writer not needed, use ZooReader (#2694)
---
 .../org/apache/accumulo/server/conf/store/impl/ZooPropStore.java | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
index f8449f0497..fcae0d7ba6 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
@@ -28,6 +28,7 @@ import java.util.function.BiFunction;
 
 import org.apache.accumulo.core.data.InstanceId;
 import org.apache.accumulo.core.metrics.MetricsUtil;
+import org.apache.accumulo.fate.zookeeper.ZooReader;
 import org.apache.accumulo.fate.zookeeper.ZooReaderWriter;
 import org.apache.accumulo.fate.zookeeper.ZooUtil;
 import org.apache.accumulo.server.conf.codec.VersionedPropCodec;
@@ -196,8 +197,8 @@ public class ZooPropStore implements PropStore, 
PropChangeListener {
*  the prop cache key
* @param watcher
*  a prop store watcher that will receive / handle ZooKeeper events.
-   * @param zrw
-   *  a ZooReaderWriter
+   * @param zooReader
+   *  a ZooReader
* @return the versioned properties or null if the node does not exist.
* @throws IOException
*   if the underlying data from the ZooKeeper node cannot be 
decoded.
@@ -207,11 +208,11 @@ public class ZooPropStore implements PropStore, 
PropChangeListener {
*   if the ZooKeeper read was interrupted.
*/
   public static @Nullable VersionedProperties readFromZk(final PropCacheKey 
propCacheKey,
-  final PropStoreWatcher watcher, final ZooReaderWriter zrw)
+  final PropStoreWatcher watcher, final ZooReader zooReader)
   throws IOException, KeeperException, InterruptedException {
 try {
   Stat stat = new Stat();
-  byte[] bytes = zrw.getData(propCacheKey.getPath(), watcher, stat);
+  byte[] bytes = zooReader.getData(propCacheKey.getPath(), watcher, stat);
   return codec.fromBytes(stat.getVersion(), bytes);
 } catch (KeeperException.NoNodeException ex) {
   // ignore no node - allow other exceptions to propagate



[accumulo] branch main updated: Improve MiniAccumuloClusterTest (#2693)

2022-05-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new ad2b545cd9 Improve MiniAccumuloClusterTest (#2693)
ad2b545cd9 is described below

commit ad2b545cd96336f894d7344ba261a9810fc69c5b
Author: Dom G 
AuthorDate: Wed May 11 18:32:01 2022 -0400

Improve MiniAccumuloClusterTest (#2693)
---
 .../minicluster/MiniAccumuloClusterTest.java   | 151 -
 1 file changed, 84 insertions(+), 67 deletions(-)

diff --git 
a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
 
b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
index c49c058ae9..92b000d87c 100644
--- 
a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
+++ 
b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
@@ -30,6 +30,7 @@ import java.io.File;
 import java.io.FileReader;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.UUID;
@@ -62,12 +63,15 @@ import org.junit.jupiter.api.io.TempDir;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 @SuppressFBWarnings(value = "PATH_TRAVERSAL_IN", justification = "paths not 
set by user input")
-public class MiniAccumuloClusterTest {
+public class MiniAccumuloClusterTest extends WithTestNames {
 
   @SuppressWarnings("removal")
   private static final Property VFS_CONTEXT_CLASSPATH_PROPERTY =
   Property.VFS_CONTEXT_CLASSPATH_PROPERTY;
 
+  public static final String ROOT_PASSWORD = "superSecret";
+  public static final String ROOT_USER = "root";
+
   public static File testDir;
 
   private static MiniAccumuloCluster accumulo;
@@ -80,7 +84,7 @@ public class MiniAccumuloClusterTest {
 FileUtils.deleteQuietly(testDir);
 assertTrue(testDir.mkdir());
 
-MiniAccumuloConfig config = new MiniAccumuloConfig(testDir, 
"superSecret").setJDWPEnabled(true);
+MiniAccumuloConfig config = new MiniAccumuloConfig(testDir, 
ROOT_PASSWORD).setJDWPEnabled(true);
 config.setZooKeeperPort(0);
 HashMap site = new HashMap<>();
 site.put(Property.TSERV_WORKQ_THREADS.getKey(), "2");
@@ -102,73 +106,84 @@ public class MiniAccumuloClusterTest {
   @Test
   @Timeout(30)
   public void test() throws Exception {
-org.apache.accumulo.core.client.Connector conn = 
accumulo.getConnector("root", "superSecret");
-
-conn.tableOperations().create("table1", new NewTableConfiguration());
+org.apache.accumulo.core.client.Connector conn =
+accumulo.getConnector(ROOT_USER, ROOT_PASSWORD);
 
-conn.securityOperations().createLocalUser("user1", new 
PasswordToken("pass1"));
-conn.securityOperations().changeUserAuthorizations("user1", new 
Authorizations("A", "B"));
-conn.securityOperations().grantTablePermission("user1", "table1", 
TablePermission.WRITE);
-conn.securityOperations().grantTablePermission("user1", "table1", 
TablePermission.READ);
+final String tableName = testName();
 
 IteratorSetting is = new IteratorSetting(10, SummingCombiner.class);
 SummingCombiner.setEncodingType(is, LongCombiner.Type.STRING);
 SummingCombiner.setColumns(is,
 Collections.singletonList(new IteratorSetting.Column("META", 
"COUNT")));
 
-conn.tableOperations().attachIterator("table1", is);
+conn.tableOperations().create(tableName, new 
NewTableConfiguration().attachIterator(is));
+
+final String principal = "user1";
+final String password = "pass1";
+conn.securityOperations().createLocalUser(principal, new 
PasswordToken(password));
+conn.securityOperations().changeUserAuthorizations(principal, new 
Authorizations("A", "B"));
+conn.securityOperations().grantTablePermission(principal, tableName, 
TablePermission.WRITE);
+conn.securityOperations().grantTablePermission(principal, tableName, 
TablePermission.READ);
 
-org.apache.accumulo.core.client.Connector uconn = 
accumulo.getConnector("user1", "pass1");
+org.apache.accumulo.core.client.Connector uconn = 
accumulo.getConnector(principal, password);
 
-BatchWriter bw = uconn.createBatchWriter("table1", new 
BatchWriterConfig());
+try (BatchWriter bw = uconn.createBatchWriter(tableName, new 
BatchWriterConfig())) {
 
-UUID uuid = UUID.randomUUID();
+  UUID uuid = UUID.randomUUID();
 
-Mutation m = new Mutation(uuid.toString());
-m.put("META", "SIZE", new ColumnVisibility("A|B"), &

[accumulo] branch main updated: Add check for ReplicationTable online status in Monitor (#2666)

2022-05-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new a10ee097dd Add check for ReplicationTable online status in Monitor 
(#2666)
a10ee097dd is described below

commit a10ee097dd42973cd838aef1a9124d7cc36fdecf
Author: Emily <71804562+tch...@users.noreply.github.com>
AuthorDate: Wed May 11 22:06:24 2022 +

Add check for ReplicationTable online status in Monitor (#2666)
---
 .../accumulo/monitor/rest/replication/ReplicationResource.java  | 6 ++
 1 file changed, 6 insertions(+)

diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationResource.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationResource.java
index ebb2765b4e..7ad0c76ee5 100644
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationResource.java
+++ 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationResource.java
@@ -149,6 +149,12 @@ public class ReplicationResource {
   });
 }
 
+// Ensure replication table is online before attempting to create 
BatchScanner
+if (!ReplicationTable.isOnline(client)) {
+  log.debug("Replication page requested, but replication table is 
offline");
+  return Collections.emptyList();
+}
+
 // Read over the queued work
 BatchScanner bs;
 try {



[accumulo] branch main updated: Add declaration for scansList prior to usage (#2687)

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 00941828c5 Add declaration for scansList prior to usage (#2687)
00941828c5 is described below

commit 00941828c56f4ebcd9d3056ca3296d44f5bdc13d
Author: Emily <71804562+tch...@users.noreply.github.com>
AuthorDate: Tue May 10 21:59:48 2022 +

Add declaration for scansList prior to usage (#2687)
---
 .../main/resources/org/apache/accumulo/monitor/resources/js/scans.js| 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
index f89448e1be..0efa8e76ac 100644
--- 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
+++ 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/scans.js
@@ -18,6 +18,8 @@
  */
 "use strict";
 
+var scansList;
+
 /**
  * Creates scans initial table
  */



[accumulo] 01/01: Merge branch 'single-node-props'

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit 2d93f430c8f8c79faff65141fc4338932af8bec3
Merge: 4d5ec236ea 47de895084
Author: Christopher Tubbs 
AuthorDate: Tue May 10 17:28:37 2022 -0400

Merge branch 'single-node-props'

This closes #1225, #1454, #1809

 .../accumulo/core/conf/AccumuloConfiguration.java  |  23 +-
 .../accumulo/core/conf/ConfigurationCopy.java  |   2 +-
 .../core/conf/ConfigurationTypeHelper.java |   2 +-
 .../accumulo/core/conf/DefaultConfiguration.java   |   2 +-
 .../org/apache/accumulo/core/conf/Property.java|   2 +-
 .../accumulo/core/conf/SiteConfiguration.java  |   9 +-
 .../accumulo/core/metrics/MetricsProducer.java |  43 ++
 .../accumulo/core/util/ConfigurationImpl.java  |   2 +-
 .../util/compaction/CompactionServicesConfig.java  |  11 +-
 .../apache/accumulo/fate/zookeeper/ZooReader.java  |  15 +
 .../accumulo/fate/zookeeper/ZooReaderWriter.java   |  56 +-
 .../apache/accumulo/fate/zookeeper/ZooUtil.java|  38 ++
 .../core/conf/AccumuloConfigurationTest.java   |   2 +-
 .../apache/accumulo/core/conf/PropertyTest.java|   9 +
 server/base/pom.xml|   8 +
 .../org/apache/accumulo/server/ServerContext.java  |  34 +-
 .../server/conf/NamespaceConfiguration.java| 128 ++--
 .../server/conf/RuntimeFixedProperties.java| 106 
 .../server/conf/ServerConfigurationFactory.java|  24 +-
 .../accumulo/server/conf/SystemConfiguration.java  |  66 ++
 .../accumulo/server/conf/TableConfiguration.java   | 119 +---
 .../server/conf/ZooBasedConfiguration.java | 164 +
 .../server/conf/ZooCachePropertyAccessor.java  | 172 --
 .../accumulo/server/conf/ZooConfiguration.java | 150 -
 .../server/conf/codec/VersionedPropCodec.java  |  92 ++-
 .../server/conf/codec/VersionedPropGzipCodec.java  |   2 +-
 .../server/conf/codec/VersionedProperties.java |  32 +-
 .../server/conf/store/NamespacePropKey.java|  65 ++
 .../accumulo/server/conf/store/PropCache.java  |  36 ++
 .../accumulo/server/conf/store/PropCacheKey.java   | 141 +
 .../server/conf/store/PropChangeListener.java  |  43 ++
 .../accumulo/server/conf/store/PropStore.java  | 117 
 .../accumulo/server/conf/store/SystemPropKey.java  |  56 ++
 .../accumulo/server/conf/store/TablePropKey.java   |  59 ++
 .../conf/store/impl/PropCacheCaffeineImpl.java | 142 +
 .../server/conf/store/impl/PropStoreEventTask.java | 110 
 .../server/conf/store/impl/PropStoreMetrics.java   |  92 +++
 .../server/conf/store/impl/PropStoreWatcher.java   | 252 
 .../server/conf/store/impl/ReadyMonitor.java   | 143 +
 .../server/conf/store/impl/ZooPropLoader.java  | 157 +
 .../server/conf/store/impl/ZooPropStore.java   | 390 
 .../server/conf/util/ConfigPropertyUpgrader.java   | 138 +
 .../server/conf/util/ConfigTransformer.java| 395 
 .../accumulo/server/conf/util/PropSnapshot.java| 141 +
 .../accumulo/server/conf/util/TransformToken.java  | 209 +++
 .../server/init/FileSystemInitializer.java |  35 +-
 .../apache/accumulo/server/init/Initialize.java|  24 +-
 .../accumulo/server/init/ZooKeeperInitializer.java |  82 ++-
 .../accumulo/server/tables/TableManager.java   |  59 +-
 .../accumulo/server/util/NamespacePropUtil.java|  51 +-
 .../org/apache/accumulo/server/util/PropUtil.java  |  39 ++
 .../accumulo/server/util/SystemPropUtil.java   |  45 +-
 .../apache/accumulo/server/util/TablePropUtil.java |  55 +-
 .../apache/accumulo/server/MockServerContext.java  |  13 +
 .../server/conf/NamespaceConfigurationTest.java| 149 +++--
 .../server/conf/RuntimeFixedPropertiesTest.java|  87 +++
 .../conf/ServerConfigurationFactoryTest.java   | 114 ++--
 .../server/conf/SystemConfigurationTest.java   | 141 +
 .../server/conf/TableConfigurationTest.java| 276 +++--
 .../server/conf/ZooBasedConfigurationTest.java | 347 +++
 .../server/conf/ZooCachePropertyAccessorTest.java  | 188 --
 .../server/conf/codec/VersionedPropCodecTest.java  |   8 +-
 .../conf/codec/VersionedPropEncryptCodec.java  |   2 +-
 .../conf/codec/VersionedPropEncryptCodecTest.java  |  28 +-
 .../conf/codec/VersionedPropGzipCodecTest.java |  28 +-
 .../server/conf/codec/VersionedPropertiesTest.java |  39 +-
 .../server/conf/store/PropCacheKeyTest.java| 125 
 .../conf/store/impl/PropCacheCaffeineImplTest.java | 223 +++
 .../server/conf/store/impl/PropStoreEventTest.java | 318 ++
 .../server/conf/store/impl/ReadyMonitorTest.java   | 180 ++
 .../server/conf/store/impl/ZooPropLoaderTest.java  | 665 +
 .../server/conf/store/impl/ZooPropStoreTest.java   | 403 +
 .../server/conf/util/PropSnapshotTest.java | 133

[accumulo] branch main updated (4d5ec236ea -> 2d93f430c8)

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 4d5ec236ea Remove json prettyPrint from RootGcCandidates (#2681)
 add 1601dde98f Remove isPropertySet option for caching
 add 0e681c6eb3 Improve getting parent from AccumuloConfiguration
 add 1cc056c37f Include classloader context in log message
 add 4c0ad3c24e Minor enhancements to ZK utilities
 add 47de895084 Single node prop store (#2569)
 new 2d93f430c8 Merge branch 'single-node-props'

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:
 .../accumulo/core/conf/AccumuloConfiguration.java  |  23 +-
 .../accumulo/core/conf/ConfigurationCopy.java  |   2 +-
 .../core/conf/ConfigurationTypeHelper.java |   2 +-
 .../accumulo/core/conf/DefaultConfiguration.java   |   2 +-
 .../org/apache/accumulo/core/conf/Property.java|   2 +-
 .../accumulo/core/conf/SiteConfiguration.java  |   9 +-
 .../accumulo/core/metrics/MetricsProducer.java |  43 ++
 .../accumulo/core/util/ConfigurationImpl.java  |   2 +-
 .../util/compaction/CompactionServicesConfig.java  |  11 +-
 .../apache/accumulo/fate/zookeeper/ZooReader.java  |  15 +
 .../accumulo/fate/zookeeper/ZooReaderWriter.java   |  56 +-
 .../apache/accumulo/fate/zookeeper/ZooUtil.java|  38 ++
 .../core/conf/AccumuloConfigurationTest.java   |   2 +-
 .../apache/accumulo/core/conf/PropertyTest.java|   9 +
 server/base/pom.xml|   8 +
 .../org/apache/accumulo/server/ServerContext.java  |  34 +-
 .../server/conf/NamespaceConfiguration.java| 128 ++--
 .../server/conf/RuntimeFixedProperties.java| 106 
 .../server/conf/ServerConfigurationFactory.java|  24 +-
 .../accumulo/server/conf/SystemConfiguration.java  |  66 ++
 .../accumulo/server/conf/TableConfiguration.java   | 119 +---
 .../server/conf/ZooBasedConfiguration.java | 164 +
 .../server/conf/ZooCachePropertyAccessor.java  | 172 --
 .../accumulo/server/conf/ZooConfiguration.java | 150 -
 .../server/conf/codec/VersionedPropCodec.java  |  92 ++-
 .../server/conf/codec/VersionedPropGzipCodec.java  |   2 +-
 .../server/conf/codec/VersionedProperties.java |  32 +-
 .../server/conf/store/NamespacePropKey.java|  65 ++
 .../accumulo/server/conf/store/PropCache.java  |  24 +-
 .../accumulo/server/conf/store/PropCacheKey.java   | 141 +
 .../server/conf/store/PropChangeListener.java  |  29 +-
 .../accumulo/server/conf/store/PropStore.java  | 117 
 .../accumulo/server/conf/store/SystemPropKey.java  |  56 ++
 .../accumulo/server/conf/store/TablePropKey.java   |  59 ++
 .../conf/store/impl/PropCacheCaffeineImpl.java | 142 +
 .../server/conf/store/impl/PropStoreEventTask.java | 110 
 .../server/conf/store/impl/PropStoreMetrics.java   |  92 +++
 .../server/conf/store/impl/PropStoreWatcher.java   | 252 
 .../server/conf/store/impl/ReadyMonitor.java   | 143 +
 .../server/conf/store/impl/ZooPropLoader.java  | 157 +
 .../server/conf/store/impl/ZooPropStore.java   | 390 
 .../server/conf/util/ConfigPropertyUpgrader.java   | 138 +
 .../server/conf/util/ConfigTransformer.java| 395 
 .../accumulo/server/conf/util/PropSnapshot.java| 141 +
 .../accumulo/server/conf/util/TransformToken.java  | 209 +++
 .../server/init/FileSystemInitializer.java |  35 +-
 .../apache/accumulo/server/init/Initialize.java|  24 +-
 .../accumulo/server/init/ZooKeeperInitializer.java |  82 ++-
 .../accumulo/server/tables/TableManager.java   |  59 +-
 .../accumulo/server/util/NamespacePropUtil.java|  51 +-
 .../org/apache/accumulo/server/util/PropUtil.java  |  27 +-
 .../accumulo/server/util/SystemPropUtil.java   |  45 +-
 .../apache/accumulo/server/util/TablePropUtil.java |  55 +-
 .../apache/accumulo/server/MockServerContext.java  |  13 +
 .../server/conf/NamespaceConfigurationTest.java| 149 +++--
 .../server/conf/RuntimeFixedPropertiesTest.java|  87 +++
 .../conf/ServerConfigurationFactoryTest.java   | 114 ++--
 .../server/conf/SystemConfigurationTest.java   | 141 +
 .../server/conf/TableConfigurationTest.java| 276 +++--
 .../server/conf/ZooBasedConfigurationTest.java | 347 +++
 .../server/conf/ZooCachePropertyAccessorTest.java  | 188 --
 .../server/conf/codec/VersionedPropCodecTest.java  |   8 +-
 .../conf/codec/VersionedPropEncryptCodec.java  |   2 +-
 .../conf/codec/VersionedPropEncryptCodecTest.java  |  28 +-
 .../conf/codec/VersionedPropGzipCodecTest.java |  28 +-
 .../server/conf/codec/VersionedPropertiesTest.java |  39 +-
 .

[accumulo] 03/05: Include classloader context in log message

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 1cc056c37ffdff20e1793a45cd8d37c9f87efa7e
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 15:31:22 2022 -0400

Include classloader context in log message
---
 .../java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
index 5951f61636..d43e8dd674 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
@@ -181,7 +181,7 @@ public class ConfigurationTypeHelper {
 try {
   instance = getClassInstance(context, clazzName, base);
 } catch (RuntimeException | IOException | ReflectiveOperationException e) {
-  log.warn("Failed to load class {}", clazzName, e);
+  log.warn("Failed to load class {} in classloader context {}", clazzName, 
context, e);
 }
 
 if (instance == null && defaultInstance != null) {



[accumulo] branch single-node-props updated (f2b40969bf -> 47de895084)

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


 discard f2b40969bf Single node prop store (#2569)
omit 69cb4a2e5f Merge branch 'main' into single-node-props
omit 34da29703f Merge branch 'main' into single-node-props
omit bb4df59ced Merge branch 'main' into single-node-props
omit bbf477bea3 Merge branch 'main' into single-node-props
omit 13e8d9e3c3 Merge branch 'main' into single-node-props
omit f336894433 Merge branch 'main' into single-node-props
omit c8505dfde1 Merge branch 'main' into single-node-props
omit 292453bf49 Minor enhancements to ZK utilities
omit 81c0386010 Include classloader context in log message
omit cccb8b40b1 Improve getting parent from AccumuloConfiguration
omit 38f181877e Merge branch 'main' into single-node-props
omit 363a281d17 Remove isPropertySet option for caching
 new 1601dde98f Remove isPropertySet option for caching
 new 0e681c6eb3 Improve getting parent from AccumuloConfiguration
 new 1cc056c37f Include classloader context in log message
 new 4c0ad3c24e Minor enhancements to ZK utilities
 new 47de895084 Single node prop store (#2569)

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f2b40969bf)
\
 N -- N -- N   refs/heads/single-node-props (47de895084)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 5 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:



[accumulo] 01/05: Remove isPropertySet option for caching

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 1601dde98fa67c6f12ae474aec40cf93c6f21cd1
Author: Christopher Tubbs 
AuthorDate: Tue Apr 26 15:53:32 2022 -0400

Remove isPropertySet option for caching

This is an incremental change from the single-node property changes
---
 .../accumulo/core/conf/AccumuloConfiguration.java  |  8 
 .../accumulo/core/conf/ConfigurationCopy.java  |  2 +-
 .../accumulo/core/conf/DefaultConfiguration.java   |  2 +-
 .../accumulo/core/conf/SiteConfiguration.java  |  4 ++--
 .../accumulo/core/util/ConfigurationImpl.java  |  2 +-
 .../util/compaction/CompactionServicesConfig.java  | 11 +--
 .../core/conf/AccumuloConfigurationTest.java   |  2 +-
 .../org/apache/accumulo/server/ServerContext.java  |  2 +-
 .../server/conf/NamespaceConfiguration.java| 11 ++-
 .../accumulo/server/conf/TableConfiguration.java   | 13 ++---
 .../accumulo/server/conf/ZooConfiguration.java | 22 --
 .../accumulo/tserver/tablet/CompactableImpl.java   |  2 +-
 .../accumulo/tserver/tablet/CompactableUtils.java  |  2 +-
 13 files changed, 30 insertions(+), 53 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index b86e3481a8..84043937c0 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -97,7 +97,7 @@ public abstract class AccumuloConfiguration implements 
Iterable 
key.startsWith(defaultServicePrefix)).map(Property::getPropertyByKey)
-  .anyMatch(prop -> prop == null || aconf.isPropertySet(prop, true));
+  .anyMatch(prop -> prop == null || aconf.isPropertySet(prop));
 
   if (defaultServicePropsSet) {
 
@@ -130,8 +130,7 @@ public class CompactionServicesConfig {
 planners.put(tokens[0], val);
   } else if (tokens.length == 3 && tokens[1].equals("rate") && 
tokens[2].equals("limit")) {
 var eprop = Property.getPropertyByKey(prop);
-if (eprop == null || aconf.isPropertySet(eprop, true)
-|| !isDeprecatedThroughputSet(aconf)) {
+if (eprop == null || aconf.isPropertySet(eprop) || 
!isDeprecatedThroughputSet(aconf)) {
   rateLimits.put(tokens[0], 
ConfigurationTypeHelper.getFixedMemoryAsBytes(val));
 }
   } else {
@@ -152,7 +151,7 @@ public class CompactionServicesConfig {
 
   @SuppressWarnings("removal")
   private boolean isDeprecatedThroughputSet(AccumuloConfiguration aconf) {
-return aconf.isPropertySet(Property.TSERV_MAJC_THROUGHPUT, true);
+return aconf.isPropertySet(Property.TSERV_MAJC_THROUGHPUT);
   }
 
   public long getRateLimit(String serviceName) {
diff --git 
a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
 
b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
index d03e1a8383..5fb3cfa375 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -155,7 +155,7 @@ public class AccumuloConfigurationTest {
 }
 
 @Override
-public boolean isPropertySet(Property prop, boolean cacheAndWatch) {
+public boolean isPropertySet(Property prop) {
   return props.containsKey(prop.getKey());
 }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java 
b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
index 0ed173195a..604e95e033 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
@@ -379,7 +379,7 @@ public class ServerContext extends ClientContext {
   String key = entry.getKey();
   log.info("{} = {}", key, (Property.isSensitive(key) ? "" : 
entry.getValue()));
   Property prop = Property.getPropertyByKey(key);
-  if (prop != null && conf.isPropertySet(prop, false)) {
+  if (prop != null && conf.isPropertySet(prop)) {
 if (prop.isDeprecated()) {
   Property replacedBy = prop.replacedBy();
   if (replacedBy != null) {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
index b81cf919e8..1e7586eeff 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.ja

[accumulo] 04/05: Minor enhancements to ZK utilities

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 4c0ad3c24e1b27467d5003702c7538709e1b6b56
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 15:51:56 2022 -0400

Minor enhancements to ZK utilities
---
 .../apache/accumulo/fate/zookeeper/ZooReader.java  | 15 ++
 .../accumulo/fate/zookeeper/ZooReaderWriter.java   | 56 ++
 .../apache/accumulo/fate/zookeeper/ZooUtil.java| 38 +++
 3 files changed, 101 insertions(+), 8 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
index 4165d3faa7..2aa996b613 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
@@ -66,6 +66,16 @@ public class ZooReader {
 return RETRY_FACTORY;
   }
 
+  /**
+   * Returns the requested ZooKeeper client session timeout. The client may 
negotiate a different
+   * value and the actual negotiated value may change after a re-connect.
+   *
+   * @return the timeout in milliseconds
+   */
+  public int getSessionTimeout() {
+return timeout;
+  }
+
   public byte[] getData(String zPath) throws KeeperException, 
InterruptedException {
 return retryLoop(zk -> zk.getData(zPath, null, null));
   }
@@ -79,6 +89,11 @@ public class ZooReader {
 return retryLoop(zk -> zk.getData(zPath, requireNonNull(watcher), null));
   }
 
+  public byte[] getData(String zPath, Watcher watcher, Stat stat)
+  throws KeeperException, InterruptedException {
+return retryLoop(zk -> zk.getData(zPath, requireNonNull(watcher), 
requireNonNull(stat)));
+  }
+
   public Stat getStatus(String zPath) throws KeeperException, 
InterruptedException {
 return retryLoop(zk -> zk.exists(zPath, null));
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
index 8e79007cc1..58c5671f50 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
@@ -134,6 +134,33 @@ public class ZooReaderWriter extends ZooReader {
 e -> e.code() == Code.NONODE && policy == NodeExistsPolicy.OVERWRITE);
   }
 
+  /**
+   * Overwrite a persistent node if the data version matches.
+   *
+   * @param zPath
+   *  the zookeeper path
+   * @param data
+   *  the byte array data
+   * @param expectedVersion
+   *  the expected data version of the zookeeper node.
+   * @return true if the data was set, false if the version does not match 
expected.
+   * @throws KeeperException
+   *   if a KeeperException occurs (no node most likely)
+   * @throws InterruptedException
+   *   if the zookeeper write is interrupted.
+   */
+  public boolean overwritePersistentData(String zPath, byte[] data, final int 
expectedVersion)
+  throws KeeperException, InterruptedException {
+return retryLoop(zk -> {
+  try {
+zk.setData(zPath, data, expectedVersion);
+return true;
+  } catch (KeeperException.BadVersionException ex) {
+return false;
+  }
+});
+  }
+
   /**
* Create a persistent sequential node with the default ACL
*
@@ -242,15 +269,28 @@ public class ZooReaderWriter extends ZooReader {
* Delete the specified node, and ignore NONODE exceptions.
*/
   public void delete(String path) throws KeeperException, InterruptedException 
{
-retryLoop(zk -> {
-  try {
-zk.delete(path, -1);
-  } catch (KeeperException e) {
-// ignore the case where the node doesn't exist
-if (e.code() != Code.NONODE) {
-  throw e;
-}
+try {
+  deleteStrict(path, -1);
+} catch (KeeperException e) {
+  if (e.code() != Code.NONODE) {
+throw e;
   }
+}
+  }
+
+  /**
+   * Delete the specified node if the version matches the provided version. 
All underlying
+   * exceptions are thrown back to the caller.
+   *
+   * @param path
+   *  the path of the ZooKeeper node.
+   * @param version
+   *  the expected version of the ZooKeeper node.
+   */
+  public void deleteStrict(final String path, final int version)
+  throws KeeperException, InterruptedException {
+retryLoop(zk -> {
+  zk.delete(path, version);
   return null;
 });
   }
diff --git a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
index 82c3a1658b..6f6431ede1 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookee

[accumulo] 02/05: Improve getting parent from AccumuloConfiguration

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 0e681c6eb30ad89d4c24a50fbe5c287305d1b534
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 13:46:24 2022 -0400

Improve getting parent from AccumuloConfiguration

* Also improve the singleton loading of DefaultConfiguration to reduce
  object creation
---
 .../apache/accumulo/core/conf/AccumuloConfiguration.java  | 15 +--
 .../org/apache/accumulo/core/conf/SiteConfiguration.java  |  5 +
 .../accumulo/server/conf/NamespaceConfiguration.java  | 14 +-
 .../apache/accumulo/server/conf/TableConfiguration.java   | 14 +-
 .../org/apache/accumulo/server/conf/ZooConfiguration.java |  5 +
 .../accumulo/server/conf/NamespaceConfigurationTest.java  |  2 +-
 .../accumulo/server/conf/TableConfigurationTest.java  |  2 +-
 7 files changed, 35 insertions(+), 22 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 84043937c0..f7cc68ac62 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -63,7 +63,7 @@ public abstract class AccumuloConfiguration implements 
Iterable cachedPrefixProps = new 
EnumMap<>(Property.class);
-  private Lock prefixCacheUpdateLock = new ReentrantLock();
+  private final Lock prefixCacheUpdateLock = new ReentrantLock();
 
   private static final Logger log = 
LoggerFactory.getLogger(AccumuloConfiguration.class);
 
@@ -162,7 +162,9 @@ public abstract class AccumuloConfiguration implements 
Iterable> stream() {
 return StreamSupport.stream(this.spliterator(), false);
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index c22862571c..d88c7f58bd 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -277,4 +277,9 @@ public class SiteConfiguration extends 
AccumuloConfiguration {
   }
 });
   }
+
+  @Override
+  public AccumuloConfiguration getParent() {
+return parent;
+  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
index 1e7586eeff..e3eb342332 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
@@ -53,15 +53,6 @@ public class NamespaceConfiguration extends 
AccumuloConfiguration {
 + Constants.ZNAMESPACE_CONF;
   }
 
-  /**
-   * Gets the parent configuration of this configuration.
-   *
-   * @return parent configuration
-   */
-  public AccumuloConfiguration getParentConfiguration() {
-return parent;
-  }
-
   void setZooCacheFactory(ZooCacheFactory zcf) {
 this.zcf = zcf;
   }
@@ -142,4 +133,9 @@ public class NamespaceConfiguration extends 
AccumuloConfiguration {
   public long getUpdateCount() {
 return parent.getUpdateCount() + 
getPropCacheAccessor().getZooCache().getUpdateCount();
   }
+
+  @Override
+  public AccumuloConfiguration getParent() {
+return parent;
+  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
index 01ae607493..7de0d53bda 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
@@ -134,15 +134,6 @@ public class TableConfiguration extends 
AccumuloConfiguration {
 return tableId;
   }
 
-  /**
-   * Gets the parent configuration of this configuration.
-   *
-   * @return parent configuration
-   */
-  public NamespaceConfiguration getParentConfiguration() {
-return parent;
-  }
-
   @Override
   public synchronized void invalidateCache() {
 ZooCachePropertyAccessor pca = propCacheAccessor.get();
@@ -264,4 +255,9 @@ public class TableConfiguration extends 
AccumuloConfiguration {
   public CompactionDispatcher getCompactionDispatcher() {
 return compactionDispatchDeriver.derive();
   }
+
+  @Override
+  public AccumuloConfiguration getParent() {
+return parent;
+  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
index 82129128cc..7d2306b6d7 100644
--- 
a/server/base/src/main/java/org/apache/accumu

[accumulo] branch single-node-props updated (34da29703f -> 69cb4a2e5f)

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 34da29703f Merge branch 'main' into single-node-props
 add e223e7997a Run shfmt and shellcheck on scripts (#2677)
 add 7af40badbe Rename some confusing GC methods (#2686)
 add 4d5ec236ea Remove json prettyPrint from RootGcCandidates (#2681)
 new 69cb4a2e5f Merge branch 'main' into single-node-props

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:
 .github/workflows/scripts.yaml |  58 ++
 assemble/bin/accumulo  |  21 ++-
 assemble/bin/accumulo-cluster  |  53 +++---
 assemble/bin/accumulo-service  |  51 ++---
 assemble/bin/accumulo-util |  72 +++
 assemble/build.sh  | 209 +
 assemble/conf/accumulo-env.sh  |  29 ++-
 assemble/src/main/scripts/create-jshell.sh |  19 +-
 contrib/ci/find-unapproved-chars.sh|   4 +-
 contrib/ci/find-unapproved-junit.sh|   5 +-
 .../ci/install-shfmt.sh|  12 +-
 contrib/ci/it-matrix.sh|   3 +-
 .../ci/run-shellcheck.sh   |  10 +-
 .../accumulo.properties => contrib/ci/run-shfmt.sh |   8 +-
 core/src/main/scripts/generate-thrift.sh   |  50 ++---
 .../accumulo/server/metadata/RootGcCandidates.java |   2 +-
 server/base/src/main/scripts/generate-protobuf.sh  |  17 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   3 +-
 .../accumulo/gc/GarbageCollectionAlgorithm.java|  14 +-
 .../accumulo/gc/GarbageCollectionEnvironment.java  |   5 +-
 .../apache/accumulo/gc/GarbageCollectionTest.java  |   2 +-
 start/src/test/shell/makeHelloWorldJars.sh |  18 +-
 start/src/test/shell/makeTestJars.sh   |  19 +-
 test/src/main/scripts/generate-thrift.sh   |   2 +-
 test/src/test/scripts/run-test.sh  |  21 +--
 25 files changed, 422 insertions(+), 285 deletions(-)
 create mode 100644 .github/workflows/scripts.yaml
 copy test/src/main/scripts/generate-thrift.sh => contrib/ci/install-shfmt.sh 
(69%)
 copy server/base/src/test/resources/accumulo.properties => 
contrib/ci/run-shellcheck.sh (83%)
 mode change 100644 => 100755
 copy server/gc/src/test/resources/accumulo.properties => 
contrib/ci/run-shfmt.sh (87%)
 mode change 100644 => 100755



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 69cb4a2e5f49f759b259b10b3438f924ecfe15bd
Merge: 34da29703f 4d5ec236ea
Author: Christopher Tubbs 
AuthorDate: Tue May 10 16:31:32 2022 -0400

Merge branch 'main' into single-node-props

 .github/workflows/scripts.yaml |  58 ++
 assemble/bin/accumulo  |  21 ++-
 assemble/bin/accumulo-cluster  |  53 +++---
 assemble/bin/accumulo-service  |  51 ++---
 assemble/bin/accumulo-util |  72 +++
 assemble/build.sh  | 209 +
 assemble/conf/accumulo-env.sh  |  29 ++-
 assemble/src/main/scripts/create-jshell.sh |  19 +-
 contrib/ci/find-unapproved-chars.sh|   4 +-
 contrib/ci/find-unapproved-junit.sh|   5 +-
 .../ci/install-shfmt.sh|  12 +-
 contrib/ci/it-matrix.sh|   3 +-
 .../ci/run-shellcheck.sh   |  10 +-
 .../generate-thrift.sh => contrib/ci/run-shfmt.sh  |   9 +-
 core/src/main/scripts/generate-thrift.sh   |  50 ++---
 .../accumulo/server/metadata/RootGcCandidates.java |   2 +-
 server/base/src/main/scripts/generate-protobuf.sh  |  17 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   3 +-
 .../accumulo/gc/GarbageCollectionAlgorithm.java|  14 +-
 .../accumulo/gc/GarbageCollectionEnvironment.java  |   5 +-
 .../apache/accumulo/gc/GarbageCollectionTest.java  |   2 +-
 start/src/test/shell/makeHelloWorldJars.sh |  18 +-
 start/src/test/shell/makeTestJars.sh   |  19 +-
 test/src/main/scripts/generate-thrift.sh   |   2 +-
 test/src/test/scripts/run-test.sh  |  21 +--
 25 files changed, 417 insertions(+), 291 deletions(-)



[accumulo-testing] branch main updated: runs mvn install for accumulo in terraform (#206)

2022-05-10 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new 0373c3b  runs mvn install for accumulo in terraform (#206)
0373c3b is described below

commit 0373c3b683ea774ce94a35d35430dbf7ce0720a8
Author: Keith Turner 
AuthorDate: Tue May 10 07:03:13 2022 -0400

runs mvn install for accumulo in terraform (#206)

Run mvn install when building accumulo so that the accumulo-testing will 
pick up the correct accumulo snapshot jars.
---
 .../modules/config-files/templates/install_sw.sh.tftpl  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/contrib/terraform-testing-infrastructure/modules/config-files/templates/install_sw.sh.tftpl
 
b/contrib/terraform-testing-infrastructure/modules/config-files/templates/install_sw.sh.tftpl
index d8ceac7..411cf06 100644
--- 
a/contrib/terraform-testing-infrastructure/modules/config-files/templates/install_sw.sh.tftpl
+++ 
b/contrib/terraform-testing-infrastructure/modules/config-files/templates/install_sw.sh.tftpl
@@ -76,7 +76,7 @@ else
   git clone ${accumulo_repo} accumulo-repo
   cd accumulo-repo
   git checkout ${accumulo_branch_name}
-  ${software_root}/apache-maven/apache-maven-${maven_version}/bin/mvn -ntp 
clean package -DskipTests -DskipITs
+  ${software_root}/apache-maven/apache-maven-${maven_version}/bin/mvn -ntp 
clean install -PskipQA
   mkdir -p ${software_root}/accumulo
   tar zxf assemble/target/accumulo-${accumulo_version}-bin.tar.gz -C 
${software_root}/accumulo
 fi



[accumulo] branch main updated: Run shfmt and shellcheck on scripts (#2677)

2022-05-09 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new e223e7997a Run shfmt and shellcheck on scripts (#2677)
e223e7997a is described below

commit e223e7997a574c80388f3c707c142e5498bec98f
Author: Christopher Tubbs 
AuthorDate: Mon May 9 15:12:22 2022 -0400

Run shfmt and shellcheck on scripts (#2677)

* Run shfmt to format scripts
* Run shellcheck to check all scripts for bugs
* Add automated check for shfmt and shellcheck during CI
---
 .github/workflows/scripts.yaml |  58 ++
 assemble/bin/accumulo  |  21 ++-
 assemble/bin/accumulo-cluster  |  53 +++---
 assemble/bin/accumulo-service  |  51 ++---
 assemble/bin/accumulo-util |  72 +++
 assemble/build.sh  | 209 +
 assemble/conf/accumulo-env.sh  |  29 ++-
 assemble/src/main/scripts/create-jshell.sh |  19 +-
 contrib/ci/find-unapproved-chars.sh|   4 +-
 contrib/ci/find-unapproved-junit.sh|   5 +-
 .../ci/install-shfmt.sh|  12 +-
 contrib/ci/it-matrix.sh|   3 +-
 .../ci/run-shellcheck.sh   |  10 +-
 .../generate-thrift.sh => contrib/ci/run-shfmt.sh  |   9 +-
 core/src/main/scripts/generate-thrift.sh   |  50 ++---
 server/base/src/main/scripts/generate-protobuf.sh  |  17 +-
 start/src/test/shell/makeHelloWorldJars.sh |  18 +-
 start/src/test/shell/makeTestJars.sh   |  19 +-
 test/src/main/scripts/generate-thrift.sh   |   2 +-
 test/src/test/scripts/run-test.sh  |  21 +--
 20 files changed, 405 insertions(+), 277 deletions(-)

diff --git a/.github/workflows/scripts.yaml b/.github/workflows/scripts.yaml
new file mode 100644
index 00..6f78957c31
--- /dev/null
+++ b/.github/workflows/scripts.yaml
@@ -0,0 +1,58 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# This workflow will build a Java project with Maven
+# See also:
+#   
https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: ScriptQA
+
+on:
+  push:
+branches: [ '*' ]
+  pull_request:
+branches: [ '*' ]
+
+jobs:
+  shfmt:
+name: shfmt
+timeout-minutes: 3
+runs-on: ubuntu-latest
+steps:
+- uses: actions/checkout@v3
+- name: Show the first log message
+  run: git log -n1
+- name: Install shfmt
+  run: contrib/ci/install-shfmt.sh
+- name: Checking formatting of all scripts
+  run: contrib/ci/run-shfmt.sh
+
+  shellcheck:
+name: ShellCheck
+timeout-minutes: 3
+runs-on: ubuntu-latest
+steps:
+- uses: actions/checkout@v3
+- name: Show the first log message
+  run: git log -n1
+- name: Install shfmt
+  run: contrib/ci/install-shfmt.sh
+- name: Running shellcheck on all scripts
+  run: contrib/ci/run-shellcheck.sh
+
diff --git a/assemble/bin/accumulo b/assemble/bin/accumulo
index f82f848b19..dc20572406 100755
--- a/assemble/bin/accumulo
+++ b/assemble/bin/accumulo
@@ -21,14 +21,16 @@
 function main() {
 
   SOURCE="${BASH_SOURCE[0]}"
-  while [[ -h "${SOURCE}" ]]; do
- bin="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
- SOURCE="$(readlink "${SOURCE}")"
- [[ "${SOURCE}" != /* ]] && SOURCE="${bin}/${SOURCE}"
+  while [[ -L ${SOURCE} ]]; do
+bin="$(cd -P "$(dirname "${SOURCE}")" && pwd)"
+SOURCE="$(readlink "${SOURCE}")"
+[[ ${SOURCE} != /* ]] && SOURCE="${bin}/${SOURCE}"
   done
   # Set up variables needed by accumulo-env.sh
-  bin="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"; export bin
-  basedir=$( cd -P "${bin}"/.. && pwd ); export basedir
+  bin=&qu

[accumulo] branch single-node-props updated (bb4df59ced -> 34da29703f)

2022-05-07 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from bb4df59ced Merge branch 'main' into single-node-props
 add 74b48da924 Add new blip count to GC (#2672)
 add 82146a4994 Update Replication Table offline message in Monitor (#2676)
 add c5ca1713d1 Clean up bulkImport js (#2675)
 add bbd32b1ad4 Bug fix for caption in tservers table in monitor (#2674)
 add c356c93f5b GC Blip Count Follow up Fixes (#2678)
 add 838eccf83e Add VFS type mapping for new jar mime type (#2683)
 new 34da29703f Merge branch 'main' into single-node-props

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:
 .../accumulo/core/gc/thrift/GcCycleStats.java  | 104 ++-
 core/src/main/thrift/gc.thrift |   1 +
 .../accumulo/gc/GarbageCollectionAlgorithm.java| 110 +---
 .../apache/accumulo/gc/SimpleGarbageCollector.java |   7 +-
 .../apache/accumulo/gc/GarbageCollectionTest.java  |  21 +++-
 .../accumulo/monitor/resources/js/bulkImport.js| 139 ++---
 .../accumulo/monitor/resources/js/functions.js |   8 +-
 .../apache/accumulo/monitor/resources/js/global.js |   3 +
 .../accumulo/monitor/resources/js/replication.js   |   2 +-
 .../apache/accumulo/monitor/resources/js/server.js |   3 +-
 .../accumulo/monitor/resources/js/tservers.js  | 122 ++
 .../accumulo/monitor/templates/bulkImport.ftl  |   4 +-
 .../apache/accumulo/monitor/templates/tservers.ftl |   6 +-
 .../classloader/vfs/AccumuloVFSClassLoader.java|   5 +-
 .../accumulo/start/test/AccumuloDFSBase.java   |   1 +
 15 files changed, 334 insertions(+), 202 deletions(-)



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-05-07 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 34da29703f7ecbda08beefc38a697887e8df0343
Merge: bb4df59ced 838eccf83e
Author: Christopher Tubbs 
AuthorDate: Sun May 8 01:48:17 2022 -0400

Merge branch 'main' into single-node-props

 .../accumulo/core/gc/thrift/GcCycleStats.java  | 104 ++-
 core/src/main/thrift/gc.thrift |   1 +
 .../accumulo/gc/GarbageCollectionAlgorithm.java| 110 +---
 .../apache/accumulo/gc/SimpleGarbageCollector.java |   7 +-
 .../apache/accumulo/gc/GarbageCollectionTest.java  |  21 +++-
 .../accumulo/monitor/resources/js/bulkImport.js| 139 ++---
 .../accumulo/monitor/resources/js/functions.js |   8 +-
 .../apache/accumulo/monitor/resources/js/global.js |   3 +
 .../accumulo/monitor/resources/js/replication.js   |   2 +-
 .../apache/accumulo/monitor/resources/js/server.js |   3 +-
 .../accumulo/monitor/resources/js/tservers.js  | 122 ++
 .../accumulo/monitor/templates/bulkImport.ftl  |   4 +-
 .../apache/accumulo/monitor/templates/tservers.ftl |   6 +-
 .../classloader/vfs/AccumuloVFSClassLoader.java|   5 +-
 .../accumulo/start/test/AccumuloDFSBase.java   |   1 +
 15 files changed, 334 insertions(+), 202 deletions(-)



[accumulo] branch main updated: Add VFS type mapping for new jar mime type (#2683)

2022-05-06 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 838eccf83e Add VFS type mapping for new jar mime type (#2683)
838eccf83e is described below

commit 838eccf83ee88d0716b88d021611b1fb85089491
Author: Christopher Tubbs 
AuthorDate: Fri May 6 20:44:45 2022 -0400

Add VFS type mapping for new jar mime type (#2683)

Add VFS type mapping for the new jar mime type added in newer versions
of Java 17, application/java-archive, to ensure it is associated with
the "jar" scheme in VFS. This ensures VFS loads jars correctly when run
on a newer version of Java.

This fixes #2682
See related: https://issues.apache.org/jira/browse/VFS-819
---
 .../accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java   | 5 ++---
 .../test/java/org/apache/accumulo/start/test/AccumuloDFSBase.java| 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
 
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
index 6b5a5de522..d797c0cf3b 100644
--- 
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
+++ 
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
@@ -285,6 +285,7 @@ public class AccumuloVFSClassLoader {
 vfs.addExtensionMap("tbz2", "tar");
 vfs.addExtensionMap("tgz", "tar");
 vfs.addExtensionMap("bz2", "bz2");
+vfs.addMimeTypeMap("application/java-archive", "jar");
 vfs.addMimeTypeMap("application/x-tar", "tar");
 vfs.addMimeTypeMap("application/x-gzip", "gz");
 vfs.addMimeTypeMap("application/zip", "zip");
@@ -426,9 +427,7 @@ public class AccumuloVFSClassLoader {
   private static synchronized ContextManager getContextManager() throws 
IOException {
 if (contextManager == null) {
   getClassLoader();
-  contextManager = new ContextManager(generateVfs(), () -> {
-return getClassLoader();
-  });
+  contextManager = new ContextManager(generateVfs(), 
AccumuloVFSClassLoader::getClassLoader);
 }
 
 return contextManager;
diff --git 
a/start/src/test/java/org/apache/accumulo/start/test/AccumuloDFSBase.java 
b/start/src/test/java/org/apache/accumulo/start/test/AccumuloDFSBase.java
index f070badd8e..a4f1e9a919 100644
--- a/start/src/test/java/org/apache/accumulo/start/test/AccumuloDFSBase.java
+++ b/start/src/test/java/org/apache/accumulo/start/test/AccumuloDFSBase.java
@@ -112,6 +112,7 @@ public class AccumuloDFSBase {
   vfs.addExtensionMap("tbz2", "tar");
   vfs.addExtensionMap("tgz", "tar");
   vfs.addExtensionMap("bz2", "bz2");
+  vfs.addMimeTypeMap("application/java-archive", "jar");
   vfs.addMimeTypeMap("application/x-tar", "tar");
   vfs.addMimeTypeMap("application/x-gzip", "gz");
   vfs.addMimeTypeMap("application/zip", "zip");



[accumulo] branch main updated (74b48da924 -> 82146a4994)

2022-05-04 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 74b48da924 Add new blip count to GC (#2672)
 add 82146a4994 Update Replication Table offline message in Monitor (#2676)

No new revisions were added by this update.

Summary of changes:
 .../resources/org/apache/accumulo/monitor/resources/js/replication.js   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-05-03 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit bb4df59cedcc0b3c1ca444da83233ec8a9ebe7ac
Merge: bbf477bea3 16b5e3bb7b
Author: Christopher Tubbs 
AuthorDate: Tue May 3 18:25:43 2022 -0400

Merge branch 'main' into single-node-props

 LICENSE|   2 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java| 449 ++
 .../apache/accumulo/gc/SimpleGarbageCollector.java | 382 +---
 .../accumulo/gc/SimpleGarbageCollectorTest.java|   6 +-
 .../external/bootstrap/css/bootstrap-theme.css | 200 ++---
 .../external/bootstrap/css/bootstrap-theme.css.map |   1 +
 .../resources/external/bootstrap/css/bootstrap.css | 985 +++--
 .../external/bootstrap/css/bootstrap.css.map   |   1 +
 .../resources/external/bootstrap/js/bootstrap.js   | 397 +++--
 .../accumulo/monitor/resources/js/bulkImport.js|   1 +
 .../accumulo/monitor/resources/js/compactions.js   |   1 +
 .../org/apache/accumulo/monitor/resources/js/ec.js |   1 +
 .../accumulo/monitor/resources/js/functions.js |   1 +
 .../org/apache/accumulo/monitor/resources/js/gc.js |   1 +
 .../apache/accumulo/monitor/resources/js/global.js |   1 +
 .../accumulo/monitor/resources/js/listType.js  |   1 +
 .../accumulo/monitor/resources/js/manager.js   |   1 +
 .../apache/accumulo/monitor/resources/js/navbar.js |   1 +
 .../accumulo/monitor/resources/js/overview.js  |   1 +
 .../accumulo/monitor/resources/js/problems.js  |   1 +
 .../accumulo/monitor/resources/js/replication.js   |   1 +
 .../apache/accumulo/monitor/resources/js/scans.js  |   1 +
 .../apache/accumulo/monitor/resources/js/server.js |   1 +
 .../apache/accumulo/monitor/resources/js/show.js   |   1 +
 .../accumulo/monitor/resources/js/summary.js   |   1 +
 .../apache/accumulo/monitor/resources/js/table.js  |   1 +
 .../accumulo/monitor/resources/js/tservers.js  |  33 +-
 .../apache/accumulo/monitor/templates/tservers.ftl |   1 +
 28 files changed, 1467 insertions(+), 1007 deletions(-)



[accumulo] branch single-node-props updated (bbf477bea3 -> bb4df59ced)

2022-05-03 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from bbf477bea3 Merge branch 'main' into single-node-props
 add d51e2f1c44 Upgrade to Bootstrap v3.4.1 and include missing map files 
(#2662)
 add bbcf67424d Add js strict directive to each js file (#2664)
 add b3ac225d43 Highlight rows with recovering tservers in the tserver 
status table (#2663)
 add 16b5e3bb7b Create new internal GC class (#2670)
 new bb4df59ced Merge branch 'main' into single-node-props

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:
 LICENSE|   2 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java| 449 ++
 .../apache/accumulo/gc/SimpleGarbageCollector.java | 382 +---
 .../accumulo/gc/SimpleGarbageCollectorTest.java|   6 +-
 .../external/bootstrap/css/bootstrap-theme.css | 200 ++---
 .../external/bootstrap/css/bootstrap-theme.css.map |   1 +
 .../resources/external/bootstrap/css/bootstrap.css | 985 +++--
 .../external/bootstrap/css/bootstrap.css.map   |   1 +
 .../resources/external/bootstrap/js/bootstrap.js   | 397 +++--
 .../accumulo/monitor/resources/js/bulkImport.js|   1 +
 .../accumulo/monitor/resources/js/compactions.js   |   1 +
 .../org/apache/accumulo/monitor/resources/js/ec.js |   1 +
 .../accumulo/monitor/resources/js/functions.js |   1 +
 .../org/apache/accumulo/monitor/resources/js/gc.js |   1 +
 .../apache/accumulo/monitor/resources/js/global.js |   1 +
 .../accumulo/monitor/resources/js/listType.js  |   1 +
 .../accumulo/monitor/resources/js/manager.js   |   1 +
 .../apache/accumulo/monitor/resources/js/navbar.js |   1 +
 .../accumulo/monitor/resources/js/overview.js  |   1 +
 .../accumulo/monitor/resources/js/problems.js  |   1 +
 .../accumulo/monitor/resources/js/replication.js   |   1 +
 .../apache/accumulo/monitor/resources/js/scans.js  |   1 +
 .../apache/accumulo/monitor/resources/js/server.js |   1 +
 .../apache/accumulo/monitor/resources/js/show.js   |   1 +
 .../accumulo/monitor/resources/js/summary.js   |   1 +
 .../apache/accumulo/monitor/resources/js/table.js  |   1 +
 .../accumulo/monitor/resources/js/tservers.js  |  33 +-
 .../apache/accumulo/monitor/templates/tservers.ftl |   1 +
 28 files changed, 1467 insertions(+), 1007 deletions(-)
 create mode 100644 server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/css/bootstrap-theme.css.map
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/css/bootstrap.css.map



[accumulo] branch single-node-props updated (13e8d9e3c3 -> bbf477bea3)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 13e8d9e3c3 Merge branch 'main' into single-node-props
 add 9381f5eae4 Bump caffeine dependency
 add 006ba33116 Use getCount for COUNT property types
 add c355945f8a Check for misplaced ITs
 new bbf477bea3 Merge branch 'main' into single-node-props

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:
 pom.xml|  2 +-
 .../accumulo/server/replication/ReplicationUtil.java   |  2 +-
 .../accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java |  4 ++--
 test/pom.xml   | 14 ++
 4 files changed, 18 insertions(+), 4 deletions(-)



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit bbf477bea36527486fd905ecc6346b0cfedc777c
Merge: 13e8d9e3c3 c355945f8a
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 20:57:08 2022 -0400

Merge branch 'main' into single-node-props

 pom.xml|  2 +-
 .../accumulo/server/replication/ReplicationUtil.java   |  2 +-
 .../accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java |  4 ++--
 test/pom.xml   | 14 ++
 4 files changed, 18 insertions(+), 4 deletions(-)



[accumulo] 03/03: Check for misplaced ITs

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit c355945f8a08004da63743a14bf91e3f0b73af36
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 20:56:24 2022 -0400

Check for misplaced ITs
---
 test/pom.xml | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/test/pom.xml b/test/pom.xml
index 673a3ae794..0cbcfb085f 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -280,6 +280,20 @@
   
 
   
+  
+check-for-misplaced-UTs
+
+  exec
+
+validate
+
+  bash
+  
+-c
+! find src/main/java -name '*Test.java' -exec echo 
'[ERROR] {} should be in src/test/java' \; | grep 'src/main/java'
+  
+
+  
 
   
   



[accumulo] 02/03: Use getCount for COUNT property types

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit 006ba33116e886982037babccdb95898149a6dd4
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 20:56:03 2022 -0400

Use getCount for COUNT property types
---
 .../java/org/apache/accumulo/server/replication/ReplicationUtil.java  | 2 +-
 .../org/apache/accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicationUtil.java
 
b/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicationUtil.java
index c2cdab16a1..69c470dd3c 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicationUtil.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/replication/ReplicationUtil.java
@@ -69,7 +69,7 @@ public class ReplicationUtil {
 
 // The number of threads each tserver will use at most to replicate data
 int replicationThreadsPerServer =
-
Integer.parseInt(context.getConfiguration().get(Property.REPLICATION_WORKER_THREADS));
+
context.getConfiguration().getCount(Property.REPLICATION_WORKER_THREADS);
 
 // The total number of "slots" we have to replicate data
 return activeTservers * replicationThreadsPerServer;
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java
index 6934573080..70cdca4018 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java
@@ -183,8 +183,8 @@ public class PrepBulkImport extends ManagerRepo {
 VolumeManager fs = manager.getVolumeManager();
 final Path bulkDir = new Path(bulkInfo.sourceDir);
 
-int maxTablets = 
Integer.parseInt(manager.getContext().getTableConfiguration(bulkInfo.tableId)
-.get(Property.TABLE_BULK_MAX_TABLETS));
+int maxTablets = 
manager.getContext().getTableConfiguration(bulkInfo.tableId)
+.getCount(Property.TABLE_BULK_MAX_TABLETS);
 
 try (LoadMappingIterator lmi =
 BulkSerialize.readLoadMapping(bulkDir.toString(), bulkInfo.tableId, 
fs::open)) {



[accumulo] branch main updated (39bc7a0524 -> c355945f8a)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 39bc7a0524 Add base objects for Tablet and TabletServer for the 
upcoming ScanServer feature (#2661)
 new 9381f5eae4 Bump caffeine dependency
 new 006ba33116 Use getCount for COUNT property types
 new c355945f8a Check for misplaced ITs

The 3 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:
 pom.xml|  2 +-
 .../accumulo/server/replication/ReplicationUtil.java   |  2 +-
 .../accumulo/manager/tableOps/bulkVer2/PrepBulkImport.java |  4 ++--
 test/pom.xml   | 14 ++
 4 files changed, 18 insertions(+), 4 deletions(-)



[accumulo] 01/03: Bump caffeine dependency

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit 9381f5eae45d2d4ca0f306f775c5147a551154b4
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 20:44:43 2022 -0400

Bump caffeine dependency
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 02e71707c4..1709024842 100644
--- a/pom.xml
+++ b/pom.xml
@@ -255,7 +255,7 @@
   
 com.github.ben-manes.caffeine
 caffeine
-3.0.5
+3.1.0
   
   
 com.github.spotbugs



[accumulo] branch single-node-props updated (f336894433 -> 13e8d9e3c3)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from f336894433 Merge branch 'main' into single-node-props
 add 39bc7a0524 Add base objects for Tablet and TabletServer for the 
upcoming ScanServer feature (#2661)
 new 13e8d9e3c3 Merge branch 'main' into single-node-props

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:
 .../system/SourceSwitchingIterator.java|   2 +
 .../accumulo/tserver/TabletClientHandler.java  |  10 +-
 .../accumulo/tserver/TabletHostingServer.java  |  57 +++
 .../org/apache/accumulo/tserver/TabletServer.java  |  27 +-
 .../accumulo/tserver/ThriftScanClientHandler.java  |  51 +--
 .../apache/accumulo/tserver/scan/LookupTask.java   |   4 +-
 .../accumulo/tserver/scan/NextBatchTask.java   |   4 +-
 .../org/apache/accumulo/tserver/scan/ScanTask.java |   6 +-
 .../accumulo/tserver/tablet/ScanDataSource.java|  33 +-
 .../apache/accumulo/tserver/tablet/Scanner.java|   8 +-
 .../org/apache/accumulo/tserver/tablet/Tablet.java | 455 +++-
 .../apache/accumulo/tserver/tablet/TabletBase.java | 462 +
 12 files changed, 670 insertions(+), 449 deletions(-)
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/TabletHostingServer.java
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletBase.java



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 13e8d9e3c3b78dae7be88baeeccbab501bda44f5
Merge: f336894433 39bc7a0524
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 17:33:14 2022 -0400

Merge branch 'main' into single-node-props

 .../system/SourceSwitchingIterator.java|   2 +
 .../accumulo/tserver/TabletClientHandler.java  |  10 +-
 .../accumulo/tserver/TabletHostingServer.java  |  57 +++
 .../org/apache/accumulo/tserver/TabletServer.java  |  27 +-
 .../accumulo/tserver/ThriftScanClientHandler.java  |  51 +--
 .../apache/accumulo/tserver/scan/LookupTask.java   |   4 +-
 .../accumulo/tserver/scan/NextBatchTask.java   |   4 +-
 .../org/apache/accumulo/tserver/scan/ScanTask.java |   6 +-
 .../accumulo/tserver/tablet/ScanDataSource.java|  33 +-
 .../apache/accumulo/tserver/tablet/Scanner.java|   8 +-
 .../org/apache/accumulo/tserver/tablet/Tablet.java | 455 +++-
 .../apache/accumulo/tserver/tablet/TabletBase.java | 462 +
 12 files changed, 670 insertions(+), 449 deletions(-)



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit f336894433838332e31aacb0ab9c0c1d386ec099
Merge: c8505dfde1 ba244f6515
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 15:48:51 2022 -0400

Merge branch 'main' into single-node-props

 .../accumulo/core/client/IsolatedScanner.java  |   1 -
 .../accumulo/core/conf/DefaultConfiguration.java   |   9 +-
 .../accumulo/core/conf/SiteConfiguration.java  |  10 +-
 .../org/apache/accumulo/core/trace/TraceUtil.java  |  20 +--
 .../core/client/rfile/RFileClientTest.java |   7 +-
 .../accumulo/core/conf/SiteConfigurationTest.java  |   8 +-
 ...tRegexTableLoadBalancerReconfigurationTest.java |   2 +-
 .../balancer/HostRegexTableLoadBalancerTest.java   |   2 +-
 .../hadoop/its/mapred/AccumuloOutputFormatIT.java  |  25 ++--
 .../accumulo/hadoop/its/mapred/TokenFileIT.java|  25 ++--
 .../its/mapreduce/AccumuloOutputFormatIT.java  |  26 ++--
 .../accumulo/hadoop/its/mapreduce/TokenFileIT.java |  25 ++--
 .../accumulo/iteratortest/IteratorTestBase.java|   2 -
 .../org/apache/accumulo/server/ServerContext.java  | 122 ++--
 .../server/conf/ServerConfigurationFactory.java| 155 ++---
 .../server/security/AuditedSecurityOperation.java  |   4 +-
 .../apache/accumulo/server/ServerContextTest.java  |  58 +---
 .../conf/ServerConfigurationFactoryTest.java   |  30 ++--
 .../BaseHostRegexTableLoadBalancerTest.java|   2 +-
 .../server/security/SystemCredentialsTest.java |   2 +-
 .../coordinator/CompactionCoordinator.java |   3 +-
 .../org/apache/accumulo/compactor/Compactor.java   |   1 -
 .../accumulo/gc/SimpleGarbageCollectorTest.java|   2 +-
 .../java/org/apache/accumulo/manager/Manager.java  |   3 -
 .../accumulo/manager/upgrade/Upgrader9to10.java|   2 -
 .../accumulo/monitor/resources/js/functions.js |  10 ++
 .../apache/accumulo/monitor/resources/js/server.js | 126 ++---
 .../apache/accumulo/monitor/templates/server.ftl   |  15 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |   5 -
 .../org/apache/accumulo/shell/ShellOptionsJC.java  |  23 ++-
 .../accumulo/shell/commands/TraceCommand.java  |  56 +---
 .../org/apache/accumulo/test/AuditMessageIT.java   |  14 +-
 .../apache/accumulo/test/ConditionalWriterIT.java  |   9 +-
 .../org/apache/accumulo/test/ExistingMacIT.java|  15 +-
 .../accumulo/test/IsolationAndDeepCopyIT.java  |  13 +-
 .../org/apache/accumulo/test/SplitRecoveryIT.java  |   4 +-
 .../accumulo/test/functional/BigRootTabletIT.java  |   4 +-
 .../accumulo/test/functional/ClassLoaderIT.java|  13 +-
 .../accumulo/test/functional/CombinerIT.java   |  13 +-
 .../accumulo/test/functional/CreateAndUseIT.java   |   8 +-
 .../test/functional/DeleteEverythingIT.java|  14 +-
 .../accumulo/test/functional/DeleteRowsIT.java |   4 +-
 .../test/functional/GarbageCollectorIT.java|   7 +-
 .../accumulo/test/functional/KerberosIT.java   |   6 +-
 .../accumulo/test/functional/MetadataIT.java   |  20 +--
 .../accumulo/test/functional/RowDeleteIT.java  |  41 +++---
 .../apache/accumulo/test/functional/TableIT.java   |   6 +-
 .../accumulo/test/functional/TooManyDeletesIT.java |   2 -
 .../test/functional/ZookeeperRestartIT.java|  12 +-
 .../test/mapred/AccumuloOutputFormatIT.java|  11 +-
 .../apache/accumulo/test/mapred/TokenFileIT.java   |  11 +-
 .../test/mapreduce/AccumuloOutputFormatIT.java |  12 +-
 .../accumulo/test/mapreduce/TokenFileIT.java   |  23 ++-
 53 files changed, 417 insertions(+), 626 deletions(-)




[accumulo] branch single-node-props updated (c8505dfde1 -> f336894433)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from c8505dfde1 Merge branch 'main' into single-node-props
 add 837dc6b242 Modified Shell tracing to use native OpenTelemetry Tracer 
(#2656)
 add 5aaeb011f3 Address TODOs found in code (#2648)
 add d564715e82 Replace iterator usage (#2646)
 add 874ea84a07 Replace more js with jquery in server.js (#2652)
 add 295f82c4b0 Resolve unused format arguments (#2655)
 add ba244f6515 Use memoized suppliers to lazy load resources (#2658)
 new f336894433 Merge branch 'main' into single-node-props

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:
 .../accumulo/core/client/IsolatedScanner.java  |   1 -
 .../accumulo/core/conf/DefaultConfiguration.java   |   9 +-
 .../accumulo/core/conf/SiteConfiguration.java  |  10 +-
 .../org/apache/accumulo/core/trace/TraceUtil.java  |  20 +--
 .../core/client/rfile/RFileClientTest.java |   7 +-
 .../accumulo/core/conf/SiteConfigurationTest.java  |   8 +-
 ...tRegexTableLoadBalancerReconfigurationTest.java |   2 +-
 .../balancer/HostRegexTableLoadBalancerTest.java   |   2 +-
 .../hadoop/its/mapred/AccumuloOutputFormatIT.java  |  25 ++--
 .../accumulo/hadoop/its/mapred/TokenFileIT.java|  25 ++--
 .../its/mapreduce/AccumuloOutputFormatIT.java  |  26 ++--
 .../accumulo/hadoop/its/mapreduce/TokenFileIT.java |  25 ++--
 .../accumulo/iteratortest/IteratorTestBase.java|   2 -
 .../org/apache/accumulo/server/ServerContext.java  | 122 ++--
 .../server/conf/ServerConfigurationFactory.java| 155 ++---
 .../server/security/AuditedSecurityOperation.java  |   4 +-
 .../apache/accumulo/server/ServerContextTest.java  |  58 +---
 .../conf/ServerConfigurationFactoryTest.java   |  30 ++--
 .../BaseHostRegexTableLoadBalancerTest.java|   2 +-
 .../server/security/SystemCredentialsTest.java |   2 +-
 .../coordinator/CompactionCoordinator.java |   3 +-
 .../org/apache/accumulo/compactor/Compactor.java   |   1 -
 .../accumulo/gc/SimpleGarbageCollectorTest.java|   2 +-
 .../java/org/apache/accumulo/manager/Manager.java  |   3 -
 .../accumulo/manager/upgrade/Upgrader9to10.java|   2 -
 .../accumulo/monitor/resources/js/functions.js |  10 ++
 .../apache/accumulo/monitor/resources/js/server.js | 126 ++---
 .../apache/accumulo/monitor/templates/server.ftl   |  15 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |   5 -
 .../org/apache/accumulo/shell/ShellOptionsJC.java  |  23 ++-
 .../accumulo/shell/commands/TraceCommand.java  |  56 +---
 .../org/apache/accumulo/test/AuditMessageIT.java   |  14 +-
 .../apache/accumulo/test/ConditionalWriterIT.java  |   9 +-
 .../org/apache/accumulo/test/ExistingMacIT.java|  15 +-
 .../accumulo/test/IsolationAndDeepCopyIT.java  |  13 +-
 .../org/apache/accumulo/test/SplitRecoveryIT.java  |   4 +-
 .../accumulo/test/functional/BigRootTabletIT.java  |   4 +-
 .../accumulo/test/functional/ClassLoaderIT.java|  13 +-
 .../accumulo/test/functional/CombinerIT.java   |  13 +-
 .../accumulo/test/functional/CreateAndUseIT.java   |   8 +-
 .../test/functional/DeleteEverythingIT.java|  14 +-
 .../accumulo/test/functional/DeleteRowsIT.java |   4 +-
 .../test/functional/GarbageCollectorIT.java|   7 +-
 .../accumulo/test/functional/KerberosIT.java   |   6 +-
 .../accumulo/test/functional/MetadataIT.java   |  20 +--
 .../accumulo/test/functional/RowDeleteIT.java  |  41 +++---
 .../apache/accumulo/test/functional/TableIT.java   |   6 +-
 .../accumulo/test/functional/TooManyDeletesIT.java |   2 -
 .../test/functional/ZookeeperRestartIT.java|  12 +-
 .../test/mapred/AccumuloOutputFormatIT.java|  11 +-
 .../apache/accumulo/test/mapred/TokenFileIT.java   |  11 +-
 .../test/mapreduce/AccumuloOutputFormatIT.java |  12 +-
 .../accumulo/test/mapreduce/TokenFileIT.java   |  23 ++-
 53 files changed, 417 insertions(+), 626 deletions(-)



[accumulo] branch main updated: Use memoized suppliers to lazy load resources (#2658)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new ba244f6515 Use memoized suppliers to lazy load resources (#2658)
ba244f6515 is described below

commit ba244f6515be6d62cfdcfae86116beeb79e19960
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 13:47:21 2022 -0400

Use memoized suppliers to lazy load resources (#2658)

* Remove the need to synchronize on reads for lazily initialized
  singleton resources, particularly in the configuration and context
  utilities, using Suppliers.memoize
* Apply to DefaultConfiguration.getInstance() to avoid unnecessary
  object creation whenever that is called
* Make all ServerContext fields final, and use memoize to lazily load
  anything that was previously checking if it was set in a synchronized
  getter method
* Use computeIfAbsent in ServerConfigurationFactory, and make its caches
  of configuration objects non-static, so they only live as long as the
  ServerContext that created it lives; this, along with using
  ConcurrentHashMaps, dramatically simplifies this code
* Reduce ServerContext reliance on ServerConfigurationFactory when it
  already has the information (notably, it has the instance of
  SiteConfiguration it used to construct the ServerConfigurationFactory)
* Add a builder option for SiteConfiguration.empty() for use with tests
* Update related tests, and make ServerContextTest.testCanRun more
  robust
---
 .../accumulo/core/conf/DefaultConfiguration.java   |   9 +-
 .../accumulo/core/conf/SiteConfiguration.java  |  10 +-
 .../accumulo/core/conf/SiteConfigurationTest.java  |   8 +-
 ...tRegexTableLoadBalancerReconfigurationTest.java |   2 +-
 .../balancer/HostRegexTableLoadBalancerTest.java   |   2 +-
 .../org/apache/accumulo/server/ServerContext.java  | 122 ++--
 .../server/conf/ServerConfigurationFactory.java| 155 ++---
 .../apache/accumulo/server/ServerContextTest.java  |  58 +---
 .../conf/ServerConfigurationFactoryTest.java   |  30 ++--
 .../BaseHostRegexTableLoadBalancerTest.java|   2 +-
 .../server/security/SystemCredentialsTest.java |   2 +-
 .../coordinator/CompactionCoordinator.java |   1 -
 .../org/apache/accumulo/compactor/Compactor.java   |   1 -
 .../accumulo/gc/SimpleGarbageCollectorTest.java|   2 +-
 .../java/org/apache/accumulo/manager/Manager.java  |   3 -
 .../accumulo/manager/upgrade/Upgrader9to10.java|   2 -
 .../org/apache/accumulo/tserver/TabletServer.java  |   5 -
 17 files changed, 159 insertions(+), 255 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
index fe08e5a3b3..7ba8026f62 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
@@ -18,9 +18,12 @@
  */
 package org.apache.accumulo.core.conf;
 
+import static com.google.common.base.Suppliers.memoize;
+
 import java.util.Arrays;
 import java.util.Map;
 import java.util.function.Predicate;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 /**
@@ -29,7 +32,9 @@ import java.util.stream.Collectors;
  */
 public class DefaultConfiguration extends AccumuloConfiguration {
 
-  private static final Map resolvedProps =
+  private static final Supplier instance = 
memoize(DefaultConfiguration::new);
+
+  private final Map resolvedProps =
   Arrays.stream(Property.values()).filter(p -> p.getType() != 
PropertyType.PREFIX)
   .collect(Collectors.toMap(Property::getKey, 
Property::getDefaultValue));
 
@@ -41,7 +46,7 @@ public class DefaultConfiguration extends 
AccumuloConfiguration {
* @return default configuration
*/
   public static DefaultConfiguration getInstance() {
-return new DefaultConfiguration();
+return instance.get();
   }
 
   @Override
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index 63c5c28334..e1c6ed3ea7 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -77,8 +77,7 @@ public class SiteConfiguration extends AccumuloConfiguration {
 // visible to package-private for testing only
 Builder() {}
 
-// exists for testing only
-OverridesOption noFile() {
+private OverridesOption noFile() {
   return this;
 }
 
@@ -196,6 +195,13 @@ public class SiteConfiguration extends 
AccumuloConfiguration {
 return new SiteConfiguration.Builder().fromFile(propertiesFileLocat

[accumulo] branch main updated: Address TODOs found in code (#2648)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 5aaeb011f3 Address TODOs found in code (#2648)
5aaeb011f3 is described below

commit 5aaeb011f362f89caae1e1ab117c897ed2e4da21
Author: Dom G 
AuthorDate: Thu Apr 28 07:24:11 2022 -0400

Address TODOs found in code (#2648)


Co-authored-by: Christopher Tubbs 
---
 .../org/apache/accumulo/shell/ShellOptionsJC.java  | 23 --
 .../apache/accumulo/test/ConditionalWriterIT.java  |  9 -
 .../org/apache/accumulo/test/ExistingMacIT.java| 15 +++---
 .../accumulo/test/functional/TooManyDeletesIT.java |  2 --
 4 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java 
b/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
index 09504ec2e7..aa6776074a 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/ShellOptionsJC.java
@@ -32,7 +32,9 @@ import org.apache.accumulo.core.conf.ClientProperty;
 import org.apache.hadoop.security.UserGroupInformation;
 
 import com.beust.jcommander.DynamicParameter;
+import com.beust.jcommander.IParameterValidator;
 import com.beust.jcommander.Parameter;
+import com.beust.jcommander.ParameterException;
 import com.beust.jcommander.converters.FileConverter;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -110,8 +112,9 @@ public class ShellOptionsJC {
   private String zooKeeperHosts;
 
   @Parameter(names = "--auth-timeout",
-  description = "minutes the shell can be idle without re-entering a 
password")
-  private int authTimeout = 60; // TODO Add validator for positive number
+  description = "minutes the shell can be idle without re-entering a 
password",
+  validateWith = PositiveInteger.class)
+  private int authTimeout = 60;
 
   @Parameter(names = "--disable-auth-timeout",
   description = "disables requiring the user to re-type a password after 
being idle")
@@ -236,4 +239,20 @@ public class ShellOptionsJC {
 return props;
   }
 
+  static class PositiveInteger implements IParameterValidator {
+@Override
+public void validate(String name, String value) throws ParameterException {
+  int n = -1;
+  try {
+n = Integer.parseInt(value);
+  } catch (NumberFormatException e) {
+// ignore, will be handled below
+  }
+  if (n < 0) {
+throw new ParameterException(
+"Parameter " + name + " should be a positive integer (was " + 
value + ")");
+  }
+}
+  }
+
 }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java 
b/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
index d27f77955d..1e38f862cf 100644
--- a/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.test;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static 
org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -44,6 +45,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 import org.apache.accumulo.cluster.ClusterUser;
 import org.apache.accumulo.core.client.Accumulo;
@@ -883,15 +885,20 @@ public class ConditionalWriterIT extends 
SharedMiniClusterBase {
 
 int count = 0;
 
-// TODO check got each row back
+Set rowsReceived = new HashSet<>();
 while (results.hasNext()) {
   Result result = results.next();
+  rowsReceived.add(new String(result.getMutation().getRow(), UTF_8));
   assertEquals(Status.ACCEPTED, result.getStatus());
   count++;
 }
 
 assertEquals(num, count, "Did not receive the expected number of 
results");
 
+Set rowsExpected =
+rows.stream().map(row -> new String(row, 
UTF_8)).collect(Collectors.toSet());
+assertEquals(rowsExpected, rowsReceived, "Did not receive all expected 
rows");
+
 ArrayList cml2 = new ArrayList<>(num);
 
 for (int i = 0; i < num; i++) {
diff --git a/test/src/main/java/org/apache/accumulo/test/ExistingMacIT.java 
b/test/src/main/java/org/apache/accumulo/test/ExistingMacIT.java
index 6cde924490..342cb3ffb8 100644
--- a/test/src/main/java/org/apache/accumulo/test/ExistingMacIT

[accumulo] branch single-node-props updated (292453bf49 -> c8505dfde1)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 292453bf49 Minor enhancements to ZK utilities
 add 6b6ba749b6 Moved AuditedSecurityOperation to ServerContext
 add f37d5e43ce More improvements to new SecurityOperation
 new c8505dfde1 Merge branch 'main' into single-node-props

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:
 .../org/apache/accumulo/server/ServerContext.java  | 11 +
 .../server/client/ClientServiceHandler.java|  3 +-
 .../apache/accumulo/server/init/Initialize.java|  4 +-
 .../server/security/AuditedSecurityOperation.java  |  8 
 .../server/security/SecurityOperation.java | 54 +-
 .../accumulo/server/util/TServerUtilsTest.java |  1 +
 .../coordinator/CompactionCoordinator.java |  3 +-
 .../org/apache/accumulo/compactor/Compactor.java   |  3 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  3 +-
 .../replication/ManagerReplicationCoordinator.java |  3 +-
 .../manager/tableOps/clone/ClonePermissions.java   |  7 ++-
 .../manager/tableOps/create/SetupPermissions.java  |  5 +-
 .../accumulo/manager/tableOps/delete/CleanUp.java  |  5 +-
 .../create/SetupNamespacePermissions.java  |  3 +-
 .../namespace/delete/NamespaceCleanUp.java |  5 +-
 .../tableImport/ImportSetupPermissions.java|  5 +-
 .../ManagerReplicationCoordinatorTest.java |  3 ++
 .../accumulo/tserver/TabletClientHandler.java  |  3 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |  3 +-
 .../accumulo/tserver/ThriftScanClientHandler.java  |  3 +-
 20 files changed, 57 insertions(+), 78 deletions(-)



[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit c8505dfde103e70bfa3533761cc4a40c24ad9b51
Merge: 292453bf49 f37d5e43ce
Author: Christopher Tubbs 
AuthorDate: Thu Apr 28 03:25:08 2022 -0400

Merge branch 'main' into single-node-props

 .../org/apache/accumulo/server/ServerContext.java  | 11 +
 .../server/client/ClientServiceHandler.java|  3 +-
 .../apache/accumulo/server/init/Initialize.java|  4 +-
 .../server/security/AuditedSecurityOperation.java  |  8 
 .../server/security/SecurityOperation.java | 54 +-
 .../accumulo/server/util/TServerUtilsTest.java |  1 +
 .../coordinator/CompactionCoordinator.java |  3 +-
 .../org/apache/accumulo/compactor/Compactor.java   |  3 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  3 +-
 .../replication/ManagerReplicationCoordinator.java |  3 +-
 .../manager/tableOps/clone/ClonePermissions.java   |  7 ++-
 .../manager/tableOps/create/SetupPermissions.java  |  5 +-
 .../accumulo/manager/tableOps/delete/CleanUp.java  |  5 +-
 .../create/SetupNamespacePermissions.java  |  3 +-
 .../namespace/delete/NamespaceCleanUp.java |  5 +-
 .../tableImport/ImportSetupPermissions.java|  5 +-
 .../ManagerReplicationCoordinatorTest.java |  3 ++
 .../accumulo/tserver/TabletClientHandler.java  |  3 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |  3 +-
 .../accumulo/tserver/ThriftScanClientHandler.java  |  3 +-
 20 files changed, 57 insertions(+), 78 deletions(-)




[accumulo] branch main updated (c3f6b58a90 -> f37d5e43ce)

2022-04-28 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from c3f6b58a90 Rely on WADL for dynamic REST endpoint listing (#2654)
 add 6b6ba749b6 Moved AuditedSecurityOperation to ServerContext
 add f37d5e43ce More improvements to new SecurityOperation

No new revisions were added by this update.

Summary of changes:
 .../org/apache/accumulo/server/ServerContext.java  | 11 +
 .../server/client/ClientServiceHandler.java|  3 +-
 .../apache/accumulo/server/init/Initialize.java|  4 +-
 .../server/security/AuditedSecurityOperation.java  |  8 
 .../server/security/SecurityOperation.java | 54 +-
 .../accumulo/server/util/TServerUtilsTest.java |  1 +
 .../coordinator/CompactionCoordinator.java |  3 +-
 .../org/apache/accumulo/compactor/Compactor.java   |  3 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  3 +-
 .../replication/ManagerReplicationCoordinator.java |  3 +-
 .../manager/tableOps/clone/ClonePermissions.java   |  7 ++-
 .../manager/tableOps/create/SetupPermissions.java  |  5 +-
 .../accumulo/manager/tableOps/delete/CleanUp.java  |  5 +-
 .../create/SetupNamespacePermissions.java  |  3 +-
 .../namespace/delete/NamespaceCleanUp.java |  5 +-
 .../tableImport/ImportSetupPermissions.java|  5 +-
 .../ManagerReplicationCoordinatorTest.java |  3 ++
 .../accumulo/tserver/TabletClientHandler.java  |  3 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |  3 +-
 .../accumulo/tserver/ThriftScanClientHandler.java  |  3 +-
 20 files changed, 57 insertions(+), 78 deletions(-)



[accumulo] 01/02: Include classloader context in log message

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 81c0386010fd5e26fb8251aed41fa40f4301725d
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 15:31:22 2022 -0400

Include classloader context in log message
---
 .../java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
index 5951f61636..d43e8dd674 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationTypeHelper.java
@@ -181,7 +181,7 @@ public class ConfigurationTypeHelper {
 try {
   instance = getClassInstance(context, clazzName, base);
 } catch (RuntimeException | IOException | ReflectiveOperationException e) {
-  log.warn("Failed to load class {}", clazzName, e);
+  log.warn("Failed to load class {} in classloader context {}", clazzName, 
context, e);
 }
 
 if (instance == null && defaultInstance != null) {



[accumulo] 02/02: Minor enhancements to ZK utilities

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 292453bf49eb4053c300aa634d6bf061726f30de
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 15:51:56 2022 -0400

Minor enhancements to ZK utilities
---
 .../apache/accumulo/fate/zookeeper/ZooReader.java  | 15 ++
 .../accumulo/fate/zookeeper/ZooReaderWriter.java   | 56 ++
 .../apache/accumulo/fate/zookeeper/ZooUtil.java| 38 +++
 3 files changed, 101 insertions(+), 8 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
index 4165d3faa7..2aa996b613 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReader.java
@@ -66,6 +66,16 @@ public class ZooReader {
 return RETRY_FACTORY;
   }
 
+  /**
+   * Returns the requested ZooKeeper client session timeout. The client may 
negotiate a different
+   * value and the actual negotiated value may change after a re-connect.
+   *
+   * @return the timeout in milliseconds
+   */
+  public int getSessionTimeout() {
+return timeout;
+  }
+
   public byte[] getData(String zPath) throws KeeperException, 
InterruptedException {
 return retryLoop(zk -> zk.getData(zPath, null, null));
   }
@@ -79,6 +89,11 @@ public class ZooReader {
 return retryLoop(zk -> zk.getData(zPath, requireNonNull(watcher), null));
   }
 
+  public byte[] getData(String zPath, Watcher watcher, Stat stat)
+  throws KeeperException, InterruptedException {
+return retryLoop(zk -> zk.getData(zPath, requireNonNull(watcher), 
requireNonNull(stat)));
+  }
+
   public Stat getStatus(String zPath) throws KeeperException, 
InterruptedException {
 return retryLoop(zk -> zk.exists(zPath, null));
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
index 8e79007cc1..58c5671f50 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java
@@ -134,6 +134,33 @@ public class ZooReaderWriter extends ZooReader {
 e -> e.code() == Code.NONODE && policy == NodeExistsPolicy.OVERWRITE);
   }
 
+  /**
+   * Overwrite a persistent node if the data version matches.
+   *
+   * @param zPath
+   *  the zookeeper path
+   * @param data
+   *  the byte array data
+   * @param expectedVersion
+   *  the expected data version of the zookeeper node.
+   * @return true if the data was set, false if the version does not match 
expected.
+   * @throws KeeperException
+   *   if a KeeperException occurs (no node most likely)
+   * @throws InterruptedException
+   *   if the zookeeper write is interrupted.
+   */
+  public boolean overwritePersistentData(String zPath, byte[] data, final int 
expectedVersion)
+  throws KeeperException, InterruptedException {
+return retryLoop(zk -> {
+  try {
+zk.setData(zPath, data, expectedVersion);
+return true;
+  } catch (KeeperException.BadVersionException ex) {
+return false;
+  }
+});
+  }
+
   /**
* Create a persistent sequential node with the default ACL
*
@@ -242,15 +269,28 @@ public class ZooReaderWriter extends ZooReader {
* Delete the specified node, and ignore NONODE exceptions.
*/
   public void delete(String path) throws KeeperException, InterruptedException 
{
-retryLoop(zk -> {
-  try {
-zk.delete(path, -1);
-  } catch (KeeperException e) {
-// ignore the case where the node doesn't exist
-if (e.code() != Code.NONODE) {
-  throw e;
-}
+try {
+  deleteStrict(path, -1);
+} catch (KeeperException e) {
+  if (e.code() != Code.NONODE) {
+throw e;
   }
+}
+  }
+
+  /**
+   * Delete the specified node if the version matches the provided version. 
All underlying
+   * exceptions are thrown back to the caller.
+   *
+   * @param path
+   *  the path of the ZooKeeper node.
+   * @param version
+   *  the expected version of the ZooKeeper node.
+   */
+  public void deleteStrict(final String path, final int version)
+  throws KeeperException, InterruptedException {
+retryLoop(zk -> {
+  zk.delete(path, version);
   return null;
 });
   }
diff --git a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
index 82c3a1658b..6f6431ede1 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookee

[accumulo] branch single-node-props updated (cccb8b40b1 -> 292453bf49)

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from cccb8b40b1 Improve getting parent from AccumuloConfiguration
 new 81c0386010 Include classloader context in log message
 new 292453bf49 Minor enhancements to ZK utilities

The 2 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:
 .../core/conf/ConfigurationTypeHelper.java |  2 +-
 .../apache/accumulo/fate/zookeeper/ZooReader.java  | 15 ++
 .../accumulo/fate/zookeeper/ZooReaderWriter.java   | 56 ++
 .../apache/accumulo/fate/zookeeper/ZooUtil.java| 38 +++
 4 files changed, 102 insertions(+), 9 deletions(-)



[accumulo] branch single-node-props updated: Improve getting parent from AccumuloConfiguration

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/single-node-props by this push:
 new cccb8b40b1 Improve getting parent from AccumuloConfiguration
cccb8b40b1 is described below

commit cccb8b40b15678bc90d297a04752f48ad0d46b53
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 13:46:24 2022 -0400

Improve getting parent from AccumuloConfiguration

* Also improve the singleton loading of DefaultConfiguration to reduce
  object creation
---
 .../apache/accumulo/core/conf/AccumuloConfiguration.java  | 15 +--
 .../apache/accumulo/core/conf/DefaultConfiguration.java   | 10 --
 .../org/apache/accumulo/core/conf/SiteConfiguration.java  |  5 +
 .../accumulo/server/conf/NamespaceConfiguration.java  | 14 +-
 .../apache/accumulo/server/conf/TableConfiguration.java   | 14 +-
 .../org/apache/accumulo/server/conf/ZooConfiguration.java |  5 +
 .../accumulo/server/conf/NamespaceConfigurationTest.java  |  2 +-
 .../accumulo/server/conf/TableConfigurationTest.java  |  2 +-
 8 files changed, 43 insertions(+), 24 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 84043937c0..f7cc68ac62 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -63,7 +63,7 @@ public abstract class AccumuloConfiguration implements 
Iterable cachedPrefixProps = new 
EnumMap<>(Property.class);
-  private Lock prefixCacheUpdateLock = new ReentrantLock();
+  private final Lock prefixCacheUpdateLock = new ReentrantLock();
 
   private static final Logger log = 
LoggerFactory.getLogger(AccumuloConfiguration.class);
 
@@ -162,7 +162,9 @@ public abstract class AccumuloConfiguration implements 
Iterable> stream() {
 return StreamSupport.stream(this.spliterator(), false);
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
index f8d958a34d..b4c25570df 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
@@ -21,15 +21,21 @@ package org.apache.accumulo.core.conf;
 import java.util.Arrays;
 import java.util.Map;
 import java.util.function.Predicate;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
+import com.google.common.base.Suppliers;
+
 /**
  * An {@link AccumuloConfiguration} that contains only default values for 
properties. This class is
  * a singleton.
  */
 public class DefaultConfiguration extends AccumuloConfiguration {
 
-  private static final Map resolvedProps =
+  private static final Supplier singleton =
+  Suppliers.memoize(DefaultConfiguration::new);
+
+  private final Map resolvedProps =
   Arrays.stream(Property.values()).filter(p -> p.getType() != 
PropertyType.PREFIX)
   .collect(Collectors.toMap(Property::getKey, 
Property::getDefaultValue));
 
@@ -41,7 +47,7 @@ public class DefaultConfiguration extends 
AccumuloConfiguration {
* @return default configuration
*/
   public static DefaultConfiguration getInstance() {
-return new DefaultConfiguration();
+return singleton.get();
   }
 
   @Override
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index fb97876fb6..e2380138a8 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -271,4 +271,9 @@ public class SiteConfiguration extends 
AccumuloConfiguration {
   }
 });
   }
+
+  @Override
+  public AccumuloConfiguration getParent() {
+return parent;
+  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
index 1e7586eeff..e3eb342332 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
@@ -53,15 +53,6 @@ public class NamespaceConfiguration extends 
AccumuloConfiguration {
 + Constants.ZNAMESPACE_CONF;
   }
 
-  /**
-   * Gets the parent configuration of this configuration.
-   *
-   * @return parent configuration
-   */
-  public AccumuloConfiguration getParentConfiguration() {
-return parent;
-  }
-
   void setZooCacheFactory(ZooCacheFactory zcf) {
 

[accumulo] 01/01: Merge branch 'main' into single-node-props

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 38f181877e93c838643771f6a6ac8ade451198bd
Merge: 363a281d17 c3f6b58a90
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 12:57:28 2022 -0400

Merge branch 'main' into single-node-props

 assemble/pom.xml   |  5 +++
 assemble/src/main/assemblies/component.xml |  3 +-
 assemble/src/main/resources/LICENSE|  2 +
 pom.xml|  1 +
 .../apache/accumulo/server/util/ChangeSecret.java  | 30 --
 .../src/test/resources/conf/accumulo-site.xml  |  7 ++--
 server/monitor/pom.xml |  5 +++
 .../org/apache/accumulo/monitor/view/WebViews.java | 47 --
 .../apache/accumulo/monitor/templates/debug.ftl| 28 -
 .../apache/accumulo/monitor/templates/navbar.ftl   |  1 -
 .../accumulo/shell/commands/CompactCommand.java|  2 +-
 11 files changed, 27 insertions(+), 104 deletions(-)



[accumulo] branch main updated (981d54612c -> c3f6b58a90)

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 981d54612c Added missing space in string literal
 add c3f6b58a90 Rely on WADL for dynamic REST endpoint listing (#2654)

No new revisions were added by this update.

Summary of changes:
 assemble/pom.xml   |  5 +++
 assemble/src/main/assemblies/component.xml |  3 +-
 assemble/src/main/resources/LICENSE|  2 +
 pom.xml|  1 +
 server/monitor/pom.xml |  5 +++
 .../org/apache/accumulo/monitor/view/WebViews.java | 47 --
 .../apache/accumulo/monitor/templates/debug.ftl| 28 -
 .../apache/accumulo/monitor/templates/navbar.ftl   |  1 -
 8 files changed, 15 insertions(+), 77 deletions(-)
 delete mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/templates/debug.ftl



[accumulo-website] branch asf-site updated (b1e00a9d -> 733a0d7e)

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


from b1e00a9d Automatic Site Publish by Buildbot
 add bfaed669 Automatic Site Publish by Buildbot
 add ebe8d988 Automatic Site Publish by Buildbot
 add 622f0a1a Automatic Site Publish by Buildbot
 add 733a0d7e Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/feed.xml  |  4 ++--
 output/people/index.html |  5 +
 output/release/accumulo-2.1.0/index.html |  9 -
 output/release/index.html| 22 +++---
 output/search_data.json  | 16 
 5 files changed, 34 insertions(+), 22 deletions(-)



[accumulo-website] branch main updated: Rename 2.1.0 release notes to a past date

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/main by this push:
 new cc3a57b7 Rename 2.1.0 release notes to a past date
cc3a57b7 is described below

commit cc3a57b756ff18161684bf27de9a36db5b23847a
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 08:25:09 2022 -0400

Rename 2.1.0 release notes to a past date

Ensure the draft release notes are generated by selecting a date that is
in the past (my mistake... I originally set it to an expected release
date around June, but Jekyll won't generate posts that have future
dates)
---
 .../{2022-06-30-accumulo-2.1.0.md => 2022-04-27-accumulo-2.1.0.md}| 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/_posts/release/2022-06-30-accumulo-2.1.0.md 
b/_posts/release/2022-04-27-accumulo-2.1.0.md
similarity index 100%
rename from _posts/release/2022-06-30-accumulo-2.1.0.md
rename to _posts/release/2022-04-27-accumulo-2.1.0.md



[accumulo-website] branch main updated: Move draft release notes for 2.1.0

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 21164096 Move draft release notes for 2.1.0
21164096 is described below

commit 21164096f71560db413bcd536bd6d0500ee14da3
Author: Christopher Tubbs 
AuthorDate: Wed Apr 27 08:21:16 2022 -0400

Move draft release notes for 2.1.0

Rename draft release notes for 2.1.0 to represent a more realistic
anticipated release date
---
 .../{2020-01-19-accumulo-2.1.0.md => 2022-06-30-accumulo-2.1.0.md}| 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/_posts/release/2020-01-19-accumulo-2.1.0.md 
b/_posts/release/2022-06-30-accumulo-2.1.0.md
similarity index 100%
rename from _posts/release/2020-01-19-accumulo-2.1.0.md
rename to _posts/release/2022-06-30-accumulo-2.1.0.md



[accumulo-website] branch main updated: Update people.md (#314)

2022-04-27 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 6bca63a3 Update people.md (#314)
6bca63a3 is described below

commit 6bca63a3b085fa3d79262653fd93e4396498df6e
Author: nikita <72053786+nikita-sir...@users.noreply.github.com>
AuthorDate: Wed Apr 27 05:19:28 2022 -0700

Update people.md (#314)

Add Nikita Sirohi (myself)

ref: apache/accumulo#2622
---
 pages/people.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pages/people.md b/pages/people.md
index e613eee0..b1d06c19 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -152,6 +152,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Morgan Haskel   |
   |   |
 | Nguessan Kouame |
   |   |
 | Nicolás Alarcón R.  |
   | [CEST][CEST]  |
+| Nikita Sirohi.  | [Ghost Locomotion][GHOST]  
   | [PT][PT]  |
 | Oren Falkowitz  | [sqrrl][SQRRL] 
   | [ET][ET]  |
 | Phil Eberhardt  | [sqrrl][SQRRL] 
   | [ET][ET]  |
 | Philip Young|
   |   |
@@ -207,6 +208,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 [ENDGAME]: https://www.endgame.com
 [FAST-NU]: https://nu.edu.pk/
 [FLYWHEEL]: https://flywheeldata.com
+[GHOST]: https://www.driveghost.com/
 [HORTONWORKS]: https://hortonworks.com
 [IBM]: https://www.ibm.com
 [JHUAPL]: https://www.jhuapl.edu



[accumulo] branch single-node-props updated: Remove isPropertySet option for caching

2022-04-26 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/single-node-props by this push:
 new 363a281d17 Remove isPropertySet option for caching
363a281d17 is described below

commit 363a281d17bb9b13c1123751dd2f30a3d712453b
Author: Christopher Tubbs 
AuthorDate: Tue Apr 26 15:53:32 2022 -0400

Remove isPropertySet option for caching

This is an incremental change from the single-node property changes
---
 .../accumulo/core/conf/AccumuloConfiguration.java  |  8 
 .../accumulo/core/conf/ConfigurationCopy.java  |  2 +-
 .../accumulo/core/conf/DefaultConfiguration.java   |  2 +-
 .../accumulo/core/conf/SiteConfiguration.java  |  4 ++--
 .../accumulo/core/util/ConfigurationImpl.java  |  2 +-
 .../util/compaction/CompactionServicesConfig.java  | 11 +--
 .../core/conf/AccumuloConfigurationTest.java   |  2 +-
 .../org/apache/accumulo/server/ServerContext.java  |  2 +-
 .../server/conf/NamespaceConfiguration.java| 11 ++-
 .../accumulo/server/conf/TableConfiguration.java   | 13 ++---
 .../accumulo/server/conf/ZooConfiguration.java | 22 --
 .../accumulo/tserver/tablet/CompactableImpl.java   |  2 +-
 .../accumulo/tserver/tablet/CompactableUtils.java  |  2 +-
 13 files changed, 30 insertions(+), 53 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index b86e3481a8..84043937c0 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -97,7 +97,7 @@ public abstract class AccumuloConfiguration implements 
Iterable 
key.startsWith(defaultServicePrefix)).map(Property::getPropertyByKey)
-  .anyMatch(prop -> prop == null || aconf.isPropertySet(prop, true));
+  .anyMatch(prop -> prop == null || aconf.isPropertySet(prop));
 
   if (defaultServicePropsSet) {
 
@@ -130,8 +130,7 @@ public class CompactionServicesConfig {
 planners.put(tokens[0], val);
   } else if (tokens.length == 3 && tokens[1].equals("rate") && 
tokens[2].equals("limit")) {
 var eprop = Property.getPropertyByKey(prop);
-if (eprop == null || aconf.isPropertySet(eprop, true)
-|| !isDeprecatedThroughputSet(aconf)) {
+if (eprop == null || aconf.isPropertySet(eprop) || 
!isDeprecatedThroughputSet(aconf)) {
   rateLimits.put(tokens[0], 
ConfigurationTypeHelper.getFixedMemoryAsBytes(val));
 }
   } else {
@@ -152,7 +151,7 @@ public class CompactionServicesConfig {
 
   @SuppressWarnings("removal")
   private boolean isDeprecatedThroughputSet(AccumuloConfiguration aconf) {
-return aconf.isPropertySet(Property.TSERV_MAJC_THROUGHPUT, true);
+return aconf.isPropertySet(Property.TSERV_MAJC_THROUGHPUT);
   }
 
   public long getRateLimit(String serviceName) {
diff --git 
a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
 
b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
index d03e1a8383..5fb3cfa375 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -155,7 +155,7 @@ public class AccumuloConfigurationTest {
 }
 
 @Override
-public boolean isPropertySet(Property prop, boolean cacheAndWatch) {
+public boolean isPropertySet(Property prop) {
   return props.containsKey(prop.getKey());
 }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java 
b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
index 4dc56a6a37..418e199a71 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
@@ -399,7 +399,7 @@ public class ServerContext extends ClientContext {
   String key = entry.getKey();
   log.info("{} = {}", key, (Property.isSensitive(key) ? "" : 
entry.getValue()));
   Property prop = Property.getPropertyByKey(key);
-  if (prop != null && conf.isPropertySet(prop, false)) {
+  if (prop != null && conf.isPropertySet(prop)) {
 if (prop.isDeprecated()) {
   Property replacedBy = prop.replacedBy();
   if (replacedBy != null) {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
index b81cf919e8..1e7586eeff 100644
--- 
a/server/base/src/main

[accumulo] branch single-node-props created (now ef0f52b16a)

2022-04-26 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch single-node-props
in repository https://gitbox.apache.org/repos/asf/accumulo.git


  at ef0f52b16a Handle thread interrupt in server client execute loop 
(#2622)

No new revisions were added by this update.



[accumulo] branch main updated: Handle thread interrupt in server client execute loop (#2622)

2022-04-26 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new ef0f52b16a Handle thread interrupt in server client execute loop 
(#2622)
ef0f52b16a is described below

commit ef0f52b16ae148bceb74d9d3ff2a091a4d497aeb
Author: nikita <72053786+nikita-sir...@users.noreply.github.com>
AuthorDate: Tue Apr 26 06:35:50 2022 -0700

Handle thread interrupt in server client execute loop (#2622)

Re-throw ClosedByInterruptException as UncheckedIOException to
exit out of interrupted retry loops to improve the client side user
experience when interrupting the process with `Ctrl+C`

This fixes #2621

Co-authored-by: Nikita Sirohi 
---
 .../java/org/apache/accumulo/core/rpc/TTimeoutTransport.java   | 10 ++
 .../src/main/java/org/apache/accumulo/core/rpc/ThriftUtil.java |  6 ++
 .../main/java/org/apache/accumulo/server/rpc/TServerUtils.java |  6 ++
 3 files changed, 22 insertions(+)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java 
b/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
index d7068c718d..b69d081e28 100644
--- a/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
+++ b/core/src/main/java/org/apache/accumulo/core/rpc/TTimeoutTransport.java
@@ -23,9 +23,11 @@ import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.UncheckedIOException;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.SocketAddress;
+import java.nio.channels.ClosedByInterruptException;
 import java.nio.channels.spi.SelectorProvider;
 
 import org.apache.accumulo.core.util.HostAndPort;
@@ -87,6 +89,10 @@ public class TTimeoutTransport {
   socket = openSocket(addr, (int) timeoutMillis);
 } catch (IOException e) {
   // openSocket handles closing the Socket on error
+  if (e instanceof ClosedByInterruptException) {
+Thread.currentThread().interrupt();
+throw new UncheckedIOException(e);
+  }
   throw new TTransportException(e);
 }
 
@@ -100,6 +106,10 @@ public class TTimeoutTransport {
   return new TIOStreamTransport(input, output);
 } catch (IOException e) {
   closeSocket(socket, e);
+  if (e instanceof ClosedByInterruptException) {
+Thread.currentThread().interrupt();
+throw new UncheckedIOException(e);
+  }
   throw new TTransportException(e);
 } catch (TTransportException e) {
   closeSocket(socket, e);
diff --git a/core/src/main/java/org/apache/accumulo/core/rpc/ThriftUtil.java 
b/core/src/main/java/org/apache/accumulo/core/rpc/ThriftUtil.java
index 3e63ac1cbf..30c6d8a50b 100644
--- a/core/src/main/java/org/apache/accumulo/core/rpc/ThriftUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/rpc/ThriftUtil.java
@@ -20,7 +20,9 @@ package org.apache.accumulo.core.rpc;
 
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.UncheckedIOException;
 import java.net.InetAddress;
+import java.nio.channels.ClosedByInterruptException;
 import java.security.KeyStore;
 import java.security.SecureRandom;
 import java.util.HashMap;
@@ -328,6 +330,10 @@ public class ThriftUtil {
   throw e;
 } catch (IOException e) {
   log.warn("Failed to open SASL transport", e);
+  if (e instanceof ClosedByInterruptException) {
+Thread.currentThread().interrupt();
+throw new UncheckedIOException(e);
+  }
   throw new TTransportException(e);
 }
   } else {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java 
b/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java
index ba8ba2d8f8..0910f5332e 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java
@@ -21,10 +21,12 @@ package org.apache.accumulo.server.rpc;
 import static com.google.common.base.Preconditions.checkArgument;
 
 import java.io.IOException;
+import java.io.UncheckedIOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.UnknownHostException;
+import java.nio.channels.ClosedByInterruptException;
 import java.util.Arrays;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -527,6 +529,10 @@ public class TServerUtils {
   serverUser = UserGroupInformation.getLoginUser();
 } catch (IOException e) {
   transport.close();
+  if (e instanceof ClosedByInterruptException) {
+Thread.currentThread().interrupt();
+throw new UncheckedIOException(e);
+  }
   throw new TTransportException(e);
 }
 



[accumulo] branch main updated (c130f1cc55 -> 36cece479b)

2022-04-20 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from c130f1cc55 Improvements to streams usages (#2638)
 add 36cece479b Update GitHub Actions workflows (#2644)

No new revisions were added by this update.

Summary of changes:
 .github/workflows/maven-full-its.yaml  | 22 --
 .github/workflows/maven-on-demand.yaml | 13 +++--
 .github/workflows/maven.yaml   | 20 +++-
 3 files changed, 30 insertions(+), 25 deletions(-)



[accumulo] branch main updated: Update Apache parent POM, modernizer (#2636)

2022-04-18 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new b00c6d216b Update Apache parent POM, modernizer (#2636)
b00c6d216b is described below

commit b00c6d216bca0755bd0d1fdc26518ae99a59
Author: Christopher Tubbs 
AuthorDate: Mon Apr 18 13:03:00 2022 -0400

Update Apache parent POM, modernizer (#2636)

* Update modernizer and fix new recommendations, primarily replacing
  Guava Iterables and making more use of Stream
* Add ConfigurationCopy constructor to accept a Stream
* Add sequential stream() to ScannerBase to easily stream results and
  replace `new StreamSupport(scanner.spliterator(), false)` with this
* Fix incorrect imports of dependencies shaded into Hadoop
* Remove no longer needed m2e ignores in the POM
* Also bump sortpom and datasketches and add two new enforcer QA rules

* Update 
core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java

Co-authored-by: Dom G. 

* Fix dependency analysis

* Mark test-only dependencies in the test scope
* Move MapReduceClientOpts class to src/test/java - There is an issue
  with the dependency analyzer where it doesn't properly detect that
  MapReduceClientOpts requires jcommander to compile, even though it
  does. It requires it because its parent class, ClientOpts, uses
  JCommander annotations. There does not appear to be a way to add an
  exception to force the analyzer to ignore this class. However, it
  turns out that this class was only ever used it tests, where
  JCommander is explicitly required for compilation already, so this
  class was moved to the test directory.
* Incidentally, shorten the array element names in the dependency
  analyzer configuration, because the names are ignored for
  configuration types that are arrays, and because this makes it easier
  to read. Also remove an extra stray dash character found after doing
  this.

* Fix RowHashIT

Inline MapReduceClientOpts into test where it is used and squash it with
its one and only subclass there, to avoid jar sealing issues.

Co-authored-by: Dom G. 
---
 .../apache/accumulo/core/client/ScannerBase.java   |  13 +++
 .../core/client/rfile/RFileWriterBuilder.java  |   5 +-
 .../accumulo/core/conf/AccumuloConfiguration.java  |   6 ++
 .../accumulo/core/conf/ConfigurationCopy.java  |  15 ++-
 .../accumulo/core/metadata/schema/AmpleImpl.java   |   6 +-
 .../core/metadata/schema/TabletsMetadata.java  |   6 +-
 .../spi/balancer/HostRegexTableLoadBalancer.java   |  13 ++-
 .../apache/accumulo/core/crypto/CryptoTest.java|   5 +-
 .../compaction/DefaultCompactionPlannerTest.java   |  22 ++--
 .../apache/accumulo/core/util/ValidatorTest.java   |   2 +-
 hadoop-mapreduce/pom.xml   |   9 +-
 .../mapreduce/lib/MapReduceClientOpts.java |  95 -
 .../accumulo/hadoop/its/mapreduce/RowHashIT.java   |  63 +++-
 minicluster/pom.xml|   9 +-
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   |   5 +-
 pom.xml| 113 +++--
 .../balancer/HostRegexTableLoadBalancer.java   |  15 ++-
 .../server/master/balancer/TabletBalancer.java |   6 +-
 .../accumulo/server/metadata/ServerAmpleImpl.java  |   6 +-
 .../AuthenticationTokenSecretManagerTest.java  |  16 +--
 .../apache/accumulo/gc/SimpleGarbageCollector.java |   3 +-
 .../manager/tableOps/create/PopulateMetadata.java  |   6 +-
 .../accumulo/manager/upgrade/Upgrader9to10.java|   4 +-
 .../tableOps/bulkVer2/PrepBulkImportTest.java  |  40 
 server/tserver/pom.xml |   9 +-
 .../org/apache/accumulo/tserver/InMemoryMap.java   |   6 +-
 .../tserver/replication/ReplicationProcessor.java  |   4 +-
 .../accumulo/tserver/session/SessionManager.java   |  31 ++
 .../accumulo/tserver/tablet/ScanDataSource.java|   5 +-
 .../tserver/constraints/ConstraintCheckerTest.java |   7 +-
 shell/pom.xml  |   9 +-
 .../apache/accumulo/harness/AccumuloITBase.java|  14 +++
 .../org/apache/accumulo/test/CloseScannerIT.java   |   3 +-
 .../apache/accumulo/test/ConditionalWriterIT.java  |  38 ---
 .../accumulo/test/functional/AccumuloClientIT.java |   4 +-
 .../test/functional/BadLocalityGroupMincIT.java|   4 +-
 .../accumulo/test/functional/CleanTmpIT.java   |   3 +-
 .../test/functional/KerberosRenewalIT.java |   4 +-
 .../accumulo/test/functional/MetadataIT.java   |   5 +-
 .../test/functional/SessionBlockVerifyIT.java  |   4 +-
 .../apache/accumulo/test/functional/SummaryIT.java |  34 +++
 .../CloseWriteAheadLogReferencesIT.java

[accumulo] branch main updated: Check for non Junit5 usage in CI (#2630)

2022-04-14 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new f86f4927a6 Check for non Junit5 usage in CI (#2630)
f86f4927a6 is described below

commit f86f4927a6968fa95d3025f3612858619a46f63c
Author: Dom G 
AuthorDate: Thu Apr 14 20:55:33 2022 -0400

Check for non Junit5 usage in CI (#2630)

* Fix found incorrect assert being used in a test
* Check for both vintage stuff in unapproved classes, as well as jupiter
  stuff in the approved vintage classes

Co-authored-by: Christopher Tubbs 
---
 .github/workflows/maven.yaml   |  2 +
 contrib/ci/find-unapproved-junit.sh| 55 ++
 .../test/functional/ServerSideErrorIT.java |  2 +-
 3 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
index 0b063514eb..4c2c4a1db8 100644
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@ -51,6 +51,8 @@ jobs:
   run: git log -n1
 - name: Check for unapproved characters
   run: contrib/ci/find-unapproved-chars.sh
+- name: Check for unapproved JUnit API usage
+  run: contrib/ci/find-unapproved-junit.sh
 - name: Build with Maven (Fast Build)
   timeout-minutes: 20
   run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -DskipTests -DskipFormat -DverifyFormat
diff --git a/contrib/ci/find-unapproved-junit.sh 
b/contrib/ci/find-unapproved-junit.sh
new file mode 100755
index 00..a10bea4499
--- /dev/null
+++ b/contrib/ci/find-unapproved-junit.sh
@@ -0,0 +1,55 @@
+#! /usr/bin/env bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# The purpose of this ci script is to ensure that a pull request doesn't
+# unintentionally add JUnit jupiter APIs to vintage tests, or add vintage
+# APIs to new jupiter tests.
+NUM_EXPECTED=0
+ALLOWED=(
+  
server/compaction-coordinator/src/test/java/org/apache/accumulo/coordinator/CompactionCoordinatorTest.java
+  
server/compactor/src/test/java/org/apache/accumulo/compactor/CompactorTest.java
+  
start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoaderTest.java
+)
+
+ALLOWED_PIPE_SEP=$({ for x in "${ALLOWED[@]}"; do echo "$x" ; done; } | paste 
-sd'|')
+
+function findalljunitproblems() {
+  # -P for perl matching, -R for recursive, -l for matching files
+  local opts='-PRl'
+  if [[ $1 == 'print' ]]; then
+# -P for perl matching, -R for recursive, -l for matching files, -H for 
always showing filenames
+opts='-PRlH'
+  fi
+  # find any new classes using something other than the jupiter API, except 
those allowed
+  grep "$opts" --include='*.java' 'org[.]junit[.](?!jupiter)' | grep -Pv 
"^(${ALLOWED_PIPE_SEP//./[.]})\$"
+  # find any uses of the jupiter API in the allowed vintage classes
+  grep "$opts" 'org[.]junit[.]jupiter' "${ALLOWED[@]}"
+}
+
+function comparecounts() {
+  local count; count=$(findalljunitproblems | wc -l)
+  if [[ $NUM_EXPECTED -ne $count ]]; then
+echo "Expected $NUM_EXPECTED, but found $count classes using the wrong 
JUnit APIs:"
+findalljunitproblems 'print'
+return 1
+  fi
+}
+
+comparecounts && echo "Found exactly $NUM_EXPECTED unapproved JUnit API uses, 
as expected"
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/ServerSideErrorIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/ServerSideErrorIT.java
index 8d8a91e39b..d2de6744c6 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/ServerSideErrorIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/ServerSideErrorIT.java
@@ -19,7 +19,7 @@
 package org.apache.accumulo.test.functional;
 
 import static 
org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.time.Duration;
 import java.util.Collections;



[accumulo] branch main updated: Fix ThriftTransportPool client idle timeout default (#2629)

2022-04-13 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 09e51978d3 Fix ThriftTransportPool client idle timeout default (#2629)
09e51978d3 is described below

commit 09e51978d37b48ec9fe0a5482390cf983a0beed7
Author: Christopher Tubbs 
AuthorDate: Wed Apr 13 21:59:41 2022 -0400

Fix ThriftTransportPool client idle timeout default (#2629)

* Create new client-side property for ThriftTransportPool's idle
  transport timeout. This allows the default value for clients to be
  configured independently of the default value for servers.
* Set default value for clients back to 3 seconds, like it was
  hard-coded prior to the changes in #2612
* Fix debug logging of the transport pool idle time value

This fixes #2626
---
 .../java/org/apache/accumulo/core/clientImpl/ClientContext.java| 7 ++-
 .../org/apache/accumulo/core/clientImpl/ThriftTransportPool.java   | 2 +-
 .../main/java/org/apache/accumulo/core/conf/ClientProperty.java| 5 +
 .../src/main/java/org/apache/accumulo/server/ServerContext.java| 5 +
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
index 02f6e8a243..08a852c3f0 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
@@ -1014,10 +1014,15 @@ public class ClientContext implements AccumuloClient {
 return zooReader;
   }
 
+  protected long getTransportPoolMaxAgeMillis() {
+ensureOpen();
+return 
ClientProperty.RPC_TRANSPORT_IDLE_TIMEOUT.getTimeInMillis(getProperties());
+  }
+
   public synchronized ThriftTransportPool getTransportPool() {
 ensureOpen();
 if (thriftTransportPool == null) {
-  thriftTransportPool = 
ThriftTransportPool.startNew(this::getClientTimeoutInMillis);
+  thriftTransportPool = 
ThriftTransportPool.startNew(this::getTransportPoolMaxAgeMillis);
 }
 return thriftTransportPool;
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
index 8b53e02e7c..7dd9a8cde0 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
@@ -106,7 +106,7 @@ public class ThriftTransportPool {
*/
   static ThriftTransportPool startNew(LongSupplier maxAgeMillis) {
 var pool = new ThriftTransportPool(maxAgeMillis);
-log.debug("Set thrift transport pool idle time to {}", maxAgeMillis);
+log.debug("Set thrift transport pool idle time to {}ms", 
maxAgeMillis.getAsLong());
 pool.checkThread.start();
 return pool;
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ClientProperty.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ClientProperty.java
index 306e4490ed..b20f6ac51d 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ClientProperty.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ClientProperty.java
@@ -122,6 +122,11 @@ public enum ClientProperty {
   SASL_KERBEROS_SERVER_PRIMARY("sasl.kerberos.server.primary", "accumulo",
   "Kerberos principal/primary that Accumulo servers use to login"),
 
+  // RPC
+  RPC_TRANSPORT_IDLE_TIMEOUT("rpc.transport.idle.timeout", "3s", 
PropertyType.TIMEDURATION,
+  "The maximum duration to leave idle transports open in the client's 
transport pool", "2.1.0",
+  false),
+
   // Trace
   @Deprecated(since = "2.1.0", forRemoval = true)
   TRACE_SPAN_RECEIVERS("trace.span.receivers", 
"org.apache.accumulo.tracer.ZooTraceClient",
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java 
b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
index 16b841ef7c..4dc56a6a37 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
@@ -461,4 +461,9 @@ public class ServerContext extends ClientContext {
 return sharedScheduledThreadPool;
   }
 
+  @Override
+  protected long getTransportPoolMaxAgeMillis() {
+return getClientTimeoutInMillis();
+  }
+
 }



[accumulo] branch main updated (25f6995fb3 -> f1986d4c59)

2022-04-13 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 25f6995fb3 Merge pull request #2584
 add f1986d4c59 Convert Compaction Coordinator module to JUnit5 (#2628)

No new revisions were added by this update.

Summary of changes:
 server/compaction-coordinator/pom.xml   | 5 +
 .../java/org/apache/accumulo/coordinator/QueueSummariesTest.java| 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)



[accumulo] branch main updated (09ae8477e6 -> 25f6995fb3)

2022-04-12 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from 09ae8477e6 Convert accumulo-start module to use JUnit5 (#2608)
 add 78490fbac8 Convert iterator test harness module to JUnit5
 add 7b40211126 Make improvements to iterator test harness
 new 25f6995fb3 Merge pull request #2584

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:
 iterator-test-harness/pom.xml  |   8 +-
 .../accumulo/iteratortest/IteratorTestBase.java| 139 +
 .../{testcases => }/IteratorTestCase.java  |  19 ++-
 .../iteratortest/IteratorTestCaseFinder.java   |  82 
 .../accumulo/iteratortest/IteratorTestOutput.java  |   1 -
 .../iteratortest/IteratorTestParameters.java   |  28 ++---
 .../accumulo/iteratortest/IteratorTestReport.java  |  80 
 .../accumulo/iteratortest/IteratorTestRunner.java  | 101 ---
 .../junit4/BaseJUnit4IteratorTest.java | 104 ---
 .../iteratortest/testcases/DeepCopyTestCase.java   |   4 +-
 .../testcases/InstantiationTestCase.java   |   1 +
 .../testcases/IsolatedDeepCopiesTestCase.java  |   4 +-
 .../{ => testcases}/IteratorTestUtil.java  |  11 +-
 .../testcases/MultipleHasTopCalls.java |   4 +-
 .../testcases/OutputVerifyingTestCase.java |  34 -
 .../iteratortest/testcases/ReSeekTestCase.java |   4 +-
 .../{ => testcases}/SimpleKVReusingIterator.java   |   6 +-
 .../iteratortest/testcases/YieldingTestCase.java   |   4 +-
 .../iteratortest/framework/JUnitFrameworkTest.java |  76 +--
 .../accumulo/test/iterator/AgeOffFilterTest.java   |  44 +++
 .../test/iterator/CfCqSliceFilterTest.java |  82 +---
 .../test/iterator/SummingCombinerTest.java | 101 +++
 .../test/iterator/WholeRowIteratorTest.java|  46 +++
 23 files changed, 329 insertions(+), 654 deletions(-)
 create mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestBase.java
 rename 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/{testcases 
=> }/IteratorTestCase.java (76%)
 delete mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestCaseFinder.java
 copy 
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionDispatchImpl.java
 => 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestParameters.java
 (61%)
 delete mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestReport.java
 delete mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestRunner.java
 delete mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/junit4/BaseJUnit4IteratorTest.java
 rename iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/{ 
=> testcases}/IteratorTestUtil.java (82%)
 delete mode 100644 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/OutputVerifyingTestCase.java
 rename iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/{ 
=> testcases}/SimpleKVReusingIterator.java (92%)



[accumulo] 01/01: Merge pull request #2584

2022-04-12 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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

commit 25f6995fb3c6ba3fbd76ab71c5d6b7469342cbe6
Merge: 09ae8477e6 7b40211126
Author: Christopher Tubbs 
AuthorDate: Wed Apr 13 00:33:53 2022 -0400

Merge pull request #2584

Migrate iterator-test-harness module JUnit5

 iterator-test-harness/pom.xml  |   8 +-
 .../accumulo/iteratortest/IteratorTestBase.java| 139 +
 .../{testcases => }/IteratorTestCase.java  |  19 ++-
 .../iteratortest/IteratorTestCaseFinder.java   |  82 
 .../accumulo/iteratortest/IteratorTestOutput.java  |   1 -
 ...ngTestCase.java => IteratorTestParameters.java} |  24 ++--
 .../accumulo/iteratortest/IteratorTestReport.java  |  80 
 .../accumulo/iteratortest/IteratorTestRunner.java  | 101 ---
 .../junit4/BaseJUnit4IteratorTest.java | 104 ---
 .../iteratortest/testcases/DeepCopyTestCase.java   |   4 +-
 .../testcases/InstantiationTestCase.java   |   1 +
 .../testcases/IsolatedDeepCopiesTestCase.java  |   4 +-
 .../{ => testcases}/IteratorTestUtil.java  |  11 +-
 .../testcases/MultipleHasTopCalls.java |   4 +-
 .../iteratortest/testcases/ReSeekTestCase.java |   4 +-
 .../{ => testcases}/SimpleKVReusingIterator.java   |   6 +-
 .../iteratortest/testcases/YieldingTestCase.java   |   4 +-
 .../iteratortest/framework/JUnitFrameworkTest.java |  76 +--
 .../accumulo/test/iterator/AgeOffFilterTest.java   |  44 +++
 .../test/iterator/CfCqSliceFilterTest.java |  82 +---
 .../test/iterator/SummingCombinerTest.java | 101 +++
 .../test/iterator/WholeRowIteratorTest.java|  46 +++
 22 files changed, 331 insertions(+), 614 deletions(-)



[accumulo] branch main updated: Convert accumulo-start module to use JUnit5 (#2608)

2022-04-12 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 09ae8477e6 Convert accumulo-start module to use JUnit5 (#2608)
09ae8477e6 is described below

commit 09ae8477e6a8b141626045f34215b81caa98586c
Author: AlbertWhitlock 
AuthorDate: Tue Apr 12 17:59:59 2022 -0400

Convert accumulo-start module to use JUnit5 (#2608)

* Convert all tests to JUnit5 Jupiter engine, except for 
AccumuloVFSClassLoaderTest
* Leave AccumuloVFSClassLoaderTest using the vintage engine because it uses
  PowerMock and cannot be converted until PowerMock works with JUnit5
---
 start/pom.xml  |  5 ++
 .../classloader/vfs/AccumuloClasspathTest.java | 14 +++---
 .../vfs/AccumuloReloadingVFSClassLoaderTest.java   | 58 +++---
 .../start/classloader/vfs/ContextManagerTest.java  | 35 ++---
 .../start/classloader/vfs/WithTestNames.java   | 42 
 .../vfs/providers/VfsClassLoaderTest.java  | 14 +++---
 .../accumulo/start/test/AccumuloDFSBase.java   |  8 +--
 7 files changed, 111 insertions(+), 65 deletions(-)

diff --git a/start/pom.xml b/start/pom.xml
index a959f4ecdf..6f413d822d 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -74,6 +74,11 @@
   log4j-slf4j-impl
   test
 
+
+  org.junit.jupiter
+  junit-jupiter-api
+  test
+
 
   org.junit.vintage
   junit-vintage-engine
diff --git 
a/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloClasspathTest.java
 
b/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloClasspathTest.java
index f2ff3ec3e8..04b3ec378b 100644
--- 
a/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloClasspathTest.java
+++ 
b/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloClasspathTest.java
@@ -18,22 +18,22 @@
  */
 package org.apache.accumulo.start.classloader.vfs;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.regex.Pattern;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class AccumuloClasspathTest {
 
   private static void assertPattern(String output, Pattern pattern, boolean 
shouldMatch) {
 if (shouldMatch) {
-  assertTrue("Pattern " + pattern + " did not match output: " + output,
-  pattern.matcher(output).matches());
+  assertTrue(pattern.matcher(output).matches(),
+  "Pattern " + pattern + " did not match output: " + output);
 } else {
-  assertFalse("Pattern " + pattern + " should not match output: " + output,
-  pattern.matcher(output).matches());
+  assertFalse(pattern.matcher(output).matches(),
+  "Pattern " + pattern + " should not match output: " + output);
 }
   }
 
diff --git 
a/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
 
b/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
index 50206f32d2..13bfa549a8 100644
--- 
a/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
+++ 
b/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
@@ -18,44 +18,46 @@
  */
 package org.apache.accumulo.start.classloader.vfs;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
+import java.util.Objects;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSystemException;
 import org.apache.commons.vfs2.FileSystemManager;
 import org.apache.commons.vfs2.impl.VFSClassLoader;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 @Deprecated
 @SuppressFBWarnings(value = "PATH_TRAVERSAL_IN", justification = "p

[accumulo] branch main updated: MiniAccumuloCluster improvements (#2624)

2022-04-12 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new a5947214ba MiniAccumuloCluster improvements (#2624)
a5947214ba is described below

commit a5947214bac05f2407a58d20ef730a94d1809e2a
Author: Christopher Tubbs 
AuthorDate: Tue Apr 12 17:47:55 2022 -0400

MiniAccumuloCluster improvements (#2624)

* Use a memoized Supplier to lazily load client properties and server
  context and remove now unnecessary synchronization for these
* Make a protective copy of the client properties when returning in the
  public API method, getClientProperties(), and update javadoc
* Make fields final where possible
* Relocate constructors to just under the fields, prior to other
  methods, for easier class navigation

This fixes #2619
---
 .../accumulo/minicluster/MiniAccumuloCluster.java  |   2 +-
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   | 313 +++--
 2 files changed, 158 insertions(+), 157 deletions(-)

diff --git 
a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
 
b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
index 7b968ab55c..aa5bd5b29f 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
@@ -162,7 +162,7 @@ public class MiniAccumuloCluster implements AutoCloseable {
   }
 
   /**
-   * @return Connection properties for cluster
+   * @return A copy of the connection properties for the cluster
* @since 2.0.0
*/
   public Properties getClientProperties() {
diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
index 82df42a47a..a54f980b31 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -51,7 +51,9 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Function;
+import java.util.function.Supplier;
 import java.util.stream.Stream;
 
 import org.apache.accumulo.cluster.AccumuloCluster;
@@ -107,6 +109,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Joiner;
+import com.google.common.base.Suppliers;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 
@@ -123,23 +126,150 @@ import 
edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 public class MiniAccumuloClusterImpl implements AccumuloCluster {
   private static final Logger log = 
LoggerFactory.getLogger(MiniAccumuloClusterImpl.class);
 
+  private final Set> debugPorts = new HashSet<>();
+  private final File zooCfgFile;
+  private final String dfsUri;
+  private final MiniAccumuloConfigImpl config;
+  private final Supplier clientProperties;
+  private final SiteConfiguration siteConfig;
+  private final Supplier context;
+  private final AtomicReference miniDFS = new 
AtomicReference<>();
+  private final List cleanup = new ArrayList<>();
+  private final MiniAccumuloClusterControl clusterControl;
+
   private boolean initialized = false;
+  private ExecutorService executor;
 
-  private Set> debugPorts = new HashSet<>();
+  /**
+   *
+   * @param dir
+   *  An empty or nonexistent temp directory that Accumulo and 
Zookeeper can store data in.
+   *  Creating the directory is left to the user. Java 7, Guava, and 
Junit provide methods
+   *  for creating temporary directories.
+   * @param rootPassword
+   *  Initial root password for instance.
+   */
+  public MiniAccumuloClusterImpl(File dir, String rootPassword) throws 
IOException {
+this(new MiniAccumuloConfigImpl(dir, rootPassword));
+  }
 
-  private File zooCfgFile;
-  private String dfsUri;
-  private SiteConfiguration siteConfig;
-  private ServerContext context;
-  private Properties clientProperties;
+  /**
+   * @param config
+   *  initial configuration
+   */
+  @SuppressWarnings("deprecation")
+  public MiniAccumuloClusterImpl(MiniAccumuloConfigImpl config) throws 
IOException {
 
-  private MiniAccumuloConfigImpl config;
-  private MiniDFSCluster miniDFS = null;
-  private List cleanup = new ArrayList<>();
+this.config = config.initialize();
+this.clientProperties = Suppliers.memoize(
+() -> 
Accumulo.newClientProperties()

[accumulo] branch main updated: Remove unnecessary uses of ClientInfo in ITs (#2625)

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 6696c072a1 Remove unnecessary uses of ClientInfo in ITs (#2625)
6696c072a1 is described below

commit 6696c072a1cdeb35636d39cf5404d00333f6b6f2
Author: Christopher Tubbs 
AuthorDate: Tue Apr 12 00:45:39 2022 -0400

Remove unnecessary uses of ClientInfo in ITs (#2625)

* Remove conversions of client Properties into ClientInfo, only to
  convert them back to Properties again; just use Properties directly
* Remove unnecessary ClientInfo parameter from test utilities where
  client would suffice (client.properties() was also available)
* Replace uses of clusterHarness.getClientInfo().getProperties() with
  just-as-good clusterHarness.getClientProps()
---
 .../its/mapred/AccumuloFileOutputFormatIT.java |  2 +-
 .../hadoop/its/mapred/AccumuloInputFormatIT.java   | 10 ++--
 .../its/mapred/AccumuloRowInputFormatIT.java   |  4 +-
 .../hadoop/its/mapred/MultiTableInputFormatIT.java |  4 +-
 .../accumulo/hadoop/its/mapred/TokenFileIT.java|  2 +-
 .../its/mapreduce/AccumuloFileOutputFormatIT.java  |  2 +-
 .../its/mapreduce/AccumuloInputFormatIT.java   | 27 +-
 .../its/mapreduce/AccumuloOutputFormatIT.java  |  8 +--
 .../its/mapreduce/AccumuloRowInputFormatIT.java|  4 +-
 .../its/mapreduce/MultiTableInputFormatIT.java |  4 +-
 .../accumulo/hadoop/its/mapreduce/TokenFileIT.java |  2 +-
 .../org/apache/accumulo/test/CloseScannerIT.java   |  2 +-
 .../accumulo/test/functional/AccumuloClientIT.java |  4 +-
 .../apache/accumulo/test/functional/BulkIT.java| 19 +++
 .../accumulo/test/functional/CredentialsIT.java|  2 +-
 .../accumulo/test/functional/ReadWriteIT.java  | 59 +++---
 .../test/functional/RecoveryWithEmptyRFileIT.java  |  6 +--
 .../org/apache/accumulo/test/functional/SslIT.java |  3 +-
 18 files changed, 77 insertions(+), 87 deletions(-)

diff --git 
a/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloFileOutputFormatIT.java
 
b/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloFileOutputFormatIT.java
index 99e38d4c40..6c05924201 100644
--- 
a/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloFileOutputFormatIT.java
+++ 
b/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloFileOutputFormatIT.java
@@ -155,7 +155,7 @@ public class AccumuloFileOutputFormatIT extends 
AccumuloClusterHarness {
 
   job.setInputFormat(AccumuloInputFormat.class);
 
-  
AccumuloInputFormat.configure().clientProperties(getClientInfo().getProperties()).table(table)
+  
AccumuloInputFormat.configure().clientProperties(getClientProps()).table(table)
   .auths(Authorizations.EMPTY).store(job);
   AccumuloFileOutputFormat.configure().outputPath(new 
Path(args[1])).sampler(SAMPLER_CONFIG)
   .store(job);
diff --git 
a/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloInputFormatIT.java
 
b/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloInputFormatIT.java
index 633558bcfe..e524cc5680 100644
--- 
a/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloInputFormatIT.java
+++ 
b/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloInputFormatIT.java
@@ -124,9 +124,8 @@ public class AccumuloInputFormatIT extends 
AccumuloClusterHarness {
 
   job.setInputFormat(AccumuloInputFormat.class);
 
-  InputFormatBuilder.InputFormatOptions opts =
-  
AccumuloInputFormat.configure().clientProperties(getClientInfo().getProperties())
-  .table(table).auths(Authorizations.EMPTY);
+  InputFormatBuilder.InputFormatOptions opts = 
AccumuloInputFormat.configure()
+  
.clientProperties(getClientProps()).table(table).auths(Authorizations.EMPTY);
 
   if (sample) {
 opts.samplerConfiguration(SAMPLER_CONFIG);
@@ -221,9 +220,8 @@ public class AccumuloInputFormatIT extends 
AccumuloClusterHarness {
 try (AccumuloClient accumuloClient = 
Accumulo.newClient().from(getClientProps()).build()) {
   accumuloClient.tableOperations().create(table);
 
-  
AccumuloInputFormat.configure().clientProperties(getClientInfo().getProperties()).table(table)
-  
.auths(auths).fetchColumns(fetchColumns).scanIsolation(true).localIterators(true)
-  .store(job);
+  
AccumuloInputFormat.configure().clientProperties(getClientProps()).table(table).auths(auths)
+  
.fetchColumns(fetchColumns).scanIsolation(true).localIterators(true).store(job);
 
   AccumuloInputFormat aif = new AccumuloInputFormat();
 
diff --git 
a/hadoop-mapreduce/src/test/java/org/apache/accumulo/hadoop/its/mapred/AccumuloRowInputFormatIT.java
 
b

[accumulo] branch main updated: Use CLASSPATH env instead of `-cp` (#2617)

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new f0ce689fb8 Use CLASSPATH env instead of `-cp` (#2617)
f0ce689fb8 is described below

commit f0ce689fb8f038aa9373cd1d6486e1930212
Author: Christopher Tubbs 
AuthorDate: Tue Apr 12 00:23:03 2022 -0400

Use CLASSPATH env instead of `-cp` (#2617)

* Replace use of `-cp` for specifying the class path with use of the
  CLASSPATH environment variable
* Removing redundant display of extraJvmOpts and classpath from the
  debug log message when MiniAccumuloCluster starts (they're already
  available in the args and the environment)
* Use Streams to avoid intermediate list objects and to make the
  process' argList construction more intuitive
---
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   | 37 ++
 start/src/test/shell/makeTestJars.sh   |  3 +-
 .../test/functional/HalfDeadTServerIT.java |  8 ++---
 3 files changed, 20 insertions(+), 28 deletions(-)

diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
index b6e6b1f644..82df42a47a 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -21,6 +21,7 @@ package org.apache.accumulo.miniclusterImpl;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.NANOSECONDS;
+import static java.util.stream.Collectors.toList;
 import static 
org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
 
 import java.io.File;
@@ -34,7 +35,6 @@ import java.net.Socket;
 import java.net.URI;
 import java.nio.file.Files;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -51,6 +51,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.function.Function;
 import java.util.stream.Stream;
 
 import org.apache.accumulo.cluster.AccumuloCluster;
@@ -210,28 +211,28 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
   throws IOException {
 String javaHome = System.getProperty("java.home");
 String javaBin = javaHome + File.separator + "bin" + File.separator + 
"java";
-String classpath = getClasspath();
 
-String className = clazz.getName();
+var basicArgs = Stream.of(javaBin, "-Dproc=" + clazz.getSimpleName());
+var jvmArgs = extraJvmOpts.stream();
+var propsArgs = config.getSystemProperties().entrySet().stream()
+.map(e -> String.format("-D%s=%s", e.getKey(), e.getValue()));
 
-ArrayList argList = new ArrayList<>();
-argList.addAll(Arrays.asList(javaBin, "-Dproc=" + clazz.getSimpleName(), 
"-cp", classpath));
-argList.addAll(extraJvmOpts);
-for (Entry sysProp : 
config.getSystemProperties().entrySet()) {
-  argList.add(String.format("-D%s=%s", sysProp.getKey(), 
sysProp.getValue()));
-}
 // @formatter:off
-argList.addAll(Arrays.asList(
+var hardcodedArgs = Stream.of(
 "-Dapple.awt.UIElement=true",
 "-Djava.net.preferIPv4Stack=true",
 "-XX:+PerfDisableSharedMem",
 "-XX:+AlwaysPreTouch",
-Main.class.getName(), className));
+Main.class.getName(), clazz.getName());
 // @formatter:on
-argList.addAll(Arrays.asList(args));
 
+// concatenate all the args sources into a single list of args
+var argList = Stream.of(basicArgs, jvmArgs, propsArgs, hardcodedArgs, 
Stream.of(args))
+.flatMap(Function.identity()).collect(toList());
 ProcessBuilder builder = new ProcessBuilder(argList);
 
+final String classpath = getClasspath();
+builder.environment().put("CLASSPATH", classpath);
 builder.environment().put("ACCUMULO_HOME", 
config.getDir().getAbsolutePath());
 builder.environment().put("ACCUMULO_LOG_DIR", 
config.getLogDir().getAbsolutePath());
 builder.environment().put("ACCUMULO_CLIENT_CONF_PATH",
@@ -255,8 +256,7 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
 }
 
 log.debug("Starting MiniAccumuloCluster process with class: " + 
clazz.getSimpleName()
-+ "\n, jvmOpts: " + extraJvmOpts + "\n, classpath: " + classpath + 
&q

[accumulo] branch main updated: Start spans when inside a valid span (#2611)

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 2dfe37b620 Start spans when inside a valid span (#2611)
2dfe37b620 is described below

commit 2dfe37b620ca9163bccaf4f4caea96923d5ecc0d
Author: Christopher Tubbs 
AuthorDate: Mon Apr 11 20:36:22 2022 -0400

Start spans when inside a valid span (#2611)

Start a span, even if tracing is disabled on our end, if we find our
code inside a valid span. This implies that we're running inside a
user's span, started in user code.

This prevents us from needing to expose Accumulo internal
enabling/disabling utilities to client code. Users can enable
client-side tracing merely by wrapping our code with their own valid
spans.
---
 core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java 
b/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
index ff91f04dd0..383022993d 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
@@ -110,7 +110,7 @@ public class TraceUtil {
 
   private static Span startSpan(Class caller, String spanName, SpanKind 
kind,
   Map attributes, TInfo tinfo) {
-if (!enabled) {
+if (!enabled && !Span.current().getSpanContext().isValid()) {
   return Span.getInvalid();
 }
 final String name = String.format(SPAN_FORMAT, caller.getSimpleName(), 
spanName);
@@ -153,8 +153,7 @@ public class TraceUtil {
*/
   public static TInfo traceInfo() {
 TInfo tinfo = new TInfo();
-W3CTraceContextPropagator.getInstance().inject(Context.current(), tinfo,
-(carrier, key, value) -> carrier.putToHeaders(key, value));
+W3CTraceContextPropagator.getInstance().inject(Context.current(), tinfo, 
TInfo::putToHeaders);
 return tinfo;
   }
 



[accumulo] branch main updated: Prepare for automatic module names

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new ad6a7958c3 Prepare for automatic module names
ad6a7958c3 is described below

commit ad6a7958c3399aaa208831edb430d8e735071906
Author: Christopher Tubbs 
AuthorDate: Mon Apr 11 20:24:02 2022 -0400

Prepare for automatic module names

* Prepare the pom.xml to populate the jar manifest with automatic module
  names, but don't actually activate it, due to the bug reported in the
  maven-javadoc-plugin: https://issues.apache.org/jira/browse/MJAVADOC-707
* This relates to #2498 (helps make that PR more minimal)
---
 pom.xml | 15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1128299023..a12db46738 100644
--- a/pom.xml
+++ b/pom.xml
@@ -821,8 +821,10 @@
   
 
   
-true
+
+
 
${mvngit.commit.id}
+true
   
 
 
@@ -833,6 +835,7 @@
 
   org.apache.maven.plugins
   maven-javadoc-plugin
+  3.3.2
   
 true
 -J-Xmx512m
@@ -1023,10 +1026,16 @@
 build-helper-maven-plugin
 
   
-parse-project-version
+create-automatic-module-name
 
-  parse-version
+  regex-property
 
+
+  accumulo.module.name
+  -
+  .
+  org-apache-${project.artifactId}
+
   
 
   



[accumulo] branch main updated (a76401788a -> 3db9052d7b)

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from a76401788a Add details to ZooKeeper watcher logs (#2615)
 add 3db9052d7b Minor cleanup of ThriftTransportPool (#2612)

No new revisions were added by this update.

Summary of changes:
 .../accumulo/core/clientImpl/ClientContext.java|   3 +-
 .../core/clientImpl/ThriftTransportPool.java   | 458 +++--
 .../core/clientImpl/ClientConfConverterTest.java   |  20 +
 .../java/org/apache/accumulo/manager/Manager.java  |   1 -
 4 files changed, 255 insertions(+), 227 deletions(-)



[accumulo] branch main updated: Add details to ZooKeeper watcher logs (#2615)

2022-04-11 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new a76401788a Add details to ZooKeeper watcher logs (#2615)
a76401788a is described below

commit a76401788a5b0fdeb38cb4e29abdbfbb11a27faf
Author: Christopher Tubbs 
AuthorDate: Mon Apr 11 17:18:50 2022 -0400

Add details to ZooKeeper watcher logs (#2615)

Add more details to the log messages produced while processing ZooKeeper
WatchedEvents. Also, try to standardize some messages by adding the
event at the end, after whatever core message is conveyed. Most of the
time, we won't see these messages, but it definitely helps to have
greater insight into what event triggered the situation, rather than
picking out and printing only certain details from the WatchedEvent.
---
 .../accumulo/fate/zookeeper/ServiceLock.java   | 31 +++---
 .../apache/accumulo/fate/zookeeper/ZooCache.java   | 12 -
 .../apache/accumulo/fate/zookeeper/ZooSession.java |  2 +-
 .../delegation/ZooAuthenticationKeyWatcher.java| 24 -
 .../accumulo/server/tables/TableManager.java   |  4 +--
 .../server/zookeeper/DistributedWorkQueue.java | 11 
 6 files changed, 42 insertions(+), 42 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ServiceLock.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ServiceLock.java
index 40ed6f6d5c..7aaafef712 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ServiceLock.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ServiceLock.java
@@ -311,22 +311,19 @@ public class ServiceLock implements Watcher {
 @Override
 public void process(WatchedEvent event) {
   if (LOG.isTraceEnabled()) {
-LOG.trace("[{}] Processing event:", vmLockPrefix);
-LOG.trace("- type  {}", event.getType());
-LOG.trace("- path  {}", event.getPath());
-LOG.trace("- state {}", event.getState());
+LOG.trace("[{}] Processing {}", vmLockPrefix, event);
   }
   boolean renew = true;
   if (event.getType() == EventType.NodeDeleted && 
event.getPath().equals(nodeToWatch)) {
-LOG.debug("[{}] Detected deletion of prior node {}, attempting to 
acquire lock",
-vmLockPrefix, nodeToWatch);
+LOG.debug("[{}] Detected deletion of prior node {}, attempting to 
acquire lock; {}",
+vmLockPrefix, nodeToWatch, event);
 synchronized (ServiceLock.this) {
   try {
 if (createdNodeName != null) {
   determineLockOwnership(createdEphemeralNode, lw);
 } else if (LOG.isDebugEnabled()) {
-  LOG.debug("[{}] While waiting for another lock {}, {} was 
deleted", vmLockPrefix,
-  nodeToWatch, createdEphemeralNode);
+  LOG.debug("[{}] While waiting for another lock {}, {} was 
deleted; {}",
+  vmLockPrefix, nodeToWatch, createdEphemeralNode, event);
 }
   } catch (Exception e) {
 if (lockNodeName == null) {
@@ -342,8 +339,9 @@ public class ServiceLock implements Watcher {
   || event.getState() == KeeperState.Disconnected) {
 synchronized (ServiceLock.this) {
   if (lockNodeName == null) {
-LOG.info("Zookeeper Session expired / disconnected");
-lw.failedToAcquireLock(new Exception("Zookeeper Session 
expired / disconnected"));
+LOG.info("Zookeeper Session expired / disconnected; {}", 
event);
+lw.failedToAcquireLock(
+new Exception("Zookeeper Session expired / disconnected; " 
+ event));
   }
 }
 renew = false;
@@ -361,7 +359,8 @@ public class ServiceLock implements Watcher {
 LOG.debug("[{}] Renewed watch on prior node  {}", 
vmLockPrefix, nodeToWatch);
   }
 } catch (KeeperException | InterruptedException e) {
-  lw.failedToAcquireLock(new Exception("Failed to renew watch on 
other manager node"));
+  lw.failedToAcquireLock(
+  new Exception("Failed to renew watch on other manager node", 
e));
 }
   }
 }
@@ -466,16 +465,16 @@ public class ServiceLock implements Watcher {
   synchronized (ServiceLock.this) {
 if (lockNodeName != null && event.getType() == 
EventType.NodeDeleted
 && event.getPath().equals(path + "/" + lockNodeName

[accumulo] branch main updated: Use returned values (#2558)

2022-04-05 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 6d1a9de2f6 Use returned values (#2558)
6d1a9de2f6 is described below

commit 6d1a9de2f6cba5a3fa5dcd0840cbf0371039eb79
Author: Mark Owens 
AuthorDate: Tue Apr 5 02:59:15 2022 -0400

Use returned values (#2558)

ErrorProne insists that return values be checked/used or specifically
acknowledged as unused. The two error patterns are:
* [CheckReturnValue](https://errorprone.info/bugpattern/CheckReturnValue)
* 
[ReturnValueIgnored](https://errorprone.info/bugpattern/ReturnValueIgnored)

To remove unused values:
* Log the loaded class name in CounterSummary at trace level
* Move precomputeHashCode method into ThriftTransportKey's constructor
* Assigned return value to checkThreadFactory.get() call within
  startCheckerThread.
* Wrapped Iterators.get call within CloseScannerIT with assertNotNull to
  remove CheckReturnVal/ReturnValueIgnored error when using ErrorProne
  analysis.
* Use assertThrows in tests where return values were ignored because 
exceptions
  were expected
* Avoid use of Iterators.get and Iterators.size in tests, using `forEach(e 
-> {})` pattern
  for scanner iterations where we don't care about the actual data

Also:
* Add errorprone profile to GitHub Actions pull request build checks

Co-authored-by: Christopher Tubbs 
---
 .github/workflows/maven.yaml   |  1 +
 .../core/client/summary/CounterSummary.java|  9 ++-
 .../core/clientImpl/ThriftTransportKey.java| 25 +++-
 .../core/clientImpl/ThriftTransportPool.java   |  2 -
 pom.xml| 11 ++--
 .../org/apache/accumulo/test/AuditMessageIT.java   | 69 ++--
 .../org/apache/accumulo/test/CloseScannerIT.java   |  5 +-
 .../accumulo/test/DetectDeadTabletServersIT.java   |  8 +--
 .../apache/accumulo/test/GarbageCollectWALIT.java  |  8 +--
 .../test/ManagerRepairsDualAssignmentIT.java   |  4 +-
 .../apache/accumulo/test/MetaGetsReadersIT.java|  4 +-
 .../apache/accumulo/test/MultiTableRecoveryIT.java |  6 +-
 .../test/RecoveryCompactionsAreFlushesIT.java  |  6 +-
 .../java/org/apache/accumulo/test/SampleIT.java|  4 +-
 .../java/org/apache/accumulo/test/UnusedWALIT.java |  6 +-
 .../accumulo/test/VerifySerialRecoveryIT.java  |  7 ++-
 .../org/apache/accumulo/test/WaitForBalanceIT.java |  6 +-
 .../test/functional/GarbageCollectorIT.java|  2 +-
 .../accumulo/test/functional/ReadWriteIT.java  |  6 +-
 .../accumulo/test/functional/ScannerContextIT.java |  2 +-
 .../test/functional/ServerSideErrorIT.java | 73 +++---
 .../apache/accumulo/test/functional/TimeoutIT.java |  7 +--
 .../test/replication/KerberosReplicationIT.java|  7 ++-
 .../replication/MultiInstanceReplicationIT.java| 14 +++--
 .../accumulo/test/replication/ReplicationIT.java   | 15 +++--
 .../UnorderedWorkAssignerReplicationIT.java| 14 +++--
 .../test/server/security/SystemCredentialsIT.java  |  7 +--
 .../apache/accumulo/test/shell/ShellServerIT.java  |  5 +-
 28 files changed, 145 insertions(+), 188 deletions(-)

diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
index bbbac02c33..0b063514eb 100644
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@ -65,6 +65,7 @@ jobs:
   - {name: 'unit-tests',javaver: 11, args: 'verify -PskipQA 
-DskipTests=false'}
   - {name: 'qa-checks', javaver: 11, args: 'verify javadoc:jar 
-Psec-bugs -DskipTests -Dspotbugs.timeout=360'}
   - {name: 'compat',javaver: 11, args: 'package -DskipTests 
-Dhadoop.version=3.0.3 -Dzookeeper.version=3.5.9'}
+  - {name: 'errorprone',javaver: 11, args: 'verify 
-Perrorprone,skipQA'}
   - {name: 'jdk17', javaver: 17, args: 'verify -DskipITs'}
   fail-fast: false
 runs-on: ubuntu-latest
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/summary/CounterSummary.java
 
b/core/src/main/java/org/apache/accumulo/core/client/summary/CounterSummary.java
index b962d67302..c4ee00453c 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/summary/CounterSummary.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/summary/CounterSummary.java
@@ -22,6 +22,9 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import com.google.common.annotations.VisibleForTesting;
 
 /**
@@ -33,6 +36,8 @@ import com.google.common.annotations.VisibleForTesting;
 public class CounterSummary {
   private Map stats;
 
+  private static final Logger log = 
LoggerFactory.getLogger(CounterSummary.cl

[accumulo] branch main updated: Bump surefire and failsafe plugins to 3.0.0-M6 (#2607)

2022-04-04 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new db2485bf04 Bump surefire and failsafe plugins to 3.0.0-M6 (#2607)
db2485bf04 is described below

commit db2485bf046ad8cbae73fa40cd710e46d5fcba02
Author: Christopher Tubbs 
AuthorDate: Mon Apr 4 13:12:28 2022 -0400

Bump surefire and failsafe plugins to 3.0.0-M6 (#2607)

* Bypass buggy 3.0.0-M5 version; this fixes #2555
---
 pom.xml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 52bd5b43c0..06d088ccc9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,8 +155,7 @@
 1C
 
 true
-
-3.0.0-M4
+3.0.0-M6
 
 0.15.0
 -Xmx1G



[accumulo-examples] branch main updated: Analyze dependencies and fix spark/pom.xml

2022-04-01 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-examples.git


The following commit(s) were added to refs/heads/main by this push:
 new 88ee1ec  Analyze dependencies and fix spark/pom.xml
88ee1ec is described below

commit 88ee1ecf8695e57e8ca4d720d7917af6e279f456
Author: Christopher Tubbs 
AuthorDate: Fri Apr 1 04:44:41 2022 -0400

Analyze dependencies and fix spark/pom.xml

* Add dependency analysis to POMs
* Update the spark/pom.xml (this fixes #93)
* Fix compilation issue with CopyPlus5K, which had missing imports
---
 pom.xml| 39 +++--
 spark/pom.xml  | 98 --
 .../java/org/apache/accumulo/spark/CopyPlus5K.java |  3 +
 3 files changed, 88 insertions(+), 52 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3fbe4a2..a5747c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,31 +77,34 @@
 
 
   org.apache.hadoop
-  hadoop-client
+  hadoop-client-api
 
 
   org.apache.htrace
   htrace-core
 
 
-  org.apache.htrace
-  htrace-core4
+  org.apache.logging.log4j
+  log4j-1.2-api
+
+
+  org.slf4j
+  slf4j-api
 
 
   org.apache.logging.log4j
   log4j-api
+  runtime
 
 
   org.apache.logging.log4j
   log4j-core
+  runtime
 
 
   org.apache.logging.log4j
   log4j-slf4j-impl
-
-
-  org.apache.zookeeper
-  zookeeper
+  runtime
 
 
 
@@ -150,13 +153,33 @@
 
 
   org.apache.maven.plugins
-  maven-shade-plugin
+  maven-dependency-plugin
+  3.3.0
 
   
 
 
   
 org.apache.maven.plugins
+maven-dependency-plugin
+
+  
+analyze
+
+  analyze-only
+
+
+  true
+  
+  
+org.apache.logging.log4j:*
+  
+
+  
+
+  
+  
+org.apache.maven.plugins
 maven-failsafe-plugin
 
   
diff --git a/spark/pom.xml b/spark/pom.xml
index 569aa58..e7b9918 100644
--- a/spark/pom.xml
+++ b/spark/pom.xml
@@ -20,29 +20,35 @@
   
 org.apache
 apache
-23
+24
 
   
   org.apache.accumulo
   accumulo-spark
-  2.0.0-SNAPSHOT
+  2.1.0-SNAPSHOT
   Apache Accumulo Spark Example
   Example Spark Application for Apache Accumulo
   
-2.0.0
+2.1.0-SNAPSHOT
 
contrib/Eclipse-Accumulo-Codestyle.xml
-3.2.1
-8
-1.8
-1.8
-3.4.14
+3.3.0
+11
+11
+11
+11
+3.5.0
+
+
2020-12-17T22:06:50Z
+3.7.0
   
   
 
   
-org.apache.zookeeper
-zookeeper
-${zookeeper.version}
+org.apache.accumulo
+accumulo-project
+${accumulo.version}
+pom
+import
   
 
   
@@ -50,23 +56,34 @@
 
   org.apache.accumulo
   accumulo-core
-  ${accumulo.version}
 
 
   org.apache.accumulo
   accumulo-hadoop-mapreduce
-  ${accumulo.version}
 
 
   org.apache.hadoop
   hadoop-client-api
-  ${hadoop.version}
 
 
   org.apache.spark
   spark-core_2.11
   2.4.5
 
+
+  org.scala-lang
+  scala-library
+  2.11.12
+
+
+  org.slf4j
+  slf4j-api
+
+
+  org.apache.logging.log4j
+  log4j-slf4j-impl
+  runtime
+
   
   
 
@@ -74,7 +91,6 @@
 
   org.apache.maven.plugins
   maven-compiler-plugin
-  3.8.1
   
 true
   
@@ -82,46 +98,43 @@
 
   com.github.ekryd.sortpom
   sortpom-maven-plugin
-  2.10.0
+  3.0.0
   
-recommended_2008_06
 false
-\n
 false
+false
+\n
 2
+recommended_2008_06
 scope,groupId,artifactId
 true
+true
 Stop
   
 
 
   org.apache.maven.plugins
-  maven-shade-plugin
-  3.2.1
+  maven-dependency-plugin
+  3.3.0
 
   
 
 
   
 org.apache.maven.plugins
-maven-enforcer-plugin
+maven-dependency-plugin
 
   
-
-enforce-maven-version
+analyze
 
-  enforce
+  analyze-only
 
-validate
 
-  
-
-  [3.5.0,)
-
-
-  [11,)
-
-  
+  true
+  
+  
+org.apache.logging.log4j:log4j-slf4j

<    3   4   5   6   7   8   9   10   11   12   >