[accumulo] branch main updated: Separate native map loading from native map code (#2425)

2022-01-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.git


The following commit(s) were added to refs/heads/main by this push:
 new d5f9611  Separate native map loading from native map code (#2425)
d5f9611 is described below

commit d5f9611efbcffc883271b77d0512e8c0102c1079
Author: Christopher Tubbs 
AuthorDate: Fri Jan 21 18:34:43 2022 -0500

Separate native map loading from native map code (#2425)

* Create a separate NativeMapLoader and relocate into that new class the
  code to load the native libraries that was previously in NativeMap
  alongside the actual code for handling native maps
* Remove unnecessarily redundant `isLoaded()` checks, since the behavior
  is now to `System.exit(1)` if the native code is configured to be
  used, but cannot be loaded. There is no longer a question of whether
  they are loaded. They are always loaded if configured to be, or else
  the tserver will die on startup.
* Simplify and organize the loader code
* Make the loader code work better with tests by providing a method
  specifically for testing (for NativeMapIT, and InMemoryMapIT,
  specifically, because they need to load native maps inside the test
  thread, and not on a tserver)
* Update ConfigurableMacBase so it will ensure the native maps are built
  before Mini is started, so the tests don't hang because the native
  maps aren't built (only applies to ConfigurableMacBase tests... other
  tests may need something similar)
---
 .../org/apache/accumulo/tserver/InMemoryMap.java   |   2 +-
 .../org/apache/accumulo/tserver/NativeMap.java | 119 +
 .../tserver/TabletServerResourceManager.java   |   7 +-
 .../accumulo/tserver/memory/NativeMapLoader.java   | 141 +
 .../org/apache/accumulo/test/InMemoryMapIT.java|  10 +-
 .../test/functional/ConfigurableMacBase.java   |  13 +-
 .../accumulo/test/functional/NativeMapIT.java  |   5 +-
 7 files changed, 164 insertions(+), 133 deletions(-)

diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
index ea6bf82..87f3725 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/InMemoryMap.java
@@ -156,7 +156,7 @@ public class InMemoryMap {
   }
 
   private static SimpleMap newMap(boolean useNativeMap) {
-if (useNativeMap && NativeMap.isLoaded()) {
+if (useNativeMap) {
   try {
 return new NativeMapWrapper();
   } catch (Exception t) {
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java
index c257bbc..5d4d9fa 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java
@@ -18,10 +18,8 @@
  */
 package org.apache.accumulo.tserver;
 
-import java.io.File;
 import java.lang.ref.Cleaner.Cleanable;
 import java.util.AbstractMap.SimpleImmutableEntry;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.ConcurrentModificationException;
 import java.util.HashSet;
@@ -37,7 +35,6 @@ import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.apache.accumulo.core.client.SampleNotPresentException;
-import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.ColumnUpdate;
 import org.apache.accumulo.core.data.Key;
@@ -49,13 +46,12 @@ import 
org.apache.accumulo.core.iterators.SortedKeyValueIterator;
 import org.apache.accumulo.core.iteratorsImpl.system.InterruptibleIterator;
 import 
org.apache.accumulo.core.iteratorsImpl.system.IterationInterruptedException;
 import org.apache.accumulo.core.util.PreAllocatedArray;
+import org.apache.accumulo.tserver.memory.NativeMapLoader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
 /**
  * This class stores data in a C++ map. Doing this allows us to store more in 
memory and avoid
  * pauses caused by Java GC.
@@ -70,120 +66,9 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 public class NativeMap implements Iterable> {
 
   private static final Logger log = LoggerFactory.getLogger(NativeMap.class);
-  private static AtomicBoolean loadedNativeLibraries = new 
AtomicBoolean(false);
 
-  // Load native library
   static {
-// Check in directories set by JVM system property
-List directories = new ArrayList<>();
-String accu

[accumulo] branch main updated: Centralize ZK auth digest construction (#2424)

2022-01-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.git


The following commit(s) were added to refs/heads/main by this push:
 new 2b65a22  Centralize ZK auth digest construction (#2424)
2b65a22 is described below

commit 2b65a222c6b740567f62eecd20900bcd5965d6f5
Author: Christopher Tubbs 
AuthorDate: Thu Jan 20 22:36:03 2022 -0500

Centralize ZK auth digest construction (#2424)
---
 .../org/apache/accumulo/fate/zookeeper/ZooSession.java   |  2 +-
 .../java/org/apache/accumulo/fate/zookeeper/ZooUtil.java | 10 ++
 .../accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java |  2 ++
 .../accumulo/server/replication/proto/Replication.java   |  1 +
 .../org/apache/accumulo/server/util/CleanZookeeper.java  |  3 ++-
 .../accumulo/test/fate/zookeeper/ServiceLockIT.java  | 16 +---
 6 files changed, 25 insertions(+), 9 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java 
b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
index 5966f4b..f5221aa 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
@@ -129,7 +129,7 @@ public class ZooSession {
 for (int i = 0; i < connectTimeWait / TIME_BETWEEN_CONNECT_CHECKS_MS 
&& tryAgain; i++) {
   if (zooKeeper.getState().equals(States.CONNECTED)) {
 if (auth != null)
-  zooKeeper.addAuthInfo(scheme, auth);
+  ZooUtil.auth(zooKeeper, scheme, auth);
 tryAgain = false;
   } else
 UtilWaitThread.sleep(TIME_BETWEEN_CONNECT_CHECKS_MS);
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 80c46e9..269cd63 100644
--- a/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
+++ b/core/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
@@ -18,6 +18,8 @@
  */
 package org.apache.accumulo.fate.zookeeper;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
@@ -121,4 +123,12 @@ public class ZooUtil {
 }
   }
 
+  public static void digestAuth(ZooKeeper zoo, String secret) {
+auth(zoo, "digest", ("accumulo:" + secret).getBytes(UTF_8));
+  }
+
+  public static void auth(ZooKeeper zoo, String scheme, byte[] auth) {
+zoo.addAuthInfo(scheme, auth);
+  }
+
 }
diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java
index 1885bdc..e7592a0 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloConfigImpl.java
@@ -110,6 +110,8 @@ public class MiniAccumuloConfigImpl {
 
   /**
* Set directories and fully populate site config
+   *
+   * @return this
*/
   MiniAccumuloConfigImpl initialize() {
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/replication/proto/Replication.java
 
b/server/base/src/main/java/org/apache/accumulo/server/replication/proto/Replication.java
index 043ff72..1e67623 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/replication/proto/Replication.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/replication/proto/Replication.java
@@ -472,6 +472,7 @@ package org.apache.accumulo.server.replication.proto;
   return true;
 }
 
+@SuppressWarnings("unchecked")
 @java.lang.Override
 public int hashCode() {
   if (memoizedHashCode != 0) {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/CleanZookeeper.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/CleanZookeeper.java
index 5125113..66fe43d 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/CleanZookeeper.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/CleanZookeeper.java
@@ -24,6 +24,7 @@ import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.conf.SiteConfiguration;
 import org.apache.accumulo.fate.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.fate.zookeeper.ZooUtil;
 import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy;
 import org.apache.accumulo.server.ServerContext;
 import org.apache.zookeeper.KeeperException;
@@ -57,7 +58,7 @@ public class CleanZookeeper {
   String root = Constants.ZROOT;
   ZooReaderWriter zk = context.getZooReaderWriter();
   if (opts.auth != null) {
-zk.getZooKeeper().addAuthInfo("dige

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

2022-01-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 a6da437cae6119db739fb6698ea711bb3b8c5cfa
Merge: 3951427 e237006
Author: Christopher Tubbs 
AuthorDate: Mon Jan 10 15:25:30 2022 -0500

Merge branch '1.10'

 NOTICE  | 2 +-
 assemble/src/main/resources/NOTICE  | 2 +-
 server/native/src/main/resources/NOTICE | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)



[accumulo] branch main updated (3951427 -> a6da437)

2022-01-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 3951427  Fix MiniAccumuloClusterImpl.verifyUp() (#2410)
 new e237006  Bump copyright date for 2022
 new a6da437  Merge branch '1.10'

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:
 NOTICE  | 2 +-
 assemble/src/main/resources/NOTICE  | 2 +-
 server/native/src/main/resources/NOTICE | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)


[accumulo] branch 1.10 updated: Bump copyright date for 2022

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

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new e237006  Bump copyright date for 2022
e237006 is described below

commit e237006d0f5ff62d08f3469e78950ae0ff5487bb
Author: Christopher Tubbs 
AuthorDate: Mon Jan 10 15:24:27 2022 -0500

Bump copyright date for 2022
---
 NOTICE   | 2 +-
 assemble/src/main/resources/NOTICE   | 2 +-
 docs/src/main/asciidoc/accumulo_user_manual.asciidoc | 2 +-
 server/native/src/main/resources/NOTICE  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/NOTICE b/NOTICE
index 53ca174..0cb594b 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Accumulo
-Copyright 2011-2021 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/assemble/src/main/resources/NOTICE 
b/assemble/src/main/resources/NOTICE
index 70e5bea..ee68787 100644
--- a/assemble/src/main/resources/NOTICE
+++ b/assemble/src/main/resources/NOTICE
@@ -1,5 +1,5 @@
 Apache Accumulo
-Copyright 2011-2021 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/docs/src/main/asciidoc/accumulo_user_manual.asciidoc 
b/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
index acbc34b..46c186c 100644
--- a/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
+++ b/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
@@ -24,7 +24,7 @@
 
 image::images/accumulo-logo.png[]
 
-Copyright © 2011-2021 The Apache Software Foundation, Licensed under the Apache
+Copyright © 2011-2022 The Apache Software Foundation, Licensed under the Apache
 License, Version 2.0.  Apache Accumulo, Accumulo, Apache, and the Apache
 Accumulo project logo are trademarks of the Apache Software Foundation.
 
diff --git a/server/native/src/main/resources/NOTICE 
b/server/native/src/main/resources/NOTICE
index 4a881a1..7abaf90 100644
--- a/server/native/src/main/resources/NOTICE
+++ b/server/native/src/main/resources/NOTICE
@@ -1,5 +1,5 @@
 Apache Accumulo Native Libraries
-Copyright 2011-2021 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/).


[accumulo] branch main updated: Fix MiniAccumuloClusterImpl.verifyUp() (#2410)

2022-01-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 3951427  Fix MiniAccumuloClusterImpl.verifyUp() (#2410)
3951427 is described below

commit 39514270b1d8fad1b68b9e559467df9f5f81e4a5
Author: Christopher Tubbs 
AuthorDate: Fri Jan 7 00:30:47 2022 -0500

Fix MiniAccumuloClusterImpl.verifyUp() (#2410)

Fix verifyUp method broken by #2408. The previous code attempted to use
a client singleton resource (ZooSession, created inside ZooReaderWriter)
without instantiating an AccumuloClient. This fix ensures that resource
is created after MiniAccumuloClusterImpl's ServerContext has been
created, so a client context is established before the client singleton
resource is used.
---
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   | 60 +++---
 1 file changed, 18 insertions(+), 42 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 28b38f0..cf64861 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -19,6 +19,7 @@
 package org.apache.accumulo.miniclusterImpl;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static 
org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
 
 import java.io.File;
@@ -41,7 +42,6 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
@@ -608,66 +608,43 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
 
   private void verifyUp() throws InterruptedException, IOException {
 
-Objects.requireNonNull(getClusterControl().managerProcess,
-"Error starting Manager - no process");
-
Objects.requireNonNull(getClusterControl().managerProcess.info().startInstant().get(),
+requireNonNull(getClusterControl().managerProcess, "Error starting Manager 
- no process");
+
requireNonNull(getClusterControl().managerProcess.info().startInstant().get(),
 "Error starting Manager - instance not started");
 
-Objects.requireNonNull(getClusterControl().gcProcess, "Error starting GC - 
no process");
-
Objects.requireNonNull(getClusterControl().gcProcess.info().startInstant().get(),
+requireNonNull(getClusterControl().gcProcess, "Error starting GC - no 
process");
+requireNonNull(getClusterControl().gcProcess.info().startInstant().get(),
 "Error starting GC - instance not started");
 
 int tsExpectedCount = 0;
 for (Process tsp : getClusterControl().tabletServerProcesses) {
   tsExpectedCount++;
-  Objects.requireNonNull(tsp,
-  "Error starting TabletServer " + tsExpectedCount + " - no process");
-  Objects.requireNonNull(tsp.info().startInstant().get(),
+  requireNonNull(tsp, "Error starting TabletServer " + tsExpectedCount + " 
- no process");
+  requireNonNull(tsp.info().startInstant().get(),
   "Error starting TabletServer " + tsExpectedCount + "- instance not 
started");
 }
 
-String zk = config.getExistingZooKeepers() != null ? 
config.getExistingZooKeepers()
-: config.getZooKeepers();
-
-ZooReaderWriter zrw =
-new ZooReaderWriter(zk, 3, 
Property.INSTANCE_SECRET.getDefaultValue());
-
-String instanceId = null;
-try {
-  for (String name : zrw.getChildren(Constants.ZROOT + 
Constants.ZINSTANCES)) {
-if (name.equals(config.getInstanceName())) {
-  String instanceNamePath = Constants.ZROOT + Constants.ZINSTANCES + 
"/" + name;
-  byte[] bytes = zrw.getData(instanceNamePath);
-  instanceId = new String(bytes, UTF_8);
-  break;
-}
-  }
-} catch (KeeperException e) {
-  throw new RuntimeException("Unable to read instance name from 
zookeeper.", e);
-}
-if (instanceId == null) {
-  throw new RuntimeException(config.getInstanceName() + " instance name 
not found in ZK");
-}
-String rootPath = ZooUtil.getRoot(instanceId);
+var zrw = getServerContext().getZooReaderWriter();
+String rootPath = getServerContext().getZooKeeperRoot();
 
 int tsActualCount = 0;
 int tryCount = 0;
-while (tsActualCount != tsExpectedCount) {
-  tryCount++;
-  try {
+try {
+  while (tsActualCo

[accumulo-testing] branch main updated: Export PSSH (followup to #179)

2022-01-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-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new 6a665e7  Export PSSH (followup to #179)
6a665e7 is described below

commit 6a665e7a1c995c0f7f40aa1dfde29d515ed706fe
Author: Christopher Tubbs 
AuthorDate: Wed Jan 5 15:19:12 2022 -0500

Export PSSH (followup to #179)

Follow-up fix to export PSSH for agitator

The PSSH environment variable needs to be exported by bin/agitator so it
can be seen inside the libexec/master-agitator.pl script.
---
 bin/agitator | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/bin/agitator b/bin/agitator
index cf1dd55..91e456c 100755
--- a/bin/agitator
+++ b/bin/agitator
@@ -32,10 +32,11 @@ EOF
 
 function start_agitator() {
   ## check that pssh is installed, falling back to parallel-ssh if needed
+  ## make sure to export it, so it can be seen inside the agitator perl script
   if hash pssh 2>/dev/null; then
-PSSH=pssh
+export PSSH=pssh
   elif hash parallel-ssh 2>/dev/null; then
-PSSH=parallel-ssh
+export PSSH=parallel-ssh
   else
 echo >&2 "The agitator requires pssh/parallel-ssh to be installed. 
Aborting."; exit 1;
   fi


[accumulo] branch main updated: update log4j to 2.17.0 (#2395)

2021-12-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.git


The following commit(s) were added to refs/heads/main by this push:
 new e4a19bc  update log4j to 2.17.0 (#2395)
e4a19bc is described below

commit e4a19bcbecdf07171aa48aa4bd495c0341e954a0
Author: EdColeman 
AuthorDate: Mon Dec 20 10:43:52 2021 -0500

update log4j to 2.17.0 (#2395)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4d2b68d..93a4113 100644
--- a/pom.xml
+++ b/pom.xml
@@ -199,7 +199,7 @@
   
 org.apache.logging.log4j
 log4j-bom
-2.16.0
+2.17.0
 pom
 import
   


[accumulo-testing] branch main updated: Replace use of `pssh` with `parallel-ssh` (#179)

2021-12-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-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new e74a1f5  Replace use of `pssh` with `parallel-ssh` (#179)
e74a1f5 is described below

commit e74a1f5904bc165d4054ea1a0fd93d8eacc82606
Author: Dom G <47725857+domgargu...@users.noreply.github.com>
AuthorDate: Thu Dec 16 14:39:28 2021 -0500

Replace use of `pssh` with `parallel-ssh` (#179)

* Replaced pssh and pscp
* Fall back to parallel-ssh when pssh unavailable
* Fix quoting in sudo commands in agitator
* Preserve PSSH environment over sudo commands for agitator
* Properly set PSSH in perl agitator code from process environment
* Fix a couple typos in READMEs

Co-authored-by: Christopher Tubbs 
---
 bin/agitator  | 15 +++
 libexec/master-agitator.pl| 14 ++
 test/bench/README.md  |  2 +-
 test/compat/japi-compliance/README.md |  2 +-
 test/scalability/README.md|  2 +-
 test/stress/README.md |  7 ---
 test/stress/start-readers.sh  |  4 ++--
 test/stress/start-writers.sh  |  4 ++--
 test/stress/stop-readers.sh   |  2 +-
 test/stress/stop-writers.sh   |  2 +-
 test/stress/stress-env.sh | 12 
 11 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/bin/agitator b/bin/agitator
index 8d15f94..cf1dd55 100755
--- a/bin/agitator
+++ b/bin/agitator
@@ -31,7 +31,14 @@ EOF
 }
 
 function start_agitator() {
-  hash pssh 2>/dev/null || { echo >&2 "The agitator requires pssh to be 
installed. Aborting."; exit 1; }
+  ## check that pssh is installed, falling back to parallel-ssh if needed
+  if hash pssh 2>/dev/null; then
+PSSH=pssh
+  elif hash parallel-ssh 2>/dev/null; then
+PSSH=parallel-ssh
+  else
+echo >&2 "The agitator requires pssh/parallel-ssh to be installed. 
Aborting."; exit 1;
+  fi
 
   mkdir -p "${at_home}/logs"
   log_base="${at_home}/logs/$(date +%Y%m%d%H%M%S)_$(hostname)"
@@ -50,15 +57,15 @@ function start_agitator() {
 $tserver_cmd > "${tserver_log}.out" 2> "${tserver_log}.err" &
   else
 echo "Running master-agitator and tserver-agitator as $AGTR_ACCUMULO_USER 
using sudo."
-sudo -u "$AGTR_ACCUMULO_USER" "$master_cmd" > "${master_log}.out" 2> 
"${master_log}.err" &
-sudo -u "$AGTR_ACCUMULO_USER" "$tserver_cmd" > "${tserver_log}.out" 2> 
"${tserver_log}.err" &
+sudo --preserve-env=PSSH -u "$AGTR_ACCUMULO_USER" $master_cmd > 
"${master_log}.out" 2> "${master_log}.err" &
+sudo -u "$AGTR_ACCUMULO_USER" $tserver_cmd > "${tserver_log}.out" 2> 
"${tserver_log}.err" &
   fi
   if [[ $AGITATOR_USER == "$AGTR_HDFS_USER" ]]; then
 echo "Running datanode-agitator as $AGITATOR_USER"
 $datanode_cmd > "${datanode_log}.out" 2> "${datanode_log}.err" &
   else
 echo "Running datanode-agitator as $AGTR_HDFS_USER using sudo."
-sudo -u "$AGTR_HDFS_USER" "$datanode_cmd" > "${datanode_log}.out" 2> 
"${datanode_log}.err" &
+sudo -u "$AGTR_HDFS_USER" $datanode_cmd > "${datanode_log}.out" 2> 
"${datanode_log}.err" &
   fi
 
   if ${AGTR_HDFS:-false} ; then
diff --git a/libexec/master-agitator.pl b/libexec/master-agitator.pl
index e90c70d..dfc2155 100755
--- a/libexec/master-agitator.pl
+++ b/libexec/master-agitator.pl
@@ -30,6 +30,12 @@ if( defined $ENV{'ACCUMULO_HOME'} ){
   print "ERROR: ACCUMULO_HOME needs to be set!";
   exit(1);
 }
+if( defined $ENV{'PSSH'} ){
+  $PSSH = $ENV{'PSSH'};
+} else {
+  print "ERROR: PSSH needs to be set!";
+  exit(1);
+}
 
 $accumuloConfDir = $accumuloHome . '/conf';
 
@@ -67,11 +73,11 @@ while(1){
system($cmd);
}else{
print STDERR "$t Killing all masters\n";
-   $cmd = "pssh -h $accumuloConfDir/masters \"pkill -f '[ 
]org.apache.accumulo.start.*master'\" < /dev/null";
+   $cmd = "$PSSH -h $accumuloConfDir/masters \"pkill -f '[ 
]org.apache.accumulo.start.*master'\" < /dev/null";
print "$t $cmd\n";
system($cmd);
 
-   $cmd = "pssh -h $accumuloConfDir/$gcfile \"pkill -f '[ 
]org.apache.accumulo.start.*gc'\" < /dev/null";
+   $cmd = "$PSSH -h $accumuloConfDir/$gcfile \"pkill -f '[ 
]org.apache.accumulo.start.*

[accumulo] branch main updated: Fix accumulo-env.sh variables (#2391)

2021-12-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 c029c89  Fix accumulo-env.sh variables (#2391)
c029c89 is described below

commit c029c89ac3e9bfc4f9b73b8d4e016ce07419fba6
Author: Christopher Tubbs 
AuthorDate: Thu Dec 16 12:54:05 2021 -0500

Fix accumulo-env.sh variables (#2391)

* Remove unneeded/useless exports; they don't need to be exported by
  default, since the env script is sourced by bin/accumulo, and they
  don't need to be passed to child processes; the user can modify their
  own env script if they need these to be passed to their child
  processes because of their specific needs
* Treat ACCUMULO_JAVA_OPTS as scalar variable containing space-delimited
  command-line options to prepend to JAVA_OPTS in accumulo-env.sh rather
  than assume it's an array, because arrays can't currently be exported
  in bash, so it's not possible for users to have set it in their
  environment as an array to be picked up here
---
 assemble/conf/accumulo-env.sh | 12 +---
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/assemble/conf/accumulo-env.sh b/assemble/conf/accumulo-env.sh
index b067203..2ce7160 100644
--- a/assemble/conf/accumulo-env.sh
+++ b/assemble/conf/accumulo-env.sh
@@ -31,13 +31,13 @@
 
 
 ## Accumulo logs directory. Referenced by logger config.
-export ACCUMULO_LOG_DIR="${ACCUMULO_LOG_DIR:-${basedir}/logs}"
+ACCUMULO_LOG_DIR="${ACCUMULO_LOG_DIR:-${basedir}/logs}"
 ## Hadoop installation
-export HADOOP_HOME="${HADOOP_HOME:-/path/to/hadoop}"
+HADOOP_HOME="${HADOOP_HOME:-/path/to/hadoop}"
 ## Hadoop configuration
-export HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-${HADOOP_HOME}/etc/hadoop}"
+HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-${HADOOP_HOME}/etc/hadoop}"
 ## Zookeeper installation
-export ZOOKEEPER_HOME="${ZOOKEEPER_HOME:-/path/to/zookeeper}"
+ZOOKEEPER_HOME="${ZOOKEEPER_HOME:-/path/to/zookeeper}"
 
 ##
 # Build CLASSPATH variable
@@ -68,7 +68,7 @@ export CLASSPATH
 ##
 
 ## JVM options set for all processes. Extra options can be passed in by 
setting ACCUMULO_JAVA_OPTS to an array of options.
-JAVA_OPTS=("${ACCUMULO_JAVA_OPTS[@]}"
+JAVA_OPTS=($ACCUMULO_JAVA_OPTS
   '-XX:OnOutOfMemoryError=kill -9 %p'
   '-XX:-OmitStackTraceInFastThrow'
   '-Djava.net.preferIPv4Stack=true'
@@ -115,8 +115,6 @@ case "$cmd" in
 ;;
 esac
 
-export JAVA_OPTS
-
 
 # Variables set to a default
 


[accumulo] branch main updated: fix format specification from commit 6ab8d076c5 (#2390)

2021-12-15 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 5987955  fix format specification from commit 6ab8d076c5 (#2390)
5987955 is described below

commit 59879556866021518ba4a3633cbb07dc6fa9efd9
Author: EdColeman 
AuthorDate: Wed Dec 15 17:02:48 2021 -0500

fix format specification from commit 6ab8d076c5 (#2390)

Co-authored-by: Ed Coleman etcoleman 
---
 .../main/java/org/apache/accumulo/harness/SharedMiniClusterBase.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/test/src/main/java/org/apache/accumulo/harness/SharedMiniClusterBase.java 
b/test/src/main/java/org/apache/accumulo/harness/SharedMiniClusterBase.java
index f453d04..ebd5533 100644
--- a/test/src/main/java/org/apache/accumulo/harness/SharedMiniClusterBase.java
+++ b/test/src/main/java/org/apache/accumulo/harness/SharedMiniClusterBase.java
@@ -124,7 +124,7 @@ public abstract class SharedMiniClusterBase extends 
AccumuloITBase implements Cl
 Optional callerClassName =
 
StackWalker.getInstance(RETAIN_CLASS_REFERENCE).walk(findCallerITClass).map(Class::getName);
 // use the calling class name, or default to a unique name if IT class 
can't be found
-return callerClassName.orElse(String.format("UnknownITClass-%d-%s", 
System.currentTimeMillis(),
+return callerClassName.orElse(String.format("UnknownITClass-%d-%d", 
System.currentTimeMillis(),
 random.nextInt(Short.MAX_VALUE)));
   }
 


[accumulo-testing] branch main updated: Use accumulo-project for dependency mgmt (#181)

2021-12-15 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 1ac45a0  Use accumulo-project for dependency mgmt (#181)
1ac45a0 is described below

commit 1ac45a04914f837f48feb479cd738bda43bb8749
Author: Christopher Tubbs 
AuthorDate: Wed Dec 15 12:34:10 2021 -0500

Use accumulo-project for dependency mgmt (#181)

Fix warnings about dependency versions by using the accumulo-project POM
to manage dependencies. This alleviates the need to keep dependency
versions sync'd with the Accumulo main project. Also fix a few other
warnings throughout the project.

* Update POM to make accumulo-project pom manage the dependency versions
  for this project (for dependencies used by that pom, anyway)
* Remove unnecessary dependency version management in this project's pom
* Remove log4j direct usage in ClientOpts and ContinuousOpts (log4j2
  properties file can be used to control logging debug/trace levels
  instead, dynamically if desired)
* Use commons-lang3 where possible, since commons-lang is no longer on
  the class path
* Switch out deprecated properties with their replacement, when there is
  a direct replacement
* Update TimedScanDispatcher to use the dispatch name with correctly
  spelled parameters
* Inline XMLSchema constants to avoid problems with
  javax.xml.XMLConstants being ambiguously grabbed from a jar on the
  class path
* Remove use of TABLE_MAJC_COMPACTALL_IDLETIME compaction property,
  since it was deprecated without replacement, for table settings in the
  randomwalk config
* Suppress deprecation warnings by deprecating the Replication
  randomwalk class
* Replace finalize method in DataWriter with a Cleaner
---
 contrib/import-control.xml |  4 +-
 pom.xml| 49 ++
 .../apache/accumulo/testing/cli/ClientOpts.java| 11 -
 .../testing/continuous/ContinuousOpts.java | 27 
 .../apache/accumulo/testing/ingest/TestIngest.java |  6 ---
 .../accumulo/testing/merkle/MerkleTreeNode.java|  2 +-
 .../testing/performance/tests/RollWALPT.java   |  4 +-
 .../performance/tests/TimedScanDispatcher.java | 26 +---
 .../apache/accumulo/testing/randomwalk/Module.java |  3 +-
 .../testing/randomwalk/concurrent/Config.java  | 10 ++---
 .../testing/randomwalk/concurrent/Replication.java |  1 +
 .../apache/accumulo/testing/stress/DataWriter.java | 30 +
 .../org/apache/accumulo/testing/stress/Write.java  | 14 +++
 .../accumulo/testing/randomwalk/FrameworkTest.java |  3 +-
 .../randomwalk/ReplicationRandomWalkIT.java|  4 +-
 15 files changed, 59 insertions(+), 135 deletions(-)

diff --git a/contrib/import-control.xml b/contrib/import-control.xml
index 0ca22cc..824c527 100644
--- a/contrib/import-control.xml
+++ b/contrib/import-control.xml
@@ -21,6 +21,7 @@
 
 
 
+
 
 
 
@@ -32,11 +33,10 @@
 
 
 
-
 
 
 
-
+
 
 
 
diff --git a/pom.xml b/pom.xml
index 2b81373..c0a78bc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,15 +24,12 @@
   
   org.apache.accumulo
   accumulo-testing
-  2.0.0-SNAPSHOT
+  2.1.0-SNAPSHOT
   Apache Accumulo Testing
   Testing tools for Apache Accumulo
   
 2.1.0-SNAPSHOT
-3.4.4
 
${project.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml
-3.2.0
-2.4
 11
 11
 11
@@ -40,83 +37,55 @@
 3.5.0
 
 
2021-12-15T00:00:00Z
-1.7.30
-3.1.7
-3.4.14
   
   
 
   
-org.apache.logging.log4j
-log4j-bom
-${log4j2.version}
+org.apache.accumulo
+accumulo-project
+${accumulo.version}
 pom
 import
   
-  
-org.apache.zookeeper
-zookeeper
-${zookeeper.version}
-
-  
-org.slf4j
-slf4j-log4j12
-  
-
-  
 
   
   
 
   com.github.spotbugs
   spotbugs-annotations
-  ${spotbugs.version}
   true
 
 
   com.google.guava
   guava
-  30.1.1-jre
 
 
   com.lmax
   disruptor
-  ${disruptor.version}
 
 
   commons-codec
   commons-codec
-  1.11
-
-
-  commons-configuration
-  commons-configuration
-  1.10
 
 
   org.apache.accumulo
   accumulo-core
-  ${accumulo.version}
 
 
   org.apache.accumulo
   accumulo-hadoop-mapreduce
-  ${accumulo.version}
 
 
   org.apache.commons
   commons-math3
-  3.6.1
 
 
   org.apache.hadoop
   hadoop-client-api
-  ${hadoop.version}
 
 
   org.apache.hadoop
   hadoop-client-runtime

[accumulo-testing] branch main updated (3d47755 -> bf7e575)

2021-12-15 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-testing.git.


from 3d47755  Bump parent POM and plugin versions (#180)
 add bf7e575  fix javadoc warnings (#178)

No new revisions were added by this update.

Summary of changes:
 src/main/java/org/apache/accumulo/testing/randomwalk/Framework.java | 6 ++
 src/main/java/org/apache/accumulo/testing/randomwalk/State.java | 2 ++
 2 files changed, 8 insertions(+)


[accumulo-testing] branch main updated (7a91acc -> 3d47755)

2021-12-15 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-testing.git.


from 7a91acc  Continuous Ingest improvements (#168)
 add 3d47755  Bump parent POM and plugin versions (#180)

No new revisions were added by this update.

Summary of changes:
 pom.xml | 80 +++--
 1 file changed, 33 insertions(+), 47 deletions(-)


[accumulo] branch main updated: bump log4j2 version to 2.16.0 (#2387)

2021-12-15 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 c06f607  bump log4j2 version to 2.16.0 (#2387)
c06f607 is described below

commit c06f6072d3550b9c44ce6e2680d8b5827ae52c82
Author: EdColeman 
AuthorDate: Wed Dec 15 07:59:59 2021 -0500

bump log4j2 version to 2.16.0 (#2387)

Co-authored-by: Ed Coleman etcoleman 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 76763ea..4d2b68d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -199,7 +199,7 @@
   
 org.apache.logging.log4j
 log4j-bom
-2.15.0
+2.16.0
 pom
 import
   


[accumulo-examples] branch main updated: Update examples build and dependencies (#84)

2021-12-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-examples.git


The following commit(s) were added to refs/heads/main by this push:
 new 333873d  Update examples build and dependencies (#84)
333873d is described below

commit 333873d8ea691da24c1664393e32322d97c2aac6
Author: Christopher Tubbs 
AuthorDate: Mon Dec 13 13:15:48 2021 -0500

Update examples build and dependencies (#84)

* Use latest Apache parent pom (24)
* Use Console instead of JLine to simplify things, since JLine isn't
  needed
* Use Accumulo parent POM for version resolution
* Update sortpom, impsort, and formatter
* Remove malformed javadocs
* Suppress deprecation warnings to reduce noise for examples of
  deprecated code
* Remove unused variables (static log objects)
---
 pom.xml| 94 +++---
 .../java/org/apache/accumulo/examples/Common.java  |  2 -
 .../accumulo/examples/client/TracingExample.java   |  1 +
 .../examples/filedata/CharacterHistogram.java  |  1 +
 .../examples/filedata/ChunkInputFormat.java|  5 +-
 .../accumulo/examples/filedata/FileDataIngest.java |  4 -
 .../examples/mapreduce/bulk/BulkIngestExample.java |  4 -
 .../apache/accumulo/examples/reservations/ARS.java | 25 +++---
 .../accumulo/examples/sample/SampleExample.java|  9 +--
 .../examples/filedata/ChunkInputFormatIT.java  |  1 +
 10 files changed, 50 insertions(+), 96 deletions(-)

diff --git a/pom.xml b/pom.xml
index f47110c..6f85a88 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache
 apache
-23
+24
   
   org.apache.accumulo
   accumulo-examples
@@ -33,18 +33,28 @@
 3.3.0
 4.1.0-incubating
 3.2.0-incubating
-2.14.0
 11
 11
 11
+11
+3.5.0
+
+
2020-12-17T22:06:50Z
 3.5.9
   
   
 
   
-com.google.guava
-guava
-29.0-jre
+org.apache.accumulo
+accumulo-project
+${accumulo.version}
+pom
+import
+  
+  
+org.apache.htrace
+htrace-core
+${htrace.version}
   
 
   
@@ -52,89 +62,65 @@
 
   com.beust
   jcommander
-  1.72
 
 
   com.google.guava
   guava
 
 
-  commons-configuration
-  commons-configuration
-  1.10
-
-
-  jline
-  jline
-  2.14.6
-
-
   org.apache.accumulo
   accumulo-core
-  ${accumulo.version}
 
 
   org.apache.accumulo
   accumulo-hadoop-mapreduce
-  ${accumulo.version}
 
 
   org.apache.accumulo
   accumulo-tracer
-  ${accumulo.version}
 
 
   org.apache.hadoop
   hadoop-client
-  ${hadoop.version}
 
 
   org.apache.htrace
   htrace-core
-  ${htrace.version}
 
 
   org.apache.htrace
   htrace-core4
-  ${htrace.hadoop.version}
 
 
   org.apache.logging.log4j
   log4j-api
-  ${log4j.version}
 
 
   org.apache.logging.log4j
   log4j-core
-  ${log4j.version}
 
 
   org.apache.logging.log4j
   log4j-slf4j-impl
-  ${log4j.version}
 
 
   org.apache.zookeeper
   zookeeper
-  ${zookeeper.version}
 
 
 
   junit
   junit
-  4.13.1
   test
 
 
   org.apache.accumulo
   accumulo-minicluster
-  ${accumulo.version}
   test
 
 
   org.apache.accumulo
   accumulo-test
-  ${accumulo.version}
   test
 
   
@@ -145,7 +131,6 @@
 
   org.apache.maven.plugins
   maven-compiler-plugin
-  3.8.1
   
 true
   
@@ -153,15 +138,17 @@
 
   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
   
 
@@ -175,30 +162,6 @@
 
   
 org.apache.maven.plugins
-maven-enforcer-plugin
-
-  
-
-enforce-maven-version
-
-  enforce
-
-validate
-
-  
-
-  [3.5.0,)
-
-
-  [11,)
-
-  
-
-  
-
-  
-  
-org.apache.maven.plugins
 maven-failsafe-plugin
 
   
@@ -214,7 +177,7 @@
 
 org.apache.maven.plugins
 maven-checkstyle-plugin
-3.1.0
+3.1.2
 
   contrib

[accumulo] branch main updated: Update log4j2 to 2.15.0 (#2382)

2021-12-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 de569f3  Update log4j2 to 2.15.0 (#2382)
de569f3 is described below

commit de569f3e3573439807993a5c5b76450e4c794ae1
Author: Christopher Tubbs 
AuthorDate: Fri Dec 10 18:06:02 2021 -0500

Update log4j2 to 2.15.0 (#2382)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 1098b60..fd7dd1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -199,7 +199,7 @@
   
 org.apache.logging.log4j
 log4j-bom
-2.14.1
+2.15.0
 pom
 import
   


[accumulo] branch main updated (de54ed9 -> fad597b)

2021-12-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 de54ed9  Fix external compaction IT that was not completing and 
running forever (#2378)
 add fad597b  Remove some useless null checks/assignments (#2377)

No new revisions were added by this update.

Summary of changes:
 .../accumulo/core/clientImpl/TabletServerBatchWriter.java  | 14 ++
 .../accumulo/core/file/rfile/VisMetricsGatherer.java   |  4 +---
 .../accumulo/core/metadata/TableMetadataServicer.java  |  2 +-
 .../accumulo/iteratortest/testcases/YieldingTestCase.java  |  5 -
 .../tserver/compactions/ExternalCompactionExecutor.java|  3 ---
 .../apache/accumulo/tserver/tablet/CompactableImpl.java|  2 +-
 .../apache/accumulo/test/BadDeleteMarkersCreatedIT.java|  1 -
 7 files changed, 9 insertions(+), 22 deletions(-)


[accumulo] branch main updated: Construct credentials only once for ServerInfo (#2374)

2021-12-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 783857b  Construct credentials only once for ServerInfo (#2374)
783857b is described below

commit 783857b35fd322e96b7a5737df3ac381b22c41bd
Author: markjens <94677193+markj...@users.noreply.github.com>
AuthorDate: Fri Dec 10 09:00:53 2021 +0200

Construct credentials only once for ServerInfo (#2374)

In order to improve performance, construct the server credentials
in ServerInfo from the provided site configuration, in order to cache
it in the ServerInfo object, so it is not constructed multiple times.

Co-authored-by: Christopher Tubbs 
---
 .../base/src/main/java/org/apache/accumulo/server/ServerInfo.java   | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/ServerInfo.java 
b/server/base/src/main/java/org/apache/accumulo/server/ServerInfo.java
index 4427c99..2de8477 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerInfo.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerInfo.java
@@ -54,6 +54,7 @@ public class ServerInfo implements ClientInfo {
   private final VolumeManager volumeManager;
   private final ZooCache zooCache;
   private final ServerDirs serverDirs;
+  private final Credentials credentials;
 
   ServerInfo(SiteConfiguration siteConfig, String instanceName, String 
zooKeepers,
   int zooKeepersSessionTimeOut) {
@@ -84,6 +85,7 @@ public class ServerInfo implements ClientInfo {
   + instanceName + " does not exist in zookeeper");
 }
 serverDirs = new ServerDirs(siteConfig, hadoopConf);
+credentials = SystemCredentials.get(instanceID, siteConfig);
   }
 
   ServerInfo(SiteConfiguration config) {
@@ -102,6 +104,7 @@ public class ServerInfo implements ClientInfo {
 zooKeepersSessionTimeOut = (int) 
config.getTimeInMillis(Property.INSTANCE_ZK_TIMEOUT);
 zooCache = new ZooCacheFactory().getZooCache(zooKeepers, 
zooKeepersSessionTimeOut);
 instanceName = InstanceOperationsImpl.lookupInstanceName(zooCache, 
UUID.fromString(instanceID));
+credentials = SystemCredentials.get(instanceID, siteConfig);
   }
 
   ServerInfo(SiteConfiguration config, String instanceName, String instanceID) 
{
@@ -119,6 +122,7 @@ public class ServerInfo implements ClientInfo {
 zooCache = new ZooCacheFactory().getZooCache(zooKeepers, 
zooKeepersSessionTimeOut);
 this.instanceName = instanceName;
 serverDirs = new ServerDirs(siteConfig, hadoopConf);
+credentials = SystemCredentials.get(instanceID, siteConfig);
   }
 
   public SiteConfiguration getSiteConfiguration() {
@@ -176,7 +180,7 @@ public class ServerInfo implements ClientInfo {
   }
 
   public Credentials getCredentials() {
-return SystemCredentials.get(getInstanceID(), getSiteConfiguration());
+return credentials;
   }
 
   @Override


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

2021-12-02 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 ea0d2f26f40e330a6dde1221441be702554459bf
Merge: 7e97566 b94ce9a
Author: Christopher Tubbs 
AuthorDate: Thu Dec 2 21:50:27 2021 -0500

Merge branch '1.10'



[accumulo] branch main updated (7e97566 -> ea0d2f2)

2021-12-02 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 7e97566  Fix incorrect scan range output in getsplits command (#2369)
 add b94ce9a  Fix incorrect scan range output in getsplits command (#2370)
 new ea0d2f2  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] branch main updated: Minor improvements to opentelemetry tooling (#2363)

2021-11-22 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 58431fe  Minor improvements to opentelemetry tooling (#2363)
58431fe is described below

commit 58431fe6c0d8a8be8b1864b6d175906245c6fdfb
Author: Christopher Tubbs 
AuthorDate: Mon Nov 22 14:11:04 2021 -0500

Minor improvements to opentelemetry tooling (#2363)

* Remove client-side properties and server-side property to set
  OpenTelemetry factory. This isn't needed because:
  * For server-side, we only need to use the GlobalOpenTelemetry
instance, and that can be overridden by standard means in
OpenTelemetry (class path setup for autoconfigure instance or
javaagent to inject a custom impl)
  * For client-side, we can assume it is on by default and the user can
set their own GlobalOpenTelemetry instance (or set it up with class
path for autoconfigure or use javaagent to inject)
* Remove no longer used SPI
* Rename some TraceUtil methods to ensure they are used properly
* Update TraceUtil to simplify initialization on the server-side using a
  single boolean, that can also be enabled/disabled easily for the Shell
  using the Shell's TraceCommand (enabled just means it will use the
  GlobalOpenTelemetry instance, which is typically the autoconfigured
  one, and disabled means it will use the NOOP explicitly, even if the
  GlobalOpenTelemetry instance is set)
* Short-circuit span creation using an invalid span singleton if tracing
  is disabled
* Improve getContext javadoc
---
 .../accumulo/core/conf/ClientConfigGenerate.java   |   2 +-
 .../apache/accumulo/core/conf/ClientProperty.java  |   6 -
 .../org/apache/accumulo/core/conf/Property.java|   6 +-
 .../accumulo/core/rpc/TraceProtocolFactory.java|   2 +-
 .../core/spi/trace/OpenTelemetryFactory.java   |  28 -
 .../org/apache/accumulo/core/trace/TraceUtil.java  | 140 +++--
 .../org/apache/accumulo/server/AbstractServer.java |   6 +-
 .../accumulo/manager/tableOps/TraceRepo.java   |   6 +-
 shell/pom.xml  |   4 +
 .../main/java/org/apache/accumulo/shell/Shell.java |   2 -
 .../accumulo/shell/commands/TraceCommand.java  |  25 +++-
 11 files changed, 74 insertions(+), 153 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ClientConfigGenerate.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ClientConfigGenerate.java
index a17dfe9..0ad0a8a 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ClientConfigGenerate.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ClientConfigGenerate.java
@@ -52,7 +52,7 @@ public class ClientConfigGenerate {
   generateSection("Scanner", "scanner.");
   generateSection("SSL", "ssl.");
   generateSection("SASL", "sasl.");
-  generateSection("Tracing", "general.opentelemetry.");
+  generateSection("Tracing", "trace.");
 
   doc.close();
 }
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 38d8c30..a1d8431 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
@@ -123,12 +123,6 @@ public enum ClientProperty {
   "Kerberos principal/primary that Accumulo servers use to login"),
 
   // Trace
-  @Experimental
-  GENERAL_OPENTELEMETRY_ENABLED("general.opentelemetry.enabled", "false", 
PropertyType.BOOLEAN,
-  "Enables tracing functionality using OpenTelemetry.", "2.1.0", false),
-  @Experimental
-  GENERAL_OPENTELEMETRY_FACTORY("general.opentelemetry.factory", "", 
PropertyType.CLASSNAME,
-  "Name of class that implements OpenTelemetryFactory", "2.1.0", false),
   @Deprecated(since = "2.1.0", forRemoval = true)
   TRACE_SPAN_RECEIVERS("trace.span.receivers", 
"org.apache.accumulo.tracer.ZooTraceClient",
   "A list of span receiver classes to send trace spans"),
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 4b8323a..ab8a21b 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
@@ -241,10 +241,8 @@ public enum Property {
   "The maximum size of a message that can be sent to a server.", "1.5.0"),
   @Experimental
   GENERAL_OPENTELEMETRY_ENABLED("general.opent

[accumulo] branch main updated: Resolve deprecation warnings in imports

2021-11-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 240c60c  Resolve deprecation warnings in imports
240c60c is described below

commit 240c60c7c8ec326338d15ecb3c1168cee7a54557
Author: Christopher Tubbs 
AuthorDate: Thu Nov 18 13:03:16 2021 -0500

Resolve deprecation warnings in imports

Use fully-qualified class names to avoid deprecation warnings in import
statements
---
 .../accumulo/core/client/AccumuloClient.java   |  3 +-
 .../accumulo/core/clientImpl/ClientContext.java|  6 ++--
 .../accumulo/core/util/threads/ThreadPools.java|  1 +
 .../org/apache/accumulo/core/data/TableIdTest.java |  3 +-
 .../core/metadata/MetadataServicerTest.java|  7 +++--
 .../apache/accumulo/core/util/ValidatorsTest.java  |  7 +++--
 .../org/apache/accumulo/server/fs/VolumeUtil.java  |  3 +-
 .../apache/accumulo/server/init/Initialize.java| 32 +++---
 .../server/security/SecurityOperation.java |  3 +-
 .../accumulo/server/util/ReplicationTableUtil.java |  7 ++---
 .../accumulo/gc/GarbageCollectWriteAheadLogs.java  |  9 ++
 .../accumulo/gc/GarbageCollectionAlgorithm.java|  4 +--
 .../apache/accumulo/gc/SimpleGarbageCollector.java | 13 -
 .../gc/GarbageCollectWriteAheadLogsTest.java   |  4 +--
 .../apache/accumulo/gc/GarbageCollectionTest.java  |  4 +--
 .../java/org/apache/accumulo/manager/Manager.java  | 14 --
 .../manager/ManagerClientServiceHandler.java   | 17 ++--
 .../org/apache/accumulo/tserver/TabletServer.java  | 21 ++
 .../accumulo/tserver/log/TabletServerLogger.java   | 10 +++
 .../accumulo/tserver/tablet/DatafileManager.java   |  8 ++
 .../org/apache/accumulo/tserver/tablet/Tablet.java | 13 -
 .../test/ManagerRepairsDualAssignmentIT.java   |  3 +-
 22 files changed, 88 insertions(+), 104 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java 
b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
index 1cf9d18..a0b543c 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
@@ -24,7 +24,6 @@ import java.util.Properties;
 
 import org.apache.accumulo.core.client.admin.InstanceOperations;
 import org.apache.accumulo.core.client.admin.NamespaceOperations;
-import org.apache.accumulo.core.client.admin.ReplicationOperations;
 import org.apache.accumulo.core.client.admin.SecurityOperations;
 import org.apache.accumulo.core.client.admin.TableOperations;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
@@ -324,7 +323,7 @@ public interface AccumuloClient extends AutoCloseable {
* @return an object to modify replication configuration
*/
   @Deprecated(since = "2.1.0")
-  ReplicationOperations replicationOperations();
+  org.apache.accumulo.core.client.admin.ReplicationOperations 
replicationOperations();
 
   /**
* @return All {@link Properties} used to create client except 'auth.token'
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 99f2413..247b45e 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
@@ -52,7 +52,6 @@ import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.client.TableOfflineException;
 import org.apache.accumulo.core.client.admin.InstanceOperations;
 import org.apache.accumulo.core.client.admin.NamespaceOperations;
-import org.apache.accumulo.core.client.admin.ReplicationOperations;
 import org.apache.accumulo.core.client.admin.SecurityOperations;
 import org.apache.accumulo.core.client.admin.TableOperations;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
@@ -122,7 +121,7 @@ public class ClientContext implements AccumuloClient {
   private NamespaceOperations namespaceops = null;
   private InstanceOperations instanceops = null;
   @SuppressWarnings("deprecation")
-  private ReplicationOperations replicationops = null;
+  private org.apache.accumulo.core.client.admin.ReplicationOperations 
replicationops = null;
   private final SingletonReservation singletonReservation;
 
   private void ensureOpen() {
@@ -685,7 +684,8 @@ public class ClientContext implements AccumuloClient {
 
   @Override
   @Deprecated
-  public synchronized ReplicationOperations replicationOperations() {
+  public synchronized 
org.apache.accumulo.core.client.admin.ReplicationOperations
+  replicationOperations() {
 ensureOpen();
 if (replicationops == null) {
   

[accumulo] branch error-message-update-2353 deleted (was 07ee148)

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

ctubbsii pushed a change to branch error-message-update-2353
in repository https://gitbox.apache.org/repos/asf/accumulo.git.


 was 07ee148  #2353: Update other messages in same class

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


[accumulo] branch main updated: Improve error messages in PerTableVolumeChooser (#2354)

2021-11-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 bf4d8e4  Improve error messages in PerTableVolumeChooser (#2354)
bf4d8e4 is described below

commit bf4d8e4ad5c06e2881a8235ffd0bb293c54289e4
Author: alerman 
AuthorDate: Wed Nov 10 12:26:23 2021 -0500

Improve error messages in PerTableVolumeChooser (#2354)

Improve error messages in PerTableVolumeChooser by including
fully-qualified property names as suggestions in the message

This fixes #2353
---
 .../apache/accumulo/core/spi/fs/PerTableVolumeChooser.java | 14 +-
 1 file changed, 9 insertions(+), 5 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/PerTableVolumeChooser.java
index ac9ab06..39ae0e5 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/PerTableVolumeChooser.java
@@ -21,6 +21,7 @@ package org.apache.accumulo.core.spi.fs;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.data.TableId;
 import org.apache.accumulo.core.spi.fs.VolumeChooserEnvironment.Scope;
 import org.slf4j.Logger;
@@ -86,7 +87,8 @@ public class PerTableVolumeChooser implements VolumeChooser {
 }
 
 if (clazz == null || clazz.isEmpty()) {
-  String msg = "Property " + TABLE_CUSTOM_SUFFIX + " or " + 
DEFAULT_SCOPED_VOLUME_CHOOSER
+  String msg = "Property " + Property.TABLE_ARBITRARY_PROP_PREFIX + 
TABLE_CUSTOM_SUFFIX + " or "
+  + Property.GENERAL_ARBITRARY_PROP_PREFIX + 
DEFAULT_SCOPED_VOLUME_CHOOSER
   + " must be a valid " + VolumeChooser.class.getSimpleName() + " to 
use the "
   + getClass().getSimpleName();
   throw new RuntimeException(msg);
@@ -106,13 +108,15 @@ public class PerTableVolumeChooser implements 
VolumeChooser {
 // fall back to global default scope if this scope isn't configured (and 
not already default
 // scope)
 if ((clazz == null || clazz.isEmpty()) && scope != Scope.DEFAULT) {
-  log.debug("{} not found; using {}", property, 
DEFAULT_SCOPED_VOLUME_CHOOSER);
+  log.debug("{} not found; using {}", Property.TABLE_ARBITRARY_PROP_PREFIX 
+ property,
+  Property.GENERAL_ARBITRARY_PROP_PREFIX + 
DEFAULT_SCOPED_VOLUME_CHOOSER);
   clazz = 
env.getServiceEnv().getConfiguration().getCustom(DEFAULT_SCOPED_VOLUME_CHOOSER);
 
   if (clazz == null || clazz.isEmpty()) {
-String msg =
-"Property " + property + " or " + DEFAULT_SCOPED_VOLUME_CHOOSER + 
" must be a valid "
-+ VolumeChooser.class.getSimpleName() + " to use the " + 
getClass().getSimpleName();
+String msg = "Property " + Property.TABLE_ARBITRARY_PROP_PREFIX + 
property + " or "
++ Property.GENERAL_ARBITRARY_PROP_PREFIX + 
DEFAULT_SCOPED_VOLUME_CHOOSER
++ " must be a valid " + VolumeChooser.class.getSimpleName() + " to 
use the "
++ getClass().getSimpleName();
 throw new RuntimeException(msg);
   }
 


[accumulo] branch main updated: Use unique test file locations for crypto tests (#2344)

2021-11-03 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 25013a8  Use unique test file locations for crypto tests (#2344)
25013a8 is described below

commit 25013a8b4bad40e88279645c82ed9f602394a23e
Author: Christopher Tubbs 
AuthorDate: Wed Nov 3 21:27:56 2021 -0400

Use unique test file locations for crypto tests (#2344)

* Make CryptoTest and RFileTest use unique key files, so they don't
  interfere with one another when run concurrently
* Move getAccumuloConfig method to CryptoTest, and wrap with helpers,
  and use enum instead of String, to determine crypto config mode to use
  in the config file
* Fix tests being run twice when specified explicitly with -Dtest=
  parameter (found while testing this PR) by creating separate profile
  in pom.xml files that had a second surefire execution, that is
  automatically disabled when that property is used

Fixes #2343
---
 core/pom.xml   |  94 ++
 .../apache/accumulo/core/crypto/CryptoTest.java| 107 ++---
 .../apache/accumulo/core/file/rfile/RFileTest.java |  70 ++
 server/base/pom.xml|  68 +++--
 server/tserver/pom.xml |  68 -
 5 files changed, 238 insertions(+), 169 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index d0e88a1..0523675 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -199,45 +199,6 @@
 
   
 
-
-  org.apache.maven.plugins
-  maven-surefire-plugin
-  
-
-
-  **/InternerTest.java
-  **/NamespaceIdTest.java
-  **/TableIdTest.java
-  **/HadoopCredentialProviderTest.java
-  **/IdleRatioScanPrioritizerTest.java
-  **/TestCfCqSlice.java
-  **/TestCfCqSliceSeekingFilter.java
-  
**/core/constraints/DefaultKeySizeConstraintTest.java
-
-  
-  
-
-  reuseForks-false-tests
-  
-test
-  
-  
-false
-
-
-  **/InternerTest.java
-  **/NamespaceIdTest.java
-  **/TableIdTest.java
-  **/HadoopCredentialProviderTest.java
-  **/IdleRatioScanPrioritizerTest.java
-  **/TestCfCqSlice.java
-  **/TestCfCqSliceSeekingFilter.java
-  
**/core/constraints/DefaultKeySizeConstraintTest.java
-
-  
-
-  
-
   
 
 
@@ -426,5 +387,60 @@
 
   
 
+
+  
+  
+  reuseForksFalse
+  
+
+  !test
+
+  
+  
+
+  
+
+  org.apache.maven.plugins
+  maven-surefire-plugin
+  
+
+
+  **/InternerTest.java
+  **/NamespaceIdTest.java
+  **/TableIdTest.java
+  **/HadoopCredentialProviderTest.java
+  **/IdleRatioScanPrioritizerTest.java
+  **/TestCfCqSlice.java
+  **/TestCfCqSliceSeekingFilter.java
+  
**/core/constraints/DefaultKeySizeConstraintTest.java
+
+  
+  
+
+  reuseForks-false-tests
+  
+test
+  
+  
+false
+
+
+  **/InternerTest.java
+  **/NamespaceIdTest.java
+  **/TableIdTest.java
+  **/HadoopCredentialProviderTest.java
+  **/IdleRatioScanPrioritizerTest.java
+  **/TestCfCqSlice.java
+  **/TestCfCqSliceSeekingFilter.java
+  
**/core/constraints/DefaultKeySizeConstraintTest.java
+
+  
+
+  
+
+  
+
+  
+
   
 
diff --git a/core/src/test/java/org/apache/accumulo/core/crypto/CryptoTest.java 
b/core/src/test/java/org/apache/accumulo/core/crypto/CryptoTest.java
index b5e675f..d97fdb5 100644
--- a/core/src/test/java/org/apache/accumulo/core/crypto/CryptoTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/crypto/CryptoTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.accumulo.core.crypto;
 
+import static org.apache.accumulo.core.conf.Property.INSTANCE_CRYPTO_PREFIX;
 import static

[accumulo-website] branch asf-site updated (79e3954 -> 3babbc8)

2021-10-28 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 79e3954  Automatic Site Publish by Buildbot
 add 3babbc8  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/docs/2.x/troubleshooting/basic.html | 4 
 output/feed.xml| 4 ++--
 output/search_data.json| 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)


[accumulo-website] branch main updated: Add root password reset instructions (#299)

2021-10-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 aabe862  Add root password reset instructions (#299)
aabe862 is described below

commit aabe86280b41ac04f07bc6cc0e0f372562545382
Author: Dom G <47725857+domgargu...@users.noreply.github.com>
AuthorDate: Thu Oct 28 01:43:37 2021 -0400

Add root password reset instructions (#299)
---
 _docs-2/troubleshooting/basic.md | 4 
 1 file changed, 4 insertions(+)

diff --git a/_docs-2/troubleshooting/basic.md b/_docs-2/troubleshooting/basic.md
index 87099b8..32e6639 100644
--- a/_docs-2/troubleshooting/basic.md
+++ b/_docs-2/troubleshooting/basic.md
@@ -64,6 +64,10 @@ master is down. Check for a running master.
 The monitor uses the ZooKeeper `stat` [four-letter-word][zk-4lw] command to 
retrieve information.
 The ZooKeeper configuration may require explicitly listing the `stat` command 
in the four-letter-word whitelist.
 
+**I've lost the Accumulo root password, now what?**
+
+Running `accumulo init --reset-security` will prompt you for a new root 
password. CAUTION: this command will delete all existing users. You will need 
to re-create all other users and set permissions accordingly. Running the 
`accumulo admin dumpConfig` command will output current configuration, 
including current users, which may aid in this process.
+
 ## Accumulo Processes
 
 **My tablet server crashed!  The logs say that it lost its zookeeper lock.**


[accumulo] branch main updated: Avoid NPE when comparing equality (#2326)

2021-10-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 5f20e38  Avoid NPE when comparing equality (#2326)
5f20e38 is described below

commit 5f20e38628abd6385a5ee652634f4d748ecd013f
Author: EdColeman 
AuthorDate: Mon Oct 25 13:29:22 2021 -0400

Avoid NPE when comparing equality (#2326)

* Use Objects.equals(a,b) instead of a.equals(b) to avoid NPE when a is null
* Apply other minor IDE suggested checkstyle corrections

Co-authored-by: Ed Coleman etcoleman 
---
 .../apache/accumulo/gc/SimpleGarbageCollector.java | 43 ++
 1 file changed, 20 insertions(+), 23 deletions(-)

diff --git 
a/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java 
b/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
index 3b7761f..2c67b7c 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
@@ -31,6 +31,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map.Entry;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.UUID;
@@ -97,7 +98,6 @@ import org.apache.accumulo.server.rpc.ThriftServerType;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
 import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
 import org.apache.htrace.impl.ProbabilitySampler;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;
@@ -110,19 +110,17 @@ import com.google.protobuf.InvalidProtocolBufferException;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
-// Could/Should implement HighlyAvaialbleService but the Thrift server is 
already started before
+// Could/Should implement HighlyAvailableService but the Thrift server is 
already started before
 // the ZK lock is acquired. The server is only for metrics, there are no 
concerns about clients
 // using the service before the lock is acquired.
 public class SimpleGarbageCollector extends AbstractServer implements Iface {
 
   private static final Logger log = 
LoggerFactory.getLogger(SimpleGarbageCollector.class);
 
-  private ServiceLock lock;
-
-  private GCStatus status =
+  private final GCStatus status =
   new GCStatus(new GcCycleStats(), new GcCycleStats(), new GcCycleStats(), 
new GcCycleStats());
 
-  private GcCycleMetrics gcCycleMetrics = new GcCycleMetrics();
+  private final GcCycleMetrics gcCycleMetrics = new GcCycleMetrics();
 
   public static void main(String[] args) throws Exception {
 try (SimpleGarbageCollector gc = new SimpleGarbageCollector(new 
ServerOpts(), args)) {
@@ -201,14 +199,14 @@ public class SimpleGarbageCollector extends 
AbstractServer implements Iface {
 
   private class GCEnv implements GarbageCollectionEnvironment {
 
-private DataLevel level;
+private final DataLevel level;
 
 GCEnv(Ample.DataLevel level) {
   this.level = level;
 }
 
 @Override
-public Iterator getCandidates() throws TableNotFoundException {
+public Iterator getCandidates() {
   return getContext().getAmple().getGcCandidates(level);
 }
 
@@ -262,7 +260,7 @@ public class SimpleGarbageCollector extends AbstractServer 
implements Iface {
 .checkConsistency().fetch(DIR, FILES, SCANS).build().stream();
   }
 
-  Stream refStream = tabletStream.flatMap(tm -> {
+  return tabletStream.flatMap(tm -> {
 Stream refs = Stream.concat(tm.getFiles().stream(), 
tm.getScans().stream())
 .map(f -> new Reference(tm.getTableId(), f.getMetaUpdateDelete(), 
false));
 if (tm.getDirName() != null) {
@@ -271,8 +269,6 @@ public class SimpleGarbageCollector extends AbstractServer 
implements Iface {
 }
 return refs;
   });
-
-  return refStream;
 }
 
 @Override
@@ -323,7 +319,7 @@ public class SimpleGarbageCollector extends AbstractServer 
implements Iface {
   // volume switching when something needs to be deleted. Since 
the rest of the code
   // uses suffixes to compare delete entries, there is no danger
   // of deleting something that should not be deleted. Must not 
change value of delete
-  // variable because thats whats stored in metadata table.
+  // variable because that's what's stored in metadata table.
   log.debug("Volume replaced {} -> {}", delete, switchedDelete);
   fullPath = TabletFileUtil.validate(switchedDelete);
 } else {
@@ -402,7 +398,7 @@ public class SimpleGarbageCollector extends AbstractServer 
implements Iface {
   // if dir exist and is empty, then empty list is returned...
   //

[accumulo] branch main updated: Fix External Compaction status percentage in logs (#2310)

2021-10-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 bbc18e3  Fix External Compaction status percentage in logs (#2310)
bbc18e3 is described below

commit bbc18e37c58f3b24cea6e7a6f3913d501b364b6b
Author: Mark Owens 
AuthorDate: Mon Oct 11 11:47:12 2021 -0400

Fix External Compaction status percentage in logs (#2310)

Cast one of the percentComplete variables to float to prevent result
always being 0.0.

This fixes #2308
---
 .../src/main/java/org/apache/accumulo/compactor/Compactor.java| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java 
b/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
index 305de7f..633e109 100644
--- 
a/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
+++ 
b/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
@@ -235,7 +235,6 @@ public class Compactor extends AbstractServer implements 
CompactorService.Iface
*
* @param clientAddress
*  address of this Compactor
-   *
* @throws KeeperException
*   zookeeper error
* @throws InterruptedException
@@ -679,7 +678,8 @@ public class Compactor extends AbstractServer implements 
CompactorService.Iface
   CompactionInfo info = running.get(0);
   if (info != null) {
 if (inputEntries > 0) {
-  percentComplete = Float.toString((info.getEntriesRead() / 
inputEntries) * 100);
+  percentComplete =
+  Float.toString((info.getEntriesRead() / (float) 
inputEntries) * 100);
 }
 String message = String.format(
 "Compaction in progress, read %d of %d input entries ( %s 
%s ), written %d entries",


[accumulo] branch main updated: Fix trivial warnings (#2291)

2021-09-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.git


The following commit(s) were added to refs/heads/main by this push:
 new d4cb0eb  Fix trivial warnings (#2291)
d4cb0eb is described below

commit d4cb0ebacddcad11a520e87829714f3f67dc71d5
Author: Christopher Tubbs 
AuthorDate: Mon Sep 27 21:02:31 2021 -0400

Fix trivial warnings (#2291)

* Remove unused import
* Remove unused log field in test class
* Remove misleading javadoc about renamed constraint check method that
  wasn't renamed
---
 .../java/org/apache/accumulo/core/data/constraints/Constraint.java| 4 
 .../src/test/java/org/apache/accumulo/gc/GarbageCollectionTest.java   | 4 
 .../java/org/apache/accumulo/tserver/tablet/CompactableUtils.java | 1 -
 3 files changed, 9 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/data/constraints/Constraint.java 
b/core/src/main/java/org/apache/accumulo/core/data/constraints/Constraint.java
index 02068a4..5ce7840 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/data/constraints/Constraint.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/data/constraints/Constraint.java
@@ -90,10 +90,6 @@ public interface Constraint {
*
* Violation codes must be non-negative. Negative violation codes are 
reserved for system use.
*
-   * New API equivalent of
-   * {@link 
org.apache.accumulo.core.constraints.Constraint#check(org.apache.accumulo.core.constraints.Constraint.Environment,
 Mutation)}
-   * but renamed to prevent ambiguous method call errors.
-   *
* @param env
*  constraint environment
* @param mutation
diff --git 
a/server/gc/src/test/java/org/apache/accumulo/gc/GarbageCollectionTest.java 
b/server/gc/src/test/java/org/apache/accumulo/gc/GarbageCollectionTest.java
index c6736ed..ecb216f 100644
--- a/server/gc/src/test/java/org/apache/accumulo/gc/GarbageCollectionTest.java
+++ b/server/gc/src/test/java/org/apache/accumulo/gc/GarbageCollectionTest.java
@@ -39,13 +39,9 @@ import org.apache.accumulo.core.data.TableId;
 import org.apache.accumulo.server.replication.StatusUtil;
 import org.apache.accumulo.server.replication.proto.Replication.Status;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class GarbageCollectionTest {
 
-  private static final Logger log = 
LoggerFactory.getLogger(GarbageCollectionTest.class);
-
   static class TestGCE implements GarbageCollectionEnvironment {
 TreeSet candidates = new TreeSet<>();
 ArrayList blips = new ArrayList<>();
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
index c625263..742180f 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
@@ -72,7 +72,6 @@ import org.apache.accumulo.core.summary.SummaryCollection;
 import org.apache.accumulo.core.summary.SummaryReader;
 import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.server.ServiceEnvironmentImpl;
-import org.apache.accumulo.server.compaction.CompactionInfo;
 import org.apache.accumulo.server.compaction.CompactionStats;
 import org.apache.accumulo.server.compaction.FileCompactor;
 import 
org.apache.accumulo.server.compaction.FileCompactor.CompactionCanceledException;


[accumulo-testing] branch main updated: Migrate accumulo-testing to log4j2. (#146)

2021-09-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-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new 50e4c02  Migrate accumulo-testing to log4j2. (#146)
50e4c02 is described below

commit 50e4c021e7db4df546138d43d778f0adee4bf7a5
Author: AlbertWhitlock 
AuthorDate: Mon Sep 20 14:12:12 2021 -0400

Migrate accumulo-testing to log4j2. (#146)

Migrate accumulo-testing to use log4j2 (via slf4j)

Co-authored-by: Jeffrey Manno 
Co-authored-by: Christopher Tubbs 
---
 Dockerfile |  2 +-
 bin/cingest|  2 +-
 bin/gcs|  2 +-
 bin/monitor|  2 +-
 bin/performance| 18 +++
 bin/rwalk  |  2 +-
 conf/env.sh|  4 ++--
 conf/log4j.properties  | 27 ---
 conf/log4j2.properties | 56 +++
 pom.xml| 59 --
 10 files changed, 124 insertions(+), 50 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 36afd92..e432a95 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -28,7 +28,7 @@ ENV HADOOP_RUNTIME_JAR /opt/at/hadoop-client-runtime.jar
 ENV TEST_JAR_PATH /opt/at/accumulo-testing-shaded.jar
 ENV ACCUMULO_CLIENT_PROPS /opt/at/conf/accumulo-client.properties
 ENV TEST_PROPS /opt/at/conf/accumulo-testing.properties
-ENV TEST_LOG4J /opt/at/conf/log4j.properties
+ENV TEST_LOG4J /opt/at/conf/log4j2.properties
 
 RUN mkdir /opt/at
 RUN mkdir /opt/at/bin
diff --git a/bin/cingest b/bin/cingest
index 0753608..84452b6 100755
--- a/bin/cingest
+++ b/bin/cingest
@@ -92,5 +92,5 @@ case "$1" in
 fi
 ;;
   *)
-java $JAVA_OPTS -Dlog4j.configuration="file:$TEST_LOG4J" "$ci_main" 
"${@:2}" "$TEST_PROPS" "$ACCUMULO_CLIENT_PROPS"
+java $JAVA_OPTS -Dlog4j.configurationFile="file:$TEST_LOG4J" "$ci_main" 
"${@:2}" "$TEST_PROPS" "$ACCUMULO_CLIENT_PROPS"
 esac
diff --git a/bin/gcs b/bin/gcs
index 9959354..31c30af 100755
--- a/bin/gcs
+++ b/bin/gcs
@@ -61,4 +61,4 @@ esac
 
 export 
CLASSPATH="$TEST_JAR_PATH:$HADOOP_API_JAR:$HADOOP_RUNTIME_JAR:$CLASSPATH"
 
-java $JAVA_OPTS -Dlog4j.configuration="file:$TEST_LOG4J" "$ci_main" "${@:2}" 
"$TEST_PROPS" "$ACCUMULO_CLIENT_PROPS"
+java $JAVA_OPTS -Dlog4j.configurationFile="file:$TEST_LOG4J" "$ci_main" 
"${@:2}" "$TEST_PROPS" "$ACCUMULO_CLIENT_PROPS"
diff --git a/bin/monitor b/bin/monitor
index eb606a8..6c8498d 100755
--- a/bin/monitor
+++ b/bin/monitor
@@ -48,4 +48,4 @@ case "$1" in
 esac
 
 export 
CLASSPATH="$TEST_JAR_PATH:$HADOOP_API_JAR:$HADOOP_RUNTIME_JAR:$CLASSPATH"
-java $JAVA_OPTS -DINSTRUMENTATIONKEY="$INSTRUMENTATIONKEY" 
-Dlog4j.configuration="file:$TEST_LOG4J" "$ci_main" "${@:2}" "-c" 
"$ACCUMULO_CLIENT_PROPS"
\ No newline at end of file
+java $JAVA_OPTS -DINSTRUMENTATIONKEY="$INSTRUMENTATIONKEY" 
-Dlog4j.configurationFile="file:$TEST_LOG4J" "$ci_main" "${@:2}" "-c" 
"$ACCUMULO_CLIENT_PROPS"
\ No newline at end of file
diff --git a/bin/performance b/bin/performance
index 45e14d6..05d87d3 100755
--- a/bin/performance
+++ b/bin/performance
@@ -46,9 +46,9 @@ function build_shade_jar() {
   fi
 }
 
-log4j_config="$at_home/conf/log4j.properties"
+log4j_config="$at_home/conf/log4j2.properties"
 if [ ! -f "$log4j_config" ]; then
-  echo "Could not find logj4.properties in $at_home/conf"
+  echo "Could not find log4j2.properties in $at_home/conf"
   exit 1
 fi
 
@@ -71,7 +71,7 @@ case "$1" in
 fi
 # don't start unless we can find the class provided
 found=false
-CLASSPATH="$CP" java $JAVA_OPTS -Dlog4j.configuration="file:$log4j_config" 
${perf_pkg}.ListTests | while read -r test_class; do
+CLASSPATH="$CP" java $JAVA_OPTS 
-Dlog4j.configurationFile="file:$log4j_config" ${perf_pkg}.ListTests | while 
read -r test_class; do
   if [[ "$test_class" == "$3" ]]; then
 found=true
   fi
@@ -83,30 +83,30 @@ case "$1" in
 fi
 mkdir -p "$2"
 start_cluster
-CLASSPATH="$CP" java $JAVA_OPTS -Dlog4j.configuration="file:$log4j_config" 
${perf_pkg}.ListTests | while read -r test_class; do
+CLASSPATH="$CP" java $JAVA_OPTS 
-Dlog4j.configurationFile="file:$log4j_config" ${perf_pkg}.ListTests | while 
read -r test_class; do
   if [[ -z $3 || $test_class == *$3* ]]; then
 echo "Running test $test_clas

[accumulo-website] branch asf-site updated (2280e92 -> 3bfbd28)

2021-07-16 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 2280e92  Automatic Site Publish by Buildbot
 add a4b714e  Automatic Site Publish by Buildbot
 add 3bfbd28  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 +
 2 files changed, 7 insertions(+), 2 deletions(-)


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

2021-07-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-website.git


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

commit c3fbc84297a6ebfe259b58d6099babe453ae701b
Author: classickartik <73540552+classickar...@users.noreply.github.com>
AuthorDate: Sat Jul 17 02:46:54 2021 +0530

Update people.md (#288)

New contributor added from apache/accumulo#2201
---
 pages/people.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/people.md b/pages/people.md
index 26b82f5..1d976ab 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -126,6 +126,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Jonathan Park   | [sqrrl][SQRRL] 
   | [ET][ET]  |
 | Joseph Koshakow |
   | [ET][ET]  |
 | Josselin Chevalay   |
   | [CEST][CEST]  |
+| Kartik Sethi|
   | [IST](https://www.timeanddate.com/worldclock/india/new-delhi)  
  |
 | Kenneth McFarland   |
   | [PT][PT]  |
 | Kevin Faro  | [Tetra Concepts LLC][TETRA]
   | [ET][ET]  |
 | Kyle Van Gilson |
   |   |
@@ -182,7 +183,6 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Volth   |
   |   |
 | Wil Selwood | [Satellite Applications Catapult][SACAT]   
   | [GMT][GMT]/[BST][BST] |
 
-
 [github-contributors]: https://github.com/apache/accumulo/graphs/contributors
 [ANAVATION]: https://www.anavationllc.com
 [ANTHEMENG]: https://www.anthemengineering.com


[accumulo] branch main updated: Fix typo 'putByteSquence' to 'putByteSequence' (#2201)

2021-07-15 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 5a44af4  Fix typo 'putByteSquence' to 'putByteSequence' (#2201)
5a44af4 is described below

commit 5a44af4cfed519e9fbd4fa036c6582b56bffd26f
Author: classickartik <73540552+classickar...@users.noreply.github.com>
AuthorDate: Thu Jul 15 12:56:42 2021 +0530

Fix typo 'putByteSquence' to 'putByteSequence' (#2201)
---
 .../apache/accumulo/core/client/sample/RowColumnSampler.java   | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
 
b/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
index 3199dc1..7eedeb9 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
@@ -104,26 +104,26 @@ public class RowColumnSampler extends AbstractHashSampler 
{
 }
   }
 
-  private void putByteSquence(ByteSequence data, DataOutput hasher) throws 
IOException {
+  private void putByteSequence(ByteSequence data, DataOutput hasher) throws 
IOException {
 hasher.write(data.getBackingArray(), data.offset(), data.length());
   }
 
   @Override
   protected void hash(DataOutput hasher, Key k) throws IOException {
 if (row) {
-  putByteSquence(k.getRowData(), hasher);
+  putByteSequence(k.getRowData(), hasher);
 }
 
 if (family) {
-  putByteSquence(k.getColumnFamilyData(), hasher);
+  putByteSequence(k.getColumnFamilyData(), hasher);
 }
 
 if (qualifier) {
-  putByteSquence(k.getColumnQualifierData(), hasher);
+  putByteSequence(k.getColumnQualifierData(), hasher);
 }
 
 if (visibility) {
-  putByteSquence(k.getColumnVisibilityData(), hasher);
+  putByteSequence(k.getColumnVisibilityData(), hasher);
 }
   }
 }


[accumulo-website] branch main updated: Update gems

2021-07-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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 0f0a071  Update gems
0f0a071 is described below

commit 0f0a0715dc737c0a6de74adbd0d9ed71603542e8
Author: Christopher Tubbs 
AuthorDate: Tue Jul 13 16:44:37 2021 -0400

Update gems

Fixes CVE-2021-32740 in addressable gem
---
 Gemfile.lock | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Gemfile.lock b/Gemfile.lock
index ab5e99b..708511f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,15 +1,15 @@
 GEM
   remote: https://rubygems.org/
   specs:
-addressable (2.7.0)
+addressable (2.8.0)
   public_suffix (>= 2.0.2, < 5.0)
 colorator (1.1.0)
-concurrent-ruby (1.1.8)
+concurrent-ruby (1.1.9)
 em-websocket (0.5.2)
   eventmachine (>= 0.12.9)
   http_parser.rb (~> 0.6.0)
 eventmachine (1.2.7)
-ffi (1.15.0)
+ffi (1.15.3)
 forwardable-extended (2.6.0)
 http_parser.rb (0.6.0)
 i18n (1.8.10)
@@ -47,7 +47,7 @@ GEM
 pathutil (0.16.2)
   forwardable-extended (~> 2.6)
 public_suffix (4.0.6)
-rb-fsevent (0.10.4)
+rb-fsevent (0.11.0)
 rb-inotify (0.10.1)
   ffi (~> 1.0)
 rexml (3.2.5)
@@ -70,4 +70,4 @@ RUBY VERSION
ruby 2.7.1p83
 
 BUNDLED WITH
-   2.1.4
+   2.2.15


[accumulo] branch main updated: Add since information to properties (#2190)

2021-07-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 ff835f2  Add since information to properties (#2190)
ff835f2 is described below

commit ff835f28445d2e0a1221da78e3656ba4c8c1240f
Author: Luke Foster <84727868+foste...@users.noreply.github.com>
AuthorDate: Tue Jul 13 16:42:20 2021 -0400

Add since information to properties (#2190)

* Add since information to properties
* Add links to replaced by properties
* Minor improvement to wording for description of 'experimental'
* Add strikethrough for deprecated properties' keys in addition to their
  descriptions
* Add clarifying information to new manager properties 'since'
  information, so that it shows the original name with its original
  availability, but the new name since 2.1.0
* Replace ternary statements with if-else statements for easier
  readability and maintainability.

Co-authored-by: Dom G. <47725857+domgargu...@users.noreply.github.com>
Co-authored-by: Christopher Tubbs 
---
 .../accumulo/core/conf/ConfigurationDocGen.java|  66 +-
 .../org/apache/accumulo/core/conf/Property.java| 846 +
 2 files changed, 568 insertions(+), 344 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
index ba60da2..13b89e3 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
@@ -70,43 +70,63 @@ public class ConfigurationDocGen {
 + " that is copied from Accumulo build (from 
core/target/generated-docs)" + " -->\n");
 doc.println("Below are properties set in `accumulo.properties` or the"
 + " Accumulo shell that configure Accumulo servers (i.e tablet server,"
-+ " manager, etc). Properties labeled 'Experimental' could be part of 
an incomplete"
-+ " feature or have a higher risk of changing in the future.\n");
++ " manager, etc). Properties labeled 'Experimental' should not be 
considered stable"
++ " and have a higher risk of changing in the future.\n");
   }
 
   void prefixSection(Property prefix) {
 boolean depr = prefix.isDeprecated();
-doc.print("|  **"
-+ prefix.getKey() + "*** | ");
-doc.print(prefix.isExperimental() ? "**Experimental.** " : "");
-doc.println(
-(depr ? "**Deprecated.** " : "") + 
strike(sanitize(prefix.getDescription()), depr) + " |");
+String key = strike(" **" + prefix.getKey() + "***", depr);
+String description = prefix.isExperimental() ? "**Experimental**" : "";
+description += "**Available since:** " + prefix.availableSince() + "";
+if (depr) {
+  description += "*Deprecated since:* " + prefix.deprecatedSince() + 
"";
+  if (prefix.isReplaced())
+description +=
+"*Replaced by:* " + "" + prefix.replacedBy() + "";
+}
+description += strike(sanitize(prefix.getDescription()), depr);
+doc.println("| " + key + " | " + description + " |");
   }
 
   void property(Property prop) {
 boolean depr = prop.isDeprecated();
-doc.print("|  "
-+ prop.getKey() + " | ");
-doc.print(prop.isExperimental() ? "**Experimental.** " : "");
-doc.print(
-(depr ? "**Deprecated.** " : "") + 
strike(sanitize(prop.getDescription()), depr) + "");
-doc.print(strike("**type:** " + prop.getType().name(), depr) + ", ");
-doc.print(strike("**zk mutable:** " + isZooKeeperMutable(prop), depr) + ", 
");
+String key = strike(
+" " + prop.getKey(),
+depr);
+String description = prop.isExperimental() ? "**Experimental**" : "";
+description += "**Available since:** ";
+if (prop.getKey().startsWith("manager.")
+&& (prop.availableSince().startsWith("1.") || 
prop.availableSince().startsWith("2.0"))) {
+  description += "2.1.0 (since " + prop.availableSince() + " as *master."
+  + prop.getKey().substring(8) + "*)" + "";
+} else {
+  description += prop.availableSince() + "";
+}
+if (depr) {
+  description += "*Deprecated since:* " + prop.deprecatedSince() + "&qu

[accumulo] branch main updated (f2b0936 -> 80c8ee7)

2021-07-09 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 f2b0936  Improve client table exceptions (#2195)
 add 80c8ee7  Fix and improve SummaryIT (#2198)

No new revisions were added by this update.

Summary of changes:
 .../core/clientImpl/TableOperationsImpl.java   |  10 +-
 .../apache/accumulo/test/functional/SummaryIT.java | 118 ++---
 2 files changed, 57 insertions(+), 71 deletions(-)


[accumulo-testing] branch 2.0 updated: Allow kerberized run (#142)

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

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


The following commit(s) were added to refs/heads/2.0 by this push:
 new 41ba8e8  Allow kerberized run (#142)
41ba8e8 is described below

commit 41ba8e83114a70fb6aa8340fc332f314d073668e
Author: BukrosSzabolcs 
AuthorDate: Sat Jul 10 01:52:56 2021 +0200

Allow kerberized run (#142)

Add login functionality to client creation and pass the delegation
token when yarn is used to allow running tests on a kerberized cluster.
(security tests excluded)
---
 .../apache/accumulo/testing/KerberosHelper.java| 83 ++
 .../java/org/apache/accumulo/testing/TestEnv.java  |  1 +
 .../testing/continuous/ContinuousMoru.java |  8 ++-
 .../testing/continuous/ContinuousVerify.java   |  8 ++-
 .../apache/accumulo/testing/mapreduce/RowHash.java |  9 ++-
 .../accumulo/testing/mapreduce/TeraSortIngest.java |  5 +-
 .../testing/randomwalk/multitable/CopyTool.java| 11 ++-
 .../randomwalk/sequential/MapRedVerifyTool.java| 10 ++-
 8 files changed, 121 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/apache/accumulo/testing/KerberosHelper.java 
b/src/main/java/org/apache/accumulo/testing/KerberosHelper.java
new file mode 100644
index 000..84bc325
--- /dev/null
+++ b/src/main/java/org/apache/accumulo/testing/KerberosHelper.java
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+package org.apache.accumulo.testing;
+
+import java.io.IOException;
+import java.util.Properties;
+
+import org.apache.accumulo.core.client.Accumulo;
+import org.apache.accumulo.core.client.AccumuloClient;
+import org.apache.accumulo.core.client.AccumuloException;
+import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.security.tokens.DelegationToken;
+import org.apache.accumulo.core.conf.ClientProperty;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
+import org.apache.hadoop.security.UserGroupInformation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class KerberosHelper {
+  private static final Logger log = 
LoggerFactory.getLogger(KerberosHelper.class);
+
+  public static void saslLogin(Properties clientProps, Configuration conf) {
+if 
(Boolean.parseBoolean(ClientProperty.SASL_ENABLED.getValue(clientProps))) {
+  conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION, 
"kerberos");
+  UserGroupInformation.setConfiguration(conf);
+  try {
+UserGroupInformation.loginUserFromKeytab(
+ClientProperty.AUTH_PRINCIPAL.getValue(clientProps),
+ClientProperty.AUTH_TOKEN.getValue(clientProps));
+  } catch (IOException e) {
+log.warn("Sasl login failed", e);
+  }
+}
+  }
+
+  public static Properties configDelegationToken(Properties clientProps)
+  throws AccumuloException, AccumuloSecurityException {
+if 
(Boolean.parseBoolean(ClientProperty.SASL_ENABLED.getValue(clientProps))) {
+  AccumuloClient client = Accumulo.newClient().from(clientProps).build();
+  DelegationToken dt = 
client.securityOperations().getDelegationToken(null);
+  clientProps = Accumulo.newClientProperties().from(clientProps)
+  .as(ClientProperty.AUTH_PRINCIPAL.getValue(clientProps), dt).build();
+  client.close();
+}
+return clientProps;
+  }
+
+  public static Properties configDelegationToken(TestEnv env)
+  throws AccumuloException, AccumuloSecurityException {
+Properties clientProps = env.getClientProps();
+if 
(Boolean.parseBoolean(ClientProperty.SASL_ENABLED.getValue(clientProps))) {
+  AccumuloClient client = env.getAccumuloClient();
+  clientProps = configDelegationToken(clientProps, client);
+  client.close();
+}
+return clientProps;
+  }
+
+  public static Properties configDelegationToken(Properties clientProps, 
AccumuloClient client)
+  throws AccumuloException, AccumuloSecurityException {
+if 
(Boolean.parseBoolean(ClientPr

[accumulo] branch main updated: Improve client table exceptions (#2195)

2021-07-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 f2b0936  Improve client table exceptions (#2195)
f2b0936 is described below

commit f2b0936029fcaadb925bd9c229403c82f0283211
Author: Christopher Tubbs 
AuthorDate: Fri Jul 9 12:22:20 2021 -0400

Improve client table exceptions (#2195)

Improve client-side table exception handling by providing tableNames
from the client to avoid looking them up later to format an exception
message.

* Add TableOfflineException constructor to provide a formatted message
  without requiring a ClientContext to look up the name or id
* Reuse code to check for TableNotFoundException, TableDeletedException,
  and TableOfflineException using convenience methods in ClientContext
* Pass along tableName alongside tableId, in some internal client-side
  code, for use in exception messages, if needed later
* Make check for requiring that a table not be offline explicit, rather
  than entangled with the tableId lookup in ClientContext
* Update ConnectorImpl to proxy to ClientContext in a few cases where
  it previously wasn't, to ensure consistent behavior and argument
  validations
* Use TableId from Thrift exception to avoid another client-side lookup
  when a fate operation throws an exception because the table is offline
* Simplify private addSplit method by passing SplitEnv, rather than
  sending env.tableId and env.tableName as separate parameters
* Remove some redundant tableName validations when they are already
  validated by context.getTableId
* Simplify and inline a private updateAuthorizationsFailures method in
  TabletServerBatchWriter that was used to gather a set of
  authorizations failures whose tables were then checked for being
  deleted
* Fix a few TableState enum comparisons from `.equals()` to `==`
---
 .../core/client/TableOfflineException.java | 13 
 .../core/client/mapred/AbstractInputFormat.java| 10 +--
 .../core/client/mapreduce/AbstractInputFormat.java | 10 +--
 .../accumulo/core/clientImpl/ClientContext.java| 44 ---
 .../core/clientImpl/ConditionalWriterImpl.java | 17 ++---
 .../accumulo/core/clientImpl/ConnectorImpl.java| 14 ++--
 .../core/clientImpl/ReplicationOperationsImpl.java | 48 ++--
 .../core/clientImpl/TableOperationsImpl.java   | 85 +-
 .../apache/accumulo/core/clientImpl/Tables.java| 12 ---
 .../core/clientImpl/TabletServerBatchDeleter.java  |  4 +-
 .../core/clientImpl/TabletServerBatchReader.java   | 12 +--
 .../TabletServerBatchReaderIterator.java   | 16 ++--
 .../core/clientImpl/TabletServerBatchWriter.java   | 44 ---
 .../accumulo/core/clientImpl/ThriftScanner.java| 13 +---
 .../clientImpl/TabletServerBatchReaderTest.java|  5 +-
 .../hadoopImpl/mapred/AccumuloRecordReader.java|  9 +--
 .../hadoopImpl/mapreduce/AccumuloRecordReader.java |  9 +--
 .../server/master/balancer/TableLoadBalancer.java  |  4 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  5 +-
 .../monitor/rest/tables/TablesResource.java|  2 +-
 20 files changed, 150 insertions(+), 226 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/TableOfflineException.java 
b/core/src/main/java/org/apache/accumulo/core/client/TableOfflineException.java
index 2a8d8dd..82aed83 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/TableOfflineException.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/TableOfflineException.java
@@ -18,6 +18,8 @@
  */
 package org.apache.accumulo.core.client;
 
+import org.apache.accumulo.core.data.TableId;
+
 public class TableOfflineException extends RuntimeException {
 
   private static final long serialVersionUID = 1L;
@@ -38,6 +40,17 @@ public class TableOfflineException extends RuntimeException {
   }
 
   /**
+   * @since 2.1.0
+   */
+  public TableOfflineException(TableId tableId, String tableName) {
+// @formatter:off
+super(String.format("Table %s (%s) is offline",
+tableName == null ? "" : tableName,
+tableId == null ? "" : tableId));
+// @formatter:on
+  }
+
+  /**
* @since 2.0.0
*/
   public TableOfflineException(Exception cause) {
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
 
b/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
index cb77cac..1015fa2 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
@@ -41,9 +41,7 @@ import org.apache.accumulo.core.c

[accumulo-website] branch asf-site updated (df2e3a1 -> db1693e)

2021-07-07 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 df2e3a1  Automatic Site Publish by Buildbot
 add 114687f  Automatic Site Publish by Buildbot
 add db1693e  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/docs/2.x/troubleshooting/tools.html | 10 --
 output/feed.xml|  4 ++--
 output/search_data.json|  2 +-
 3 files changed, 11 insertions(+), 5 deletions(-)


[accumulo-website] branch main updated: Update tools.md for new CheckForMetadataProblems output (#287)

2021-07-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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 2ca6f78  Update tools.md for new CheckForMetadataProblems output (#287)
2ca6f78 is described below

commit 2ca6f78ac38ad34221da3fbf29ee20ccf6cb275d
Author: Luke Foster <84727868+foste...@users.noreply.github.com>
AuthorDate: Wed Jul 7 15:01:20 2021 -0400

Update tools.md for new CheckForMetadataProblems output (#287)
---
 _docs-2/troubleshooting/tools.md | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/_docs-2/troubleshooting/tools.md b/_docs-2/troubleshooting/tools.md
index 7083c21..e069793 100644
--- a/_docs-2/troubleshooting/tools.md
+++ b/_docs-2/troubleshooting/tools.md
@@ -102,13 +102,14 @@ every tablet matches, and the start and stop for the 
table is empty:
 
 $ accumulo org.apache.accumulo.server.util.CheckForMetadataProblems -u 
root --password
 Enter the connection password:
-Checking table: accumulo.root
-All is well for table !0
-No problems found
-Checking table: accumulo.metadata
-All is well for table +rep
-All is well for table 1
-No problems found
+Checking tables whose metadata is found in: accumulo.root (+r)
+...All is well for table accumulo.metadata (!0)
+No problems found in accumulo.root (+r)
+
+Checking tables whose metadata is found in: accumulo.metadata (!0)
+...All is well for table accumulo.replication (+rep)
+...All is well for table trace (1)
+No problems found in accumulo.metadata (!0)
 
 ## RemoveEntriesForMissingFiles
 


[accumulo] branch main updated (3b2cdb9 -> 6250aa5)

2021-06-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 3b2cdb9  Add PreDeleteTable FaTE step to cancel compactions (#2175)
 add 6250aa5  Change WALOG Property Names to WAL (#2171)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/accumulo/core/conf/Property.java| 47 --
 .../accumulo/core/conf/SiteConfigurationTest.java  |  4 +-
 core/src/test/resources/accumulo2.properties   |  2 +-
 .../miniclusterImpl/MiniAccumuloConfigImpl.java|  2 +-
 .../server/master/recovery/HadoopLogCloser.java|  2 +-
 .../accumulo/manager/recovery/RecoveryManager.java |  6 ++-
 .../src/test/resources/conf/accumulo-site.xml  |  2 +-
 .../org/apache/accumulo/tserver/TabletServer.java  | 30 +-
 .../org/apache/accumulo/tserver/log/DfsLogger.java |  4 +-
 .../org/apache/accumulo/tserver/tablet/Tablet.java |  5 ++-
 .../org/apache/accumulo/test/MetaRecoveryIT.java   |  2 +-
 .../accumulo/test/TabletServerGivesUpIT.java   |  6 +--
 .../java/org/apache/accumulo/test/UnusedWALIT.java |  2 +-
 .../test/functional/ManyWriteAheadLogsIT.java  | 13 +++---
 .../accumulo/test/functional/RestartStressIT.java  |  2 +-
 .../accumulo/test/functional/WALSunnyDayIT.java|  4 +-
 .../accumulo/test/functional/WriteAheadLogIT.java  |  2 +-
 .../test/replication/CyclicReplicationIT.java  |  4 +-
 ...GarbageCollectorCommunicatesWithTServersIT.java |  2 +-
 .../test/replication/KerberosReplicationIT.java|  2 +-
 .../replication/MultiInstanceReplicationIT.java|  2 +-
 .../accumulo/test/replication/ReplicationIT.java   |  2 +-
 .../UnorderedWorkAssignerReplicationIT.java|  2 +-
 23 files changed, 101 insertions(+), 48 deletions(-)


[accumulo] branch main updated (d3b912c -> 8928c15)

2021-06-14 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 d3b912c  Refactor code to take advantage of Value no-arg constructor 
(#2162)
 add 8928c15  Document some cache props as requiring restart (#2164)

No new revisions were added by this update.

Summary of changes:
 .../main/java/org/apache/accumulo/core/conf/Property.java   | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)


[accumulo] branch main updated (ef744cc -> 987fc0c)

2021-06-14 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 ef744cc  Avoid repeated locking to get max cache size (#2158)
 add 987fc0c  Specify blockName in CachedBlock exceptions (#2163)

No new revisions were added by this update.

Summary of changes:
 .../apache/accumulo/core/file/blockfile/cache/lru/CachedBlock.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


[accumulo] branch main updated (dad7e01 -> ef744cc)

2021-06-14 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 dad7e01  Improve pattern matching and parameter validation (#2156)
 add ef744cc  Avoid repeated locking to get max cache size (#2158)

No new revisions were added by this update.

Summary of changes:
 .../core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java | 12 +---
 1 file changed, 5 insertions(+), 7 deletions(-)


[accumulo] branch main updated: Improve pattern matching and parameter validation (#2156)

2021-06-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 dad7e01  Improve pattern matching and parameter validation (#2156)
dad7e01 is described below

commit dad7e01ae7d450064cba5d60a1e0770311ebdb64
Author: Christopher Tubbs 
AuthorDate: Thu Jun 10 15:49:48 2021 -0400

Improve pattern matching and parameter validation (#2156)

Improved validation for table and namespace names

* Distinguish between validating *existing* table or namespace names and
  *new* names. Existing names could exceed the max length, in which case
  we should issue a warning. New names, on the other hand, must be
  prevented from exceeding the max length and throw an exception
* Be more rigorous in checking table name length by checking the
  namespace segment independently from the table segment
* Check arguments in ClientContext consistently *after* ensureOpen()
* Remove redundant checks for name validation when it is already
  validated another API method that is immediately called in the
  implementation
* Update TableOperationsImpl and NamespaceOperationsImpl and
  ClientContext (impl for AccumuloClient) to validate namespace and
  table names
* Incorporate null checks into the Validators so two checks aren't
  necessary
* Remove validation from ConnectorImpl, because all those methods defer
  to ClientContext anyway, which already does validation

Improvements to Validator guts

* Consolidate Validators into a single class, and rewrite Validator
  class to more efficiently return the error string when there is an
  error, so that the reason for a validation failure are immediately
  known upon failure without executing the validation logic a second
  time to determine the error message
* Cache the most recently validated object in each Validator so that
  validation can be short-circuited if unintentionally called multiple
  times in quick succession (like in an API that calls another API
  method and both do argument validation)
* Move the details of the validation logic (the regular expressions,
  etc.) to private members of the Validators utility class, to keep
  validation implementation all in one place and remove any redundant
  implementations discovered in the code
* Reuse as much code as possible, to ensure consistency in error
  messages and validation behavior
* Add test cases for Validator implementations

Other improvements

* Avoid str.matches(pattern) in favor of precompiled patterns using
  Pattern.compile(pattern).matcher(str).matches() to improve performance
  in loops or other places where a pattern was used multiple times
* Use Pattern.asMatchPredicate where it would make the code or loops
  more readable
* Remove code from 8b54ced2777beb81fce04aa8300e192eb4534a36 added to
  version 1.6.0 to automatically map `!METADATA` to `accumulo.metadata`
  that never worked because the regex validation would have failed
  before that code was reached
* Clean up redundant helper methods in FateServiceHandler

This fixes #2151 (TableOperationsIT and NamespacesIT failures)
---
 .../client/summary/SummarizerConfiguration.java|   7 +-
 .../accumulo/core/clientImpl/ClientContext.java|  51 +
 .../accumulo/core/clientImpl/ConnectorImpl.java|  31 
 .../core/clientImpl/NamespaceOperationsImpl.java   |  66 ++-
 .../accumulo/core/clientImpl/Namespaces.java   |  40 
 .../core/clientImpl/SecurityOperationsImpl.java|  17 +-
 .../apache/accumulo/core/clientImpl/TableMap.java  |   3 +-
 .../core/clientImpl/TableOperationsHelper.java |  42 +
 .../core/clientImpl/TableOperationsImpl.java   | 203 +---
 .../apache/accumulo/core/clientImpl/Tables.java|  14 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   3 +-
 .../accumulo/core/metadata/MetadataTable.java  |   3 -
 .../org/apache/accumulo/core/util/Validator.java   | 116 ++--
 .../org/apache/accumulo/core/util/Validators.java  | 206 +
 .../apache/accumulo/core/util/ValidatorTest.java   |  77 
 .../apache/accumulo/core/util/ValidatorsTest.java  | 165 +
 .../accumulo/manager/FateServiceHandler.java   | 149 +--
 .../accumulo/manager/util/TableValidators.java | 133 -
 .../shell/commands/CreateTableCommand.java |  12 +-
 .../apache/accumulo/shell/commands/DUCommand.java  |   9 +-
 .../shell/commands/ListCompactionsCommand.java |   5 +-
 .../shell/commands/ListTabletsCommand.java |   5 +-
 .../accumulo/shell/commands/TableOperation.java|   9 +-
 .../start/classloader/AccumuloClassLoader.java |   3

[accumulo] branch main updated: Change shell 'config' command to display sorted output (#2150)

2021-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 99ca22d  Change shell 'config' command to display sorted output (#2150)
99ca22d is described below

commit 99ca22da9e9233e41954cf57c0c33809aca24783
Author: Luke Foster <84727868+foste...@users.noreply.github.com>
AuthorDate: Tue Jun 8 13:22:32 2021 -0400

Change shell 'config' command to display sorted output (#2150)

* Change shell config command to sorted
* Change Admin.java to sorted map
---
 .../base/src/main/java/org/apache/accumulo/server/util/Admin.java  | 7 ---
 .../java/org/apache/accumulo/shell/commands/ConfigCommand.java | 4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)

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 a053b12..299b1d6 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
@@ -71,6 +71,7 @@ import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
 import com.beust.jcommander.Parameters;
 import com.google.auto.service.AutoService;
+import com.google.common.collect.ImmutableSortedMap;
 import com.google.common.collect.Lists;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -528,8 +529,8 @@ public class Admin implements KeywordExecutable {
 File namespaceScript = new File(outputDirectory, namespace + 
NS_FILE_SUFFIX);
 try (BufferedWriter nsWriter = new BufferedWriter(new 
FileWriter(namespaceScript, UTF_8))) {
   nsWriter.write(createNsFormat.format(new String[] {namespace}));
-  Map props =
-  
Map.copyOf(accumuloClient.namespaceOperations().getConfiguration(namespace));
+  Map props = ImmutableSortedMap
+  
.copyOf(accumuloClient.namespaceOperations().getConfiguration(namespace));
   for (Entry entry : props.entrySet()) {
 String defaultValue = getDefaultConfigValue(entry.getKey());
 if (defaultValue == null || !defaultValue.equals(entry.getValue())) {
@@ -606,7 +607,7 @@ public class Admin implements KeywordExecutable {
 try (BufferedWriter writer = new BufferedWriter(new 
FileWriter(tableBackup, UTF_8))) {
   writer.write(createTableFormat.format(new String[] {tableName}));
   Map props =
-  
Map.copyOf(accumuloClient.tableOperations().getConfiguration(tableName));
+  
ImmutableSortedMap.copyOf(accumuloClient.tableOperations().getConfiguration(tableName));
   for (Entry prop : props.entrySet()) {
 if (prop.getKey().startsWith(Property.TABLE_PREFIX.getKey())) {
   String defaultValue = getDefaultConfigValue(prop.getKey());
diff --git 
a/shell/src/main/java/org/apache/accumulo/shell/commands/ConfigCommand.java 
b/shell/src/main/java/org/apache/accumulo/shell/commands/ConfigCommand.java
index 45d4f39..6ecc02b 100644
--- a/shell/src/main/java/org/apache/accumulo/shell/commands/ConfigCommand.java
+++ b/shell/src/main/java/org/apache/accumulo/shell/commands/ConfigCommand.java
@@ -47,6 +47,8 @@ import org.apache.commons.cli.OptionGroup;
 import org.apache.commons.cli.Options;
 import org.jline.reader.LineReader;
 
+import com.google.common.collect.ImmutableSortedMap;
+
 public class ConfigCommand extends Command {
   private Option tableOpt, deleteOpt, setOpt, filterOpt, filterWithValuesOpt, 
disablePaginationOpt,
   outputFileOpt, namespaceOpt;
@@ -183,7 +185,7 @@ public class ConfigCommand extends Command {
   } else if (namespace != null) {
 acuconf = 
shellState.getAccumuloClient().namespaceOperations().getConfiguration(namespace);
   }
-  final Map sortedConf = Map.copyOf(acuconf);
+  final Map sortedConf = ImmutableSortedMap.copyOf(acuconf);
 
   for (Entry propEntry : acuconf.entrySet()) {
 final String key = propEntry.getKey();


[accumulo] branch main updated: Validate table/namespace names in public API (#1971)

2021-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 58a559f  Validate table/namespace names in public API (#1971)
58a559f is described below

commit 58a559fa6ac7c5137b5cd1418b0de457f7cad2a9
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Mon Jun 7 17:02:05 2021 -0400

Validate table/namespace names in public API (#1971)

Throw IllegalArgumentException in Public API consistently
after validating table and namespace names

In response to issue apache/accumulo#1953 this commit
contains changes to allow fast failure and achieve
consistent behavior when a table or namespace name
is invalid.
---
 .../java/org/apache/accumulo/core/Constants.java   |   2 -
 .../accumulo/core/clientImpl/ClientContext.java|  33 
 .../accumulo/core/clientImpl/ConnectorImpl.java|  29 +++
 .../core/clientImpl/NamespaceOperationsImpl.java   |  56 +-
 .../accumulo/core/clientImpl/Namespaces.java   |   5 +-
 .../core/clientImpl/SecurityOperationsImpl.java|  26 +++
 .../core/clientImpl/TableOperationsHelper.java |  38 
 .../core/clientImpl/TableOperationsImpl.java   | 216 -
 .../apache/accumulo/core/clientImpl/Tables.java|  24 ++-
 .../accumulo/manager/FateServiceHandler.java   |   4 +-
 .../accumulo/manager/util/TableValidators.java |   4 +-
 .../shell/commands/CreateTableCommand.java |   2 +-
 .../org/apache/accumulo/test/NamespacesIT.java |   2 +-
 .../apache/accumulo/test/TableOperationsIT.java|   2 +-
 14 files changed, 367 insertions(+), 76 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/Constants.java 
b/core/src/main/java/org/apache/accumulo/core/Constants.java
index e2fac29..8559656 100644
--- a/core/src/main/java/org/apache/accumulo/core/Constants.java
+++ b/core/src/main/java/org/apache/accumulo/core/Constants.java
@@ -117,6 +117,4 @@ public class Constants {
 
   public static final int DEFAULT_VISIBILITY_CACHE_SIZE = 1000;
 
-  public static final int MAX_TABLE_NAME_LEN = 1024;
-  public static final int MAX_NAMESPACE_LEN = 1024;
 }
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 6219188..60c0c5b 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
@@ -98,6 +98,7 @@ public class ClientContext implements AccumuloClient {
   private final ClientInfo info;
   private String instanceId;
   private final ZooCache zooCache;
+  private static final String VALID_TABLENAME_REGEX = 
"^(\\w{1,1024}[.])?(\\w{1,1024})$";
 
   private Credentials creds;
   private BatchWriterConfig batchWriterConfig;
@@ -509,6 +510,10 @@ public class ClientContext implements AccumuloClient {
   }
 
   TableId getTableId(String tableName) throws TableNotFoundException {
+checkArgument(tableName.matches(VALID_TABLENAME_REGEX),
+"tableName must only contain word characters (letters, digits, and 
underscores)"
++ " and cannot exceed 1024 characters");
+
 TableId tableId = Tables.getTableId(this, tableName);
 if (Tables.getTableState(this, tableId) == TableState.OFFLINE)
   throw new TableOfflineException(Tables.getTableOfflineMsg(this, 
tableId));
@@ -520,6 +525,10 @@ public class ClientContext implements AccumuloClient {
   int numQueryThreads) throws TableNotFoundException {
 checkArgument(tableName != null, "tableName is null");
 checkArgument(authorizations != null, "authorizations is null");
+checkArgument(tableName.matches(VALID_TABLENAME_REGEX),
+"tableName must only contain word characters (letters, digits, and 
underscores)"
++ " and cannot exceed 1024 characters");
+
 ensureOpen();
 return new TabletServerBatchReader(this, getTableId(tableName), 
authorizations,
 numQueryThreads);
@@ -547,6 +556,10 @@ public class ClientContext implements AccumuloClient {
   int numQueryThreads, BatchWriterConfig config) throws 
TableNotFoundException {
 checkArgument(tableName != null, "tableName is null");
 checkArgument(authorizations != null, "authorizations is null");
+checkArgument(tableName.matches(VALID_TABLENAME_REGEX),
+"tableName must only contain word characters (letters, digits, and 
underscores)"
++ " and cannot exceed 1024 characters");
+
 ensureOpen();
 return new TabletServerBatchDeleter(this, getTableId(tableName), 
authorizations,
 numQueryThreads, config.merge(getBatchWriterConfig()));
@@ -56

[accumulo-website] branch asf-site updated (21fadb0 -> df2e3a1)

2021-06-07 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 21fadb0  Automatic Site Publish by Buildbot
 add 2daf54d  Automatic Site Publish by Buildbot
 add df2e3a1  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/feed.xml  |  4 ++--
 output/people/index.html | 10 ++
 2 files changed, 12 insertions(+), 2 deletions(-)


[accumulo] branch main updated: Remove unused code residual from #2122

2021-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 3fd4874  Remove unused code residual from #2122
3fd4874 is described below

commit 3fd48747970710a119d870b76baadd8d9d69e181
Author: Christopher Tubbs 
AuthorDate: Mon Jun 7 14:46:31 2021 -0400

Remove unused code residual from #2122

Remove two private methods to convert an iterable into a map that are no
longer necessary and an unused import.
---
 .../accumulo/core/clientImpl/NamespaceOperationsImpl.java  |  1 -
 .../main/java/org/apache/accumulo/test/TableOperationsIT.java  |  8 
 .../java/org/apache/accumulo/test/functional/DurabilityIT.java | 10 --
 3 files changed, 19 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
index b812e3a..678cee0 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
@@ -30,7 +30,6 @@ import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
diff --git a/test/src/main/java/org/apache/accumulo/test/TableOperationsIT.java 
b/test/src/main/java/org/apache/accumulo/test/TableOperationsIT.java
index be25e69..3182e35 100644
--- a/test/src/main/java/org/apache/accumulo/test/TableOperationsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/TableOperationsIT.java
@@ -259,14 +259,6 @@ public class TableOperationsIT extends 
AccumuloClusterHarness {
 expectedSplits.isEmpty());
   }
 
-  private Map propsToMap(Iterable> 
props) {
-Map map = new HashMap<>();
-for (Map.Entry prop : props) {
-  map.put(prop.getKey(), prop.getValue());
-}
-return map;
-  }
-
   /** Compare only the row, column family and column qualifier. */
   static class KeyRowColFColQComparator implements Comparator {
 @Override
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
index c139954..afe5288 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
@@ -21,9 +21,7 @@ package org.apache.accumulo.test.functional;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import java.util.HashMap;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.accumulo.core.client.Accumulo;
 import org.apache.accumulo.core.client.AccumuloClient;
@@ -152,14 +150,6 @@ public class DurabilityIT extends ConfigurableMacBase {
 }
   }
 
-  private static Map map(Iterable> 
entries) {
-Map result = new HashMap<>();
-for (Entry entry : entries) {
-  result.put(entry.getKey(), entry.getValue());
-}
-return result;
-  }
-
   @Test
   public void testMetaDurability() throws Exception {
 try (AccumuloClient c = 
Accumulo.newClient().from(getClientProperties()).build()) {


[accumulo-website] branch main updated: Add Luke Foster to people.md (#284)

2021-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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 0900900  Add Luke Foster to people.md (#284)
0900900 is described below

commit 0900900d69556105e472697abbb477de78347a9e
Author: Luke Foster <84727868+foste...@users.noreply.github.com>
AuthorDate: Mon Jun 7 14:17:56 2021 -0400

Add Luke Foster to people.md (#284)

Co-authored-by: Luke Foster 
---
 pages/people.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pages/people.md b/pages/people.md
index 80e142c..26b82f5 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -132,6 +132,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Laura Peaslee   | [Objective Solutions, Inc.][OBJECTIVE] 
   | [ET][ET]  |
 | Laura Schanno   | [Arctic Slope Regional Corp.][ASRC]
   | [ET][ET]  |
 | Luke Brassard   | [sqrrl][SQRRL] 
   | [ET][ET]  |
+| Luke Foster | [Arctic Slope Regional Corp.][ASRC]
   | [ET][ET]  |
 | Mandar Inamdar  | [Microsoft][MICROSOFT] 
   | [PT][PT]  |
 | Mario Pastorelli| [Teralytics AG][TERALYTICS]
   | [CEST][CEST]  |
 | Markus Cozowicz | [Microsoft][MICROSOFT] 
   | [CET][CEST]   |


[accumulo] branch main updated (5d3344d -> 4ea9bf1)

2021-06-07 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 5d3344d  Remove redundant information in tablets external compaction 
entry (#2136)
 add 4ea9bf1  Return table/namespace config as map in API (#2122)

No new revisions were added by this update.

Summary of changes:
 .../core/client/admin/NamespaceOperations.java | 27 +--
 .../core/client/admin/NewTableConfiguration.java   |  2 +-
 .../core/client/admin/TableOperations.java | 25 --
 .../core/clientImpl/InstanceOperationsImpl.java|  2 +-
 .../core/clientImpl/NamespaceOperationsHelper.java |  5 +--
 .../core/clientImpl/NamespaceOperationsImpl.java   |  8 ++---
 .../accumulo/core/clientImpl/OfflineIterator.java  |  2 +-
 .../core/clientImpl/TableOperationsHelper.java |  9 ++---
 .../core/clientImpl/TableOperationsImpl.java   |  7 ++--
 .../accumulo/core/util/LocalityGroupUtil.java  |  2 +-
 .../java/org/apache/accumulo/core/util/Merge.java  |  2 +-
 .../core/clientImpl/TableOperationsHelperTest.java | 12 +++
 .../org/apache/accumulo/server/util/Admin.java | 12 +++
 .../accumulo/server/util/ReplicationTableUtil.java |  6 ++--
 .../server/util/ReplicationTableUtilTest.java  |  2 +-
 .../rest/replication/ReplicationResource.java  | 15 
 .../main/java/org/apache/accumulo/shell/Shell.java | 10 +++---
 .../accumulo/shell/commands/ConfigCommand.java | 21 +---
 .../shell/commands/CreateNamespaceCommand.java |  7 ++--
 .../shell/commands/CreateTableCommand.java |  6 ++--
 .../commands/ShellPluginConfigurationCommand.java  | 23 ++---
 .../org/apache/accumulo/test/NamespacesIT.java | 10 +++---
 .../accumulo/test/NewTableConfigurationIT.java |  9 ++---
 .../org/apache/accumulo/test/ShellServerIT.java| 17 +
 .../apache/accumulo/test/TableOperationsIT.java|  4 +--
 .../accumulo/test/functional/CloneTestIT.java  |  5 +--
 .../accumulo/test/functional/DurabilityIT.java |  4 +--
 .../accumulo/test/functional/PermissionsIT.java| 40 +-
 .../test/replication/StatusCombinerMacIT.java  |  8 ++---
 29 files changed, 148 insertions(+), 154 deletions(-)


[accumulo] branch main updated (26821c1 -> 0fc2686)

2021-06-03 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 26821c1  Optimize use of client.createBatchWriter() (#2134)
 add 0fc2686  Fix shellcheck warnings in accumulo-cluster script (#2133)

No new revisions were added by this update.

Summary of changes:
 assemble/bin/accumulo-cluster | 44 +--
 1 file changed, 22 insertions(+), 22 deletions(-)


[accumulo] branch main updated (7cbeb67 -> 26821c1)

2021-06-03 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 7cbeb67  Remove UnknownCompactionIdException from Coordinator (#2130)
 add 26821c1  Optimize use of client.createBatchWriter() (#2134)

No new revisions were added by this update.

Summary of changes:
 .../core/replication/ReplicationTable.java |  3 +--
 .../its/mapred/AccumuloFileOutputFormatIT.java |  5 ++---
 .../hadoop/its/mapred/AccumuloInputFormatIT.java   |  5 ++---
 .../hadoop/its/mapred/AccumuloOutputFormatIT.java  |  2 +-
 .../its/mapred/AccumuloRowInputFormatIT.java   |  3 +--
 .../hadoop/its/mapred/MultiTableInputFormatIT.java |  5 ++---
 .../accumulo/hadoop/its/mapred/TokenFileIT.java|  3 +--
 .../its/mapreduce/AccumuloFileOutputFormatIT.java  |  5 ++---
 .../its/mapreduce/AccumuloInputFormatIT.java   | 11 +--
 .../its/mapreduce/AccumuloOutputFormatIT.java  |  3 +--
 .../its/mapreduce/AccumuloRowInputFormatIT.java|  3 +--
 .../its/mapreduce/MultiTableInputFormatIT.java |  5 ++---
 .../accumulo/hadoop/its/mapreduce/RowHashIT.java   |  3 +--
 .../accumulo/hadoop/its/mapreduce/TokenFileIT.java |  3 +--
 .../server/replication/ReplicaSystemHelper.java|  4 +---
 .../accumulo/server/util/MetadataTableUtil.java|  4 ++--
 .../server/util/RemoveEntriesForMissingFiles.java  |  3 +--
 .../replication/CloseWriteAheadLogReferences.java  | 23 +-
 .../accumulo/manager/TabletGroupWatcher.java   |  9 -
 .../accumulo/manager/replication/StatusMaker.java  |  3 +--
 .../tableImport/PopulateMetadataTable.java | 10 +-
 .../accumulo/manager/upgrade/Upgrader9to10.java|  5 ++---
 .../org/apache/accumulo/test/LargeSplitRowIT.java  |  9 -
 .../apache/accumulo/test/MultiTableRecoveryIT.java |  2 +-
 .../java/org/apache/accumulo/test/SampleIT.java| 11 +--
 .../org/apache/accumulo/test/YieldScannersIT.java  |  5 ++---
 .../functional/TabletStateChangeIteratorIT.java|  6 ++
 .../apache/accumulo/test/manager/MergeStateIT.java | 15 +++---
 .../mapreduce/AccumuloMultiTableInputFormatIT.java |  5 ++---
 .../test/mapreduce/AccumuloRowInputFormatIT.java   |  3 +--
 .../accumulo/test/mapreduce/MapReduceIT.java   |  3 +--
 .../accumulo/test/mapreduce/TokenFileIT.java   |  3 +--
 ...GarbageCollectorCommunicatesWithTServersIT.java | 17 +++-
 .../replication/ReplicationOperationsImplIT.java   | 18 -
 .../accumulo/test/replication/StatusMakerIT.java   | 11 +--
 .../org/apache/accumulo/test/util/SlowOps.java |  3 +--
 36 files changed, 88 insertions(+), 143 deletions(-)


[accumulo-testing] branch main updated: Properly build shaded jar when running cingest (#140)

2021-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-testing.git


The following commit(s) were added to refs/heads/main by this push:
 new a2a1ebb  Properly build shaded jar when running cingest (#140)
a2a1ebb is described below

commit a2a1ebb60e03f4863cc90483c31f6aa57b9bd237
Author: AlbertWhitlock 
AuthorDate: Tue Jun 1 10:39:09 2021 -0400

Properly build shaded jar when running cingest (#140)
---
 conf/env.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/conf/env.sh b/conf/env.sh
index c5582e3..f4b4a2a 100644
--- a/conf/env.sh
+++ b/conf/env.sh
@@ -59,7 +59,7 @@ fi
 # Shaded test jar
 # ===
 # Versions set below will be what is included in the shaded jar
-ACCUMULO_VERSION="$("$ACCUMULO_HOME"/bin/accumulo version)"; export 
ACCUMULO_VERSION
+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.4.14
 # Path to shaded test jar


[accumulo] branch 1451-external-compactions deleted (was fea0740)

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

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


 was fea0740  Merge branch 'main' into 1451-external-compactions

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


[accumulo-docker] branch next-release updated: Update to Accumulo 2.1.0, Hadoop 3.3.0, and Java 11 (#15)

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

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


The following commit(s) were added to refs/heads/next-release by this push:
 new a15baea  Update to Accumulo 2.1.0, Hadoop 3.3.0, and Java 11 (#15)
a15baea is described below

commit a15baeaa2d4f30ac165d22b3baaf51d770b1d0e6
Author: Dave Marion 
AuthorDate: Wed May 26 23:39:01 2021 -0400

Update to Accumulo 2.1.0, Hadoop 3.3.0, and Java 11 (#15)
---
 Dockerfile | 12 +---
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 5c81e65..dc16966 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,10 +15,10 @@
 
 FROM centos:7
 
-ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
+ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk
 
-ARG ACCUMULO_VERSION=2.0.0
-ARG HADOOP_VERSION=3.2.1
+ARG ACCUMULO_VERSION=2.1.0
+ARG HADOOP_VERSION=3.3.0
 ARG ZOOKEEPER_VERSION=3.6.0
 ARG HADOOP_USER_NAME=accumulo
 ARG ACCUMULO_FILE=
@@ -36,7 +36,7 @@ ENV APACHE_DIST_URLS \
 
 COPY README.md $ACCUMULO_FILE $HADOOP_FILE $ZOOKEEPER_FILE /tmp/
 
-RUN yum install -y java-1.8.0-openjdk-devel make gcc-c++ wget && \
+RUN yum install -y java-11-openjdk-devel make gcc-c++ wget && \
   set -eux; \
   download() { \
 local f="$1"; shift; \
@@ -73,9 +73,7 @@ RUN yum install -y java-1.8.0-openjdk-devel make gcc-c++ wget 
&& \
   mv /tmp/hadoop-$HADOOP_VERSION /opt/hadoop && \
   mv /tmp/apache-zookeeper-$ZOOKEEPER_VERSION-bin /opt/zookeeper && \
   mv /tmp/accumulo-$ACCUMULO_VERSION /opt/accumulo && \
-  /opt/accumulo/bin/accumulo-util build-native && \
-# The below line is required for Accumulo 2.0 to work with ZK 3.5 & above.  
This will not be needed for Accumulo 2.1
-  sed -i 
's/\${ZOOKEEPER_HOME}\/\*/\${ZOOKEEPER_HOME}\/\*\:\${ZOOKEEPER_HOME}\/lib\/\*/g'
 /opt/accumulo/conf/accumulo-env.sh
+  /opt/accumulo/bin/accumulo-util build-native
 
 ADD properties/ /opt/accumulo/conf/
 


[accumulo-docker] branch next-release created (now 747b338)

2021-05-26 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-docker.git.


  at 747b338  Update Dockerfile to follow some of the best practices. (#14)

No new revisions were added by this update.


[accumulo] branch main updated: Improve LocalityGroupUtil.java (#2112)

2021-05-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 af2d2d6  Improve LocalityGroupUtil.java (#2112)
af2d2d6 is described below

commit af2d2d630094fc06e0ac1d6702a9a49d30ec1e94
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Tue May 18 13:58:47 2021 -0400

Improve LocalityGroupUtil.java (#2112)

This commit contains minor changes to
utilize Map.forEach() method instead
of Map.entrySet().

This fixes #2041
---
 .../java/org/apache/accumulo/core/util/LocalityGroupUtil.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java 
b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
index be6b608..3c0a18e 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java
@@ -377,11 +377,11 @@ public class LocalityGroupUtil {
 if (lgName == null) {
   // this is the default locality group, create a set of all families not 
in the default group
   Set nonDefaultFamilies = new HashSet<>();
-  for (Entry> entry : 
localityGroupCF.entrySet()) {
-if (entry.getKey() != null) {
-  nonDefaultFamilies.addAll(entry.getValue());
+  localityGroupCF.forEach((k, v) -> {
+if (k != null) {
+  nonDefaultFamilies.addAll(v);
 }
-  }
+  });
 
   families = nonDefaultFamilies;
   inclusive = false;


[accumulo] branch main updated: Fix spelling of InitParameters (#2108)

2021-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 0c8be59  Fix spelling of InitParameters (#2108)
0c8be59 is described below

commit 0c8be59a6c1a8024e3af9c2790ea58fc69c1ae7e
Author: Christopher Tubbs 
AuthorDate: Thu May 13 14:07:15 2021 -0400

Fix spelling of InitParameters (#2108)
---
 .../accumulo/core/client/admin/compaction/CompactionSelector.java | 4 ++--
 .../accumulo/core/client/admin/compaction/TooManyDeletesSelector.java | 2 +-
 .../tserver/compaction/strategies/ConfigurableCompactionStrategy.java | 2 +-
 .../java/org/apache/accumulo/tserver/tablet/CompactableUtils.java | 2 +-
 .../main/java/org/apache/accumulo/test/functional/CompactionIT.java   | 2 +-
 test/src/main/java/org/apache/accumulo/test/functional/SummaryIT.java | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
 
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
index f542dce..fe833f2 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java
@@ -41,7 +41,7 @@ import 
org.apache.accumulo.core.iterators.SortedKeyValueIterator;
  */
 public interface CompactionSelector {
 
-  public interface InitParamaters {
+  public interface InitParameters {
 Map getOptions();
 
 TableId getTableId();
@@ -49,7 +49,7 @@ public interface CompactionSelector {
 PluginEnvironment getEnvironment();
   }
 
-  void init(InitParamaters iparams);
+  void init(InitParameters iparams);
 
   public interface SelectionParameters {
 PluginEnvironment getEnvironment();
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/TooManyDeletesSelector.java
 
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/TooManyDeletesSelector.java
index 881004c..22c367a 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/TooManyDeletesSelector.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/TooManyDeletesSelector.java
@@ -85,7 +85,7 @@ public class TooManyDeletesSelector implements 
CompactionSelector {
   public static final String PROCEED_ZERO_NO_SUMMARY_OPT_DEFAULT = "false";
 
   @Override
-  public void init(InitParamaters iparams) {
+  public void init(InitParameters iparams) {
 var options = iparams.getOptions();
 this.threshold = Double.parseDouble(options.getOrDefault(THRESHOLD_OPT, 
THRESHOLD_OPT_DEFAULT));
 if (threshold <= 0.0 || threshold > 1.0) {
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/ConfigurableCompactionStrategy.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/ConfigurableCompactionStrategy.java
index 273b66a..5ef52c0 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/ConfigurableCompactionStrategy.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/ConfigurableCompactionStrategy.java
@@ -205,7 +205,7 @@ public class ConfigurableCompactionStrategy implements 
CompactionSelector, Compa
 
   @Override
   public void init(
-  
org.apache.accumulo.core.client.admin.compaction.CompactionSelector.InitParamaters
 iparams) {
+  
org.apache.accumulo.core.client.admin.compaction.CompactionSelector.InitParameters
 iparams) {
 boolean selectNoSummary = false;
 boolean selectExtraSummary = false;
 
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
index 663e1d5..d6ef3a1 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableUtils.java
@@ -289,7 +289,7 @@ public class CompactableUtils {
 
 final ServiceEnvironment senv = new 
ServiceEnvironmentImpl(tablet.getContext());
 
-selector.init(new CompactionSelector.InitParamaters() {
+selector.init(new CompactionSelector.InitParameters() {
   @Override
   public Map getOptions() {
 return selectorConfig.getOptions();
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
index a1b221d..e93c6d1 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
@@ -74,7 +74,7 @@ public class Comp

[accumulo] branch main updated (347c984 -> 4a1844c)

2021-05-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 347c984  Construct client using URL for JShell (#2104)
 add 4a1844c  Run tests that use System.gc in their own fork (#2107)

No new revisions were added by this update.

Summary of changes:
 core/pom.xml   | 4 
 core/src/test/java/org/apache/accumulo/core/util/InternerTest.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)


[accumulo] branch main updated: Construct client using URL for JShell (#2104)

2021-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 347c984  Construct client using URL for JShell (#2104)
347c984 is described below

commit 347c9842a4c056e21cf7b856a50a51c3fe8b4fdd
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Thu May 13 11:22:12 2021 -0400

Construct client using URL for JShell (#2104)

Construct an AccumuloClient using from(URL) method
for the JShell feature.
---
 assemble/src/main/scripts/create-jshell.sh | 19 ++-
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/assemble/src/main/scripts/create-jshell.sh 
b/assemble/src/main/scripts/create-jshell.sh
index 2cc2702..5197ce0 100755
--- a/assemble/src/main/scripts/create-jshell.sh
+++ b/assemble/src/main/scripts/create-jshell.sh
@@ -38,25 +38,18 @@ function addAccumuloAPI() {
 
 function addClientBuild() {
 cat <

[accumulo] branch main updated: Bump dependencies for 2.1 (#2103)

2021-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 c0c1837  Bump dependencies for 2.1 (#2103)
c0c1837 is described below

commit c0c1837592a23971a27712667bf57937d5019d77
Author: Christopher Tubbs 
AuthorDate: Wed May 12 22:51:38 2021 -0400

Bump dependencies for 2.1 (#2103)

* Bump jackson and use jackson-bom for everything
  (some deps previously were not listed in the bom, but now they are)
* Bump other dependencies
* Review license/notice files (no changes)
---
 pom.xml | 56 +++-
 1 file changed, 19 insertions(+), 37 deletions(-)

diff --git a/pom.xml b/pom.xml
index 958131b..2dca8dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -131,7 +131,6 @@
 4.1.0-incubating
 3.2.0-incubating
 false
-2.12.1
 
 true
 11
@@ -171,37 +170,19 @@
 1.5.1
   
   
-com.fasterxml.jackson.jaxrs
-jackson-jaxrs-base
-${jackson.version}
-jakarta
-  
-  
-com.fasterxml.jackson.jaxrs
-jackson-jaxrs-json-provider
-${jackson.version}
-jakarta
-  
-  
-com.fasterxml.jackson.module
-jackson-module-jaxb-annotations
-${jackson.version}
-jakarta
-  
-  
 com.github.ben-manes.caffeine
 caffeine
-3.0.0
+3.0.2
   
   
 com.github.spotbugs
 spotbugs-annotations
-4.2.2
+4.2.3
   
   
 com.google.auto.service
 auto-service
-1.0-rc7
+1.0
   
   
 com.google.code.findbugs
@@ -217,7 +198,7 @@
 
 com.google.errorprone
 error_prone_annotations
-2.5.1
+2.6.0
   
   
 
@@ -228,7 +209,7 @@
   
 com.google.guava
 guava
-30.1-jre
+30.1.1-jre
   
   
 com.google.protobuf
@@ -238,7 +219,7 @@
   
 com.lmax
 disruptor
-3.4.2
+3.4.4
   
   
 commons-cli
@@ -374,7 +355,7 @@
   
 org.apache.commons
 commons-vfs2
-2.7.0
+2.8.0
 
   
 org.apache.hadoop
@@ -505,12 +486,12 @@
   
 org.checkerframework
 checker-qual
-3.11.0
+3.13.0
   
   
 org.easymock
 easymock
-4.2
+4.3
   
   
 org.freemarker
@@ -530,7 +511,7 @@
   
 org.javassist
 javassist
-3.27.0-GA
+3.28.0-GA
   
   
 org.jboss.logging
@@ -540,12 +521,13 @@
   
 org.jline
 jline
-3.19.0
+3.20.0
   
   
+
 org.objenesis
 objenesis
-3.1
+3.2
   
   
 org.powermock
@@ -575,28 +557,28 @@
   
 com.fasterxml.jackson
 jackson-bom
-${jackson.version}
+2.12.3
 pom
 import
   
   
 jakarta.platform
 jakarta.jakartaee-bom
-9.0.0
+9.1.0-RC1
 pom
 import
   
   
 org.apache.logging.log4j
 log4j-bom
-2.14.0
+2.14.1
 pom
 import
   
   
 org.eclipse.jetty
 jetty-bom
-11.0.1
+11.0.2
 pom
 import
   
@@ -610,14 +592,14 @@
   
 org.glassfish.jaxb
 jaxb-bom
-3.0.0
+3.0.1
 pom
 import
   
   
 org.glassfish.jersey
 jersey-bom
-3.0.1
+3.0.2
 pom
 import
   


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

2021-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

commit f59e09af6464dae7650844edecd829144952824e
Merge: 5b1c0b5 ef253ee
Author: Christopher Tubbs 
AuthorDate: Wed May 12 19:08:17 2021 -0400

Merge branch '1.10'

 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --cc pom.xml
index b41ac03,47441b0..958131b
--- a/pom.xml
+++ b/pom.xml
@@@ -898,10 -790,10 +898,10 @@@
  
net.revelc.code
impsort-maven-plugin
-   1.5.0
+   1.6.1

  true
 -java.,javax.,org.,com.
 +java.,javax.,jakarta.,org.,com.
  
**/thrift/*.java
  


[accumulo] branch main updated (5b1c0b5 -> f59e09a)

2021-05-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 5b1c0b5  Fix #1628 add test where selector throws an error (#2098)
 add ef253ee  Bump plugin versions (#2102)
 new f59e09a  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:
 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


[accumulo] branch 1.10 updated: Bump plugin versions (#2102)

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

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new ef253ee  Bump plugin versions (#2102)
ef253ee is described below

commit ef253ee922f85dc9d7aeae971fef7dbb740e4216
Author: Christopher Tubbs 
AuthorDate: Wed May 12 19:03:58 2021 -0400

Bump plugin versions (#2102)

* Bump plugin versions to latest
* Update spotbugs filters for updated spotbugs version
* Fix spotbugs issue with non-public main class ConfigurationDocGen
* Fix checkstyle issues for updated checkstyle version
* Remove unused import
---
 .../accumulo/core/conf/ConfigurationDocGen.java|  2 +-
 core/src/main/spotbugs/exclude-filter.xml  |  4 +++
 pom.xml| 31 +-
 .../balancer/HostRegexTableLoadBalancer.java   |  1 -
 shell/src/main/spotbugs/exclude-filter.xml |  4 +++
 .../src/main/spotbugs/exclude-filter.xml   |  5 ++--
 test/src/main/spotbugs/exclude-filter.xml  |  4 +++
 7 files changed, 28 insertions(+), 23 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java 
b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
index 738f1b5..995cbde 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationDocGen.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
  * This class generates documentation to inform users of the available 
configuration properties in a
  * presentable form.
  */
-class ConfigurationDocGen {
+public class ConfigurationDocGen {
   private abstract class Format {
 
 abstract void beginSection(String section);
diff --git a/core/src/main/spotbugs/exclude-filter.xml 
b/core/src/main/spotbugs/exclude-filter.xml
index 2b6cb2d..f0ccc5b 100644
--- a/core/src/main/spotbugs/exclude-filter.xml
+++ b/core/src/main/spotbugs/exclude-filter.xml
@@ -110,4 +110,8 @@
 
 
   
+  
+
+
+  
 
diff --git a/pom.xml b/pom.xml
index a80552d..47441b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -572,12 +572,12 @@
 
   org.codehaus.mojo
   versions-maven-plugin
-  2.7
+  2.8.1
 
 
   org.gaul
   modernizer-maven-plugin
-  1.8.0
+  2.1.0
   
 ${maven.compiler.target}
   
@@ -585,7 +585,7 @@
 
   com.github.spotbugs
   spotbugs-maven-plugin
-  4.0.0
+  4.2.0
   
 true
 Max
@@ -597,7 +597,7 @@
 
   org.apache.maven.plugins
   maven-checkstyle-plugin
-  3.1.0
+  3.1.2
 
 
   org.apache.maven.plugins
@@ -608,7 +608,7 @@
 
   com.github.ekryd.sortpom
   sortpom-maven-plugin
-  2.10.0
+  2.13.1
   
 recommended_2008_06
 false
@@ -623,7 +623,7 @@
 
   com.github.koraktor
   mavanagaiata
-  0.9.4
+  1.0.0
   
 true
   
@@ -731,18 +731,17 @@
 
   org.asciidoctor
   asciidoctor-maven-plugin
-  2.0.0
+  2.1.0
 
 
   org.codehaus.mojo
   build-helper-maven-plugin
-  3.0.0
+  3.2.0
 
 
-  
   org.codehaus.mojo
   exec-maven-plugin
-  1.5.0
+  3.0.0
 
 
   net.revelc.code
@@ -752,7 +751,7 @@
 
   net.revelc.code.formatter
   formatter-maven-plugin
-  2.12.2
+  2.15.0
   
 ${eclipseFormatterStyle}
 ${maven.compiler.source}
@@ -791,7 +790,7 @@
 
   net.revelc.code
   impsort-maven-plugin
-  1.4.1
+  1.6.1
   
 true
 java.,javax.,org.,com.
@@ -929,8 +928,7 @@
 
 
 
-  
-  
+  
 
 
   
@@ -948,12 +946,9 @@
 
 
 
-  
   
-  
   
   
-  
 
 
   
@@ -967,7 +962,7 @@
   
 com.puppycrawl.tools
 checkstyle
-8.18
+8.42
   
 
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancer.java
index b335d82..3e5d6cf 100644

[accumulo] branch main updated: Fix #1628 add test where selector throws an error (#2098)

2021-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 5b1c0b5  Fix #1628 add test where selector throws an error (#2098)
5b1c0b5 is described below

commit 5b1c0b54e33ee108a45b2126bd194472703822f2
Author: Dave Marion 
AuthorDate: Wed May 12 15:05:16 2021 -0400

Fix #1628 add test where selector throws an error (#2098)


Co-authored-by: Christopher Tubbs 
---
 .../accumulo/test/functional/CompactionIT.java | 91 ++
 .../test/functional/FunctionalTestUtils.java   | 15 
 2 files changed, 106 insertions(+)

diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
index e01fc39..a1b221d 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/CompactionIT.java
@@ -18,9 +18,14 @@
  */
 package org.apache.accumulo.test.functional;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
@@ -28,8 +33,16 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.accumulo.core.client.Accumulo;
 import org.apache.accumulo.core.client.AccumuloClient;
+import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.Scanner;
+import org.apache.accumulo.core.client.admin.CompactionConfig;
+import org.apache.accumulo.core.client.admin.NewTableConfiguration;
+import org.apache.accumulo.core.client.admin.PluginConfig;
+import org.apache.accumulo.core.client.admin.compaction.CompactableFile;
+import org.apache.accumulo.core.client.admin.compaction.CompactionSelector;
 import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.data.Mutation;
+import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.metadata.MetadataTable;
 import 
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily;
 import 
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
@@ -48,9 +61,43 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
 
 @SuppressWarnings("removal")
 public class CompactionIT extends AccumuloClusterHarness {
+
+  public static class RandomErrorThrowingSelector implements 
CompactionSelector {
+
+public static final String FILE_LIST_PARAM = "filesToCompact";
+private static Boolean ERROR_THROWN = Boolean.FALSE;
+
+private List filesToCompact;
+
+@Override
+public void init(InitParamaters iparams) {
+  String files = iparams.getOptions().get(FILE_LIST_PARAM);
+  Objects.requireNonNull(files);
+  String[] f = files.split(",");
+  filesToCompact = Lists.newArrayList(f);
+}
+
+@Override
+public Selection select(SelectionParameters sparams) {
+  if (!ERROR_THROWN) {
+ERROR_THROWN = Boolean.TRUE;
+throw new RuntimeException("Exception for test");
+  }
+  List matches = new ArrayList<>();
+  sparams.getAvailableFiles().forEach(cf -> {
+if (filesToCompact.contains(cf.getFileName())) {
+  matches.add(cf);
+}
+  });
+  return new Selection(matches);
+}
+
+  }
+
   private static final Logger log = 
LoggerFactory.getLogger(CompactionIT.class);
 
   @Override
@@ -69,6 +116,50 @@ public class CompactionIT extends AccumuloClusterHarness {
   }
 
   @Test
+  public void testBadSelector() throws Exception {
+try (AccumuloClient c = 
Accumulo.newClient().from(getClientProps()).build()) {
+  final String tableName = getUniqueNames(1)[0];
+  NewTableConfiguration tc = new NewTableConfiguration();
+  // Ensure compactions don't kick off
+  tc.setProperties(Map.of(Property.TABLE_MAJC_RATIO.getKey(), "10.0"));
+  c.tableOperations().create(tableName, tc);
+  // Create multiple RFiles
+  try (BatchWriter bw = c.createBatchWriter(tableName)) {
+for (int i = 1; i <= 4; i++) {
+  Mutation m = new Mutation(Integer.toString(i));
+  m.put("cf", "cq", new Value());
+  bw.addMutation(m);
+  bw.flush();
+  c.tableOperations().flush(tableName, null, null, true);
+}
+  }
+
+  List files = FunctionalTestUtils.getRFilePaths(c, tableName);
+  assertEquals(4, files.size());

[accumulo] branch main updated: Removed obsolete comment (#2099)

2021-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 9c14772  Removed obsolete comment (#2099)
9c14772 is described below

commit 9c1477271296e1d47c13d6c38c0efbaa50b0e4d3
Author: Dom G <47725857+domgargu...@users.noreply.github.com>
AuthorDate: Wed May 12 13:56:54 2021 -0400

Removed obsolete comment (#2099)
---
 core/src/main/java/org/apache/accumulo/core/util/ConfigurationImpl.java | 1 -
 1 file changed, 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/util/ConfigurationImpl.java 
b/core/src/main/java/org/apache/accumulo/core/util/ConfigurationImpl.java
index 87d34ac..15a31fd 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/ConfigurationImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/ConfigurationImpl.java
@@ -107,7 +107,6 @@ public class ConfigurationImpl implements Configuration {
   }
 
   private Map buildCustom(Property customPrefix) {
-// This could be optimized as described in #947
 return 
acfg.getAllPropertiesWithPrefix(customPrefix).entrySet().stream().collect(
 Collectors.toUnmodifiableMap(e -> 
e.getKey().substring(customPrefix.getKey().length()),
 Entry::getValue));


[accumulo] branch main updated: Fix error mistaking volume for directory (#2046)

2021-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 19cbf45  Fix error mistaking volume for directory (#2046)
19cbf45 is described below

commit 19cbf4596773b27de0a9267556efcf0b7f12fad3
Author: jjmar11 <80709086+jjma...@users.noreply.github.com>
AuthorDate: Wed May 12 12:22:40 2021 -0400

Fix error mistaking volume for directory (#2046)
---
 .../java/org/apache/accumulo/server/fs/VolumeManager.java   |  8 ++--
 .../java/org/apache/accumulo/server/fs/FileTypeTest.java| 13 +
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManager.java 
b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManager.java
index fec7a00..c2ee6ee 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManager.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManager.java
@@ -62,15 +62,19 @@ public interface VolumeManager extends AutoCloseable {
 
 private static int endOfVolumeIndex(String path, String dir) {
   // Strip off the suffix that starts with the FileType (e.g. tables, wal, 
etc)
-  int dirIndex = path.indexOf('/' + dir);
+  int dirIndex = path.indexOf('/' + dir + '/');
+
   if (dirIndex != -1) {
 return dirIndex;
   }
 
+  if (path.endsWith('/' + dir)) {
+return path.length() - (dir.length() + 1);
+  }
+
   if (path.contains(":"))
 throw new IllegalArgumentException(path + " is absolute, but does not 
contain " + dir);
   return -1;
-
 }
 
 public Path getVolume(Path path) {
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/fs/FileTypeTest.java 
b/server/base/src/test/java/org/apache/accumulo/server/fs/FileTypeTest.java
index a083d48..ed94f84 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/fs/FileTypeTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/fs/FileTypeTest.java
@@ -100,5 +100,18 @@ public class FileTypeTest {
 assertEquals(new Path("tables/2b/t-001/C00.rf"),
 FileType.TABLE.removeVolume(new 
Path("hdfs://nn1/a/tables/2b/t-001/C00.rf")));
 
+assertEquals(new Path("tables"),
+FileType.TABLE.removeVolume(new Path("file:/a/accumulo/tables")));
+assertEquals(new Path("tables/"),
+FileType.TABLE.removeVolume(new Path("file:/a/accumulo/tables/")));
+assertEquals(new Path("file:/a/accumulo"),
+FileType.TABLE.getVolume(new Path("file:/a/accumulo/tables/")));
+assertEquals(null, FileType.TABLE.getVolume(new 
Path("/a/accumulo/tables2/")));
+assertEquals(new Path("tables/2b/t-001/C00.rf"), FileType.TABLE
+.removeVolume(new 
Path("file:/a/accumulo/tablesstuff/tables/2b/t-001/C00.rf")));
+assertEquals(new Path("tables/tablestuff2"),
+FileType.TABLE.removeVolume(new 
Path("file:/a/accumulo/tablesstuff/tables/tablestuff2")));
+assertEquals(new Path("tables/tables"),
+FileType.TABLE.removeVolume(new 
Path("file:/a/accumulo/tablesstuff/tables/tables")));
   }
 }


[accumulo] branch main updated: Add extent to metadata update failure logs (#2086)

2021-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 a28b27a  Add extent to metadata update failure logs (#2086)
a28b27a is described below

commit a28b27a442f919dc94bfa1483f1361ba2a08c6c8
Author: jeff 
AuthorDate: Tue May 11 17:58:59 2021 -0400

Add extent to metadata update failure logs (#2086)
---
 .../org/apache/accumulo/core/data/Mutation.java| 32 ++
 .../apache/accumulo/core/data/MutationTest.java| 20 ++
 .../accumulo/server/util/MetadataTableUtil.java| 13 ++---
 .../accumulo/test/MetaConstraintRetryIT.java   |  2 +-
 4 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/data/Mutation.java 
b/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
index 03d01e0..f0261b2 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.core.data;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 
 import java.io.DataInput;
@@ -1772,4 +1773,35 @@ public class Mutation implements Writable {
 return this.useOldDeserialize ? SERIALIZED_FORMAT.VERSION1 : 
SERIALIZED_FORMAT.VERSION2;
   }
 
+  /**
+   * Creates a multi-lined, human-readable String for this mutation.
+   *
+   * This method creates many intermediate Strings and should not be used for 
large volumes of
+   * Mutations.
+   *
+   * @return A multi-lined, human-readable String for this mutation.
+   *
+   * @since 2.1.0
+   */
+  public String prettyPrint() {
+StringBuilder sb = new StringBuilder();
+
+sb.append("mutation: ").append(new String(row, UTF_8)).append('\n');
+for (ColumnUpdate update : getUpdates()) {
+  sb.append(" update: ");
+  sb.append(new String(update.getColumnFamily(), UTF_8));
+  sb.append(':');
+  sb.append(new String(update.getColumnQualifier(), UTF_8));
+  sb.append(" value ");
+
+  if (update.isDeleted()) {
+sb.append("[delete]");
+  } else {
+sb.append(new String(update.getValue(), UTF_8));
+  }
+  sb.append('\n');
+}
+
+return sb.toString();
+  }
 }
diff --git a/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java 
b/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java
index 0e74ecb..be3c29d 100644
--- a/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java
@@ -920,4 +920,24 @@ public class MutationTest {
 m.estRowAndLargeValSize += (Long.MAX_VALUE / 2);
 m.put("cf", "cq2", "v");
   }
+
+  @Test
+  public void testPrettyPrint() {
+String row = "row";
+String fam1 = "fam1";
+String fam2 = "fam2";
+String qual1 = "qual1";
+String qual2 = "qual2";
+String value1 = "value1";
+
+Mutation m = new Mutation("row");
+m.put(fam1, qual1, value1);
+m.putDelete(fam2, qual2);
+m.getUpdates(); // serialize
+
+String expected = "mutation: " + row + "\n update: " + fam1 + ":" + qual1 
+ " value " + value1
++ "\n update: " + fam2 + ":" + qual2 + " value [delete]\n";
+
+assertEquals(expected, m.prettyPrint());
+  }
 }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
index 27c53ac..544b515 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java
@@ -144,10 +144,11 @@ public class MetadataTableUtil {
   public static void update(ServerContext context, ServiceLock zooLock, 
Mutation m,
   KeyExtent extent) {
 Writer t = extent.isMeta() ? getRootTable(context) : 
getMetadataTable(context);
-update(context, t, zooLock, m);
+update(context, t, zooLock, m, extent);
   }
 
-  public static void update(ServerContext context, Writer t, ServiceLock 
zooLock, Mutation m) {
+  public static void update(ServerContext context, Writer t, ServiceLock 
zooLock, Mutation m,
+  KeyExtent extent) {
 if (zooLock != null)
   putLockID(context, zooLock, m);
 while (true) {
@@ -155,9 +156,9 @@ public class MetadataTableUtil {
 t.update(m);
 return;
   } catch (AccumuloException | TableNotFoundException | 
AccumuloSecurityException e) {
-log.error("{}", e.getMessage(), e);
+logUp

[accumulo] branch main updated: Add method to load client properties from URL (#2075)

2021-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 714c5bb  Add method to load client properties from URL (#2075)
714c5bb is described below

commit 714c5bbacb4f703a70b95c4304aff86815adf52e
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Tue May 11 17:57:51 2021 -0400

Add method to load client properties from URL (#2075)

This commit contains changes that accepts
URL paths to accumulo-client.properties
---
 .../org/apache/accumulo/core/client/AccumuloClient.java | 13 +
 .../apache/accumulo/core/clientImpl/ClientContext.java  |  8 +++-
 .../org/apache/accumulo/core/clientImpl/ClientInfo.java |  8 
 .../apache/accumulo/core/clientImpl/ClientInfoImpl.java | 17 +
 4 files changed, 45 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java 
b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
index 1180ad1..ffc213a 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.core.client;
 
+import java.net.URL;
 import java.nio.file.Path;
 import java.util.Properties;
 
@@ -382,6 +383,18 @@ public interface AccumuloClient extends AutoCloseable {
  * Build using Java properties object. An example properties file can be 
found at
  * conf/accumulo-client.properties in the Accumulo tarball distribution.
  *
+ * @param propertiesURL
+ *  URL path to properties file
+ * @return this builder
+ * @see https://accumulo.apache.org/docs/2.x/configuration/client-properties;>Client
+ *  properties documentation
+ */
+FromOptions from(URL propertiesURL);
+
+/**
+ * Build using Java properties object. An example properties file can be 
found at
+ * conf/accumulo-client.properties in the Accumulo tarball distribution.
+ *
  * @param properties
  *  Properties object
  * @return this builder
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 9af9a10..0c0ea45 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
@@ -23,6 +23,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.requireNonNull;
 import static 
org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.LOCATION;
 
+import java.net.URL;
 import java.nio.file.Path;
 import java.util.Collections;
 import java.util.List;
@@ -798,8 +799,13 @@ public class ClientContext implements AccumuloClient {
 }
 
 @Override
+public FromOptions from(URL propertiesURL) {
+  return from(ClientInfoImpl.toProperties(propertiesURL));
+}
+
+@Override
 public FromOptions from(Properties properties) {
-  // make a copy, so that this builder's subsequent methods don't mutate 
the
+  // Make a copy, so that this builder's subsequent methods don't mutate 
the
   // properties object provided by the caller
   this.properties = new Properties();
   this.properties.putAll(properties);
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfo.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfo.java
index 2531a3e..fdb8097 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfo.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfo.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.core.clientImpl;
 
+import java.net.URL;
 import java.nio.file.Path;
 import java.util.Properties;
 
@@ -80,6 +81,13 @@ public interface ClientInfo {
   }
 
   /**
+   * @return ClientInfo given URL path to client config file
+   */
+  static ClientInfo from(URL propertiesURL) {
+return new ClientInfoImpl(propertiesURL);
+  }
+
+  /**
* @return ClientInfo given properties and token
*/
   static ClientInfo from(Properties properties, AuthenticationToken token) {
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfoImpl.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfoImpl.java
index 6d56b21..816604c 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfoImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientInfoImpl.java
@@ -21,6 +21,7 @@ package org.apache.accumulo.core.clientImpl;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URL

[accumulo] branch main updated: Remove unused ZK status thread from monitor (#2095)

2021-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 be861e6  Remove unused ZK status thread from monitor (#2095)
be861e6 is described below

commit be861e6d49dc7c24336ea4d787bf60e5a8557afe
Author: EdColeman 
AuthorDate: Tue May 11 17:24:36 2021 -0400

Remove unused ZK status thread from monitor (#2095)

PR #2020 removed ZooKeeper status from the monitor, but the thread
polling status was still running. This completes that removal.
---
 server/monitor/pom.xml |   4 -
 .../java/org/apache/accumulo/monitor/Monitor.java  |   2 -
 .../apache/accumulo/monitor/ZooKeeperStatus.java   | 157 -
 .../accumulo/monitor/ZooKeeperStatusTest.java  |  60 
 4 files changed, 223 deletions(-)

diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml
index 499852a..b367c8e 100644
--- a/server/monitor/pom.xml
+++ b/server/monitor/pom.xml
@@ -97,10 +97,6 @@
   log4j-web
 
 
-  org.apache.thrift
-  libthrift
-
-
   org.apache.zookeeper
   zookeeper
 
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 5a62e0e..378923f 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -461,8 +461,6 @@ public class Monitor extends AbstractServer implements 
HighlyAvailableService {
   log.error("Unable to advertise monitor HTTP address in zookeeper", ex);
 }
 
-Threads.createThread("ZooKeeperStatus", new 
ZooKeeperStatus(context)).start();
-
 // need to regularly fetch data so plot data is updated
 Threads.createThread("Data fetcher", () -> {
   while (true) {
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/ZooKeeperStatus.java 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/ZooKeeperStatus.java
deleted file mode 100644
index b5d93df..000
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/ZooKeeperStatus.java
+++ /dev/null
@@ -1,157 +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.
- */
-package org.apache.accumulo.monitor;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static 
org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
-
-import java.util.Collection;
-import java.util.Objects;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.accumulo.core.conf.Property;
-import org.apache.accumulo.core.rpc.TTimeoutTransport;
-import org.apache.accumulo.core.util.HostAndPort;
-import org.apache.accumulo.server.ServerContext;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ZooKeeperStatus implements Runnable {
-
-  private static final Logger log = 
LoggerFactory.getLogger(ZooKeeperStatus.class);
-
-  private ServerContext context;
-  private volatile boolean stop = false;
-
-  public ZooKeeperStatus(ServerContext context) {
-this.context = context;
-  }
-
-  public static class ZooKeeperState implements Comparable {
-public final String keeper;
-public final String mode;
-public final int clients;
-
-public ZooKeeperState(String keeper, String mode, int clients) {
-  this.keeper = keeper;
-  this.mode = mode;
-  this.clients = clients;
-}
-
-@Override
-public int hashCode() {
-  return Objects.hashCode(keeper);
-}
-
-@Override
-public boolean equals(Object obj) {
-  return obj == this
-  || (obj != null && obj instanceof ZooKeeperState && 
compareTo((ZooKeeperState) obj) == 0);
-}
-
-@Override
-public int compareTo(ZooKeeperState other) {
-  if (this == other) {
-return 0

[accumulo-website] branch asf-site updated (5430b19 -> 21fadb0)

2021-05-05 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 5430b19  Automatic Site Publish by Buildbot
 add c460d55  Automatic Site Publish by Buildbot
 add 1f547a7  Automatic Site Publish by Buildbot
 add 2cbb125  Automatic Site Publish by Buildbot
 add 21fadb0  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 .../04/21/jshell-accumulo-feature.html}| 234 
 output/feed.xml| 299 +++--
 output/index.html  |  14 +-
 output/news/index.html |  13 +-
 output/people/index.html   |  15 ++
 output/search_data.json|   8 +
 6 files changed, 314 insertions(+), 269 deletions(-)
 copy output/blog/{2016/11/16/simpler-scripts-and-config.html => 
2021/04/21/jshell-accumulo-feature.html} (51%)


[accumulo] branch main updated: Update and improvement in README (#2068)

2021-05-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 d0f738c  Update and improvement in README (#2068)
d0f738c is described below

commit d0f738cf62fce03c546f72981016e8169e4d3f61
Author: nicolasalarconrapela 
AuthorDate: Wed May 5 22:02:52 2021 +0200

Update and improvement in README (#2068)

- CONTRIBUTING.md
- Move to .github/
- Link to issues with 'Bug' label
- Improve formatting
- README.md
- Add Contributing section with link to website guide
- Add link to download page and improve wording
---
 CONTRIBUTING.md => .github/CONTRIBUTING.md |  5 ++---
 README.md  | 13 +++--
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md
similarity index 76%
rename from CONTRIBUTING.md
rename to .github/CONTRIBUTING.md
index 693f910..2329f9c 100644
--- a/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -17,13 +17,13 @@ limitations under the License.
 
 # Contributors Guide
 
- If you believe that you have found a bug, please search for an existing 
[issue](https://github.com/apache/accumulo/issues) to see if it has already 
been reported. If you would like to add a new feature to Accumulo, please send 
an email with your idea to the [dev](mailto:d...@accumulo.apache.org) mail 
list. If it's appropriate, then we will create an issue.  For simple changes, 
its ok to just submit a pull request without an issue.
+If you believe that you have found a 
[bug](https://github.com/apache/accumulo/labels/bug), please search for an 
existing [issue](https://github.com/apache/accumulo/issues) to see if it has 
already been reported. If you would like to add a new feature to Accumulo, 
please send an email with your idea to the 
[dev](mailto:d...@accumulo.apache.org) mail list. If it's appropriate, then we 
will create an issue.  For simple changes, its ok to just submit a pull request 
without an issue.
 
 ## Development
 
 - See the [Developer's Guide](https://accumulo.apache.org/how-to-contribute/) 
for information regarding common build commands, IDE setup and more.
 - Ensure that your work targets the correct branch
-- Add / update unit and integration tests
+- Add/update unit and integration tests
 
 ## Patch Submission
 
@@ -35,4 +35,3 @@ limitations under the License.
 
 - We welcome reviews from anyone. Any committer can approve and merge the 
changes.
 - Reviewers will likely have questions and comments. They may use terms such 
as those in [RFC2119](https://tools.ietf.org/html/rfc2119).
-
diff --git a/README.md b/README.md
index 9537db9..ed1a335 100644
--- a/README.md
+++ b/README.md
@@ -22,8 +22,9 @@ limitations under the License.
 [Apache Accumulo][accumulo] is a sorted, distributed key/value store that 
provides robust,
 scalable data storage and retrieval. With Apache Accumulo, users can store and 
manage large
 data sets across a cluster. Accumulo uses [Apache Hadoop]'s HDFS to store its 
data and
-[Apache Zookeeper] for consensus. Check out the [Accumulo project 
website][accumulo] for
-news and general information.
+[Apache Zookeeper] for consensus.
+
+Download the latest version of Apache Accumulo on the [project website][dl].
 
 ## Getting Started
 
@@ -44,6 +45,12 @@ waiting for the tests to run.
 
 This command produces `assemble/target/accumulo--bin.tar.gz`
 
+## Contributing
+
+Contributions are welcome to all Apache Accumulo repositories.
+
+If you want to contribute, read [our guide on our website][contribute].
+
 ## Export Control
 
 
@@ -100,3 +107,5 @@ more details on bouncycastle's cryptography features.
 [tl]: https://github.com/apache/accumulo/actions
 [java-export]: 
https://www.oracle.com/us/products/export/export-regulations-345813.html
 [bouncy-site]: https://bouncycastle.org
+[dl]: https://accumulo.apache.org/downloads
+[contribute]: https://accumulo.apache.org/how-to-contribute


[accumulo-website] branch main updated: Add JShell Accumulo Feature Blog (#274)

2021-05-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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 6e18ff4  Add JShell Accumulo Feature Blog (#274)
6e18ff4 is described below

commit 6e18ff49fc4651fe9977e68f44f8ad3e619c3606
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Wed May 5 15:46:07 2021 -0400

Add JShell Accumulo Feature Blog (#274)

This commit contains a blog about
JShell Accumulo Feature for 2.1.
---
 _posts/blog/2021-04-21-jshell-accumulo-feature.md | 157 ++
 1 file changed, 157 insertions(+)

diff --git a/_posts/blog/2021-04-21-jshell-accumulo-feature.md 
b/_posts/blog/2021-04-21-jshell-accumulo-feature.md
new file mode 100644
index 000..b1e2007
--- /dev/null
+++ b/_posts/blog/2021-04-21-jshell-accumulo-feature.md
@@ -0,0 +1,157 @@
+---
+Title: JShell Accumulo Feature
+
+---
+
+## Overview
+
+First introduced in Java 9, [JShell][jshell-doc] is an interactive 
Read-Evaluate-Print-Loop (REPL) 
+Java tool that interprets user's input and outputs the results. This tool 
provides a convenient 
+way to test out and execute quick tasks with Accumulo in the terminal. This 
feature is a part 
+of the upcoming Accumulo 2.1 release. If you're a developer and want to get 
involved in testing, 
+[contact us][contact] or review our [contributing guide][guide].
+
+## Major Features
+* Default JShell script provides initial imports for interacting with 
Accumulo's API and 
+provided in Accumulo's binary distribution tarball
+
+
+* On startup, JShell Accumulo  will automatically import the `CLASSPATH`, load 
in a configured 
+environment from user's `conf/accumulo-env.sh`, and invoke 
`conf/jshell-init.jsh` 
+to allow rapid Accumulo task executions
+
+
+* JShell Accumulo can startup using default/custom JShell script and users can 
append any JShell 
+command-line [options][jshell-option] to the startup command
+
+## Booting Up JShell Accumulo
+1) Open up a terminal and navigate to Accumulo's installation directory 
+
+2) To startup JShell with **default script** use this command:
+
+```bash
+$ bin/accumulo jshell 
+```
+3) To startup JShell with **custom script** use this command:
+
+```bash
+$ bin/accumulo jshell --startup file/path/to/custom_script.jsh
+```
+**Note:** One can execute the `jshell` command to startup JShell. However, 
doing so will require 
+manually importing the `CLASSPATH` and the configured environment from 
`conf/accumulo-env.sh` 
+and manually specifying the startup file for `conf/jshell-init.jsh` before any 
Accumulo tasks 
+can be performed. Using one of the startup commands above will automate that 
process 
+for convenience. 
+ 
+
+## JShell Accumulo Default Script
+The auto-generated `jshell-init.jsh` is a customizable file located in 
Accumulo's installation 
+`conf/` directory. Inside, `jshell-init.jsh` contains [Accumulo Java 
APIs][public APIs] 
+formatted as import statements and [AccumuloClient][client] build 
implementation. On startup, 
+the script automatically loads in the APIs and attempts to construct a client. 
Should additional 
+APIs and/or code implementations be needed, simply append them to 
`jshell-init.jsh`. 
+Alternatively, you can create a separate JShell script and specify the custom 
script's file path 
+on startup.
+
+To construct an [AccumuloClient][client], the provided `conf/jshell-init.jsh` 
script finds 
+and uses `accumulo-client.properties` in Accumulo's class path, and assigns 
the result 
+to a variable called **client**. 
+
+If `accumulo-client.properties` is found, a similar result will be produced 
below:
+
+``` 
+Preparing JShell for Apache Accumulo 
+
+Building Accumulo client using 
'jar:file:/home/accumulo/lib/accumulo-client.jar!/accumulo-client.properties'
+
+Use 'client' to interact with Accumulo
+
+|  Welcome to JShell -- Version 11.0.10
+|  For an introduction type: /help intro
+
+jshell> 
+```
+
+If `accumulo-client.properties` is not found, an [AccumuloClient][client] will 
not 
+auto-generate and will produce the following result below:
+
+```
+Preparing JShell for Apache Accumulo 
+
+'accumulo-client.properties' was not found on the classpath
+
+|  Welcome to JShell -- Version 11.0.10
+|  For an introduction type: /help intro
+
+jshell> 
+```
+
+## JShell Accumulo Example
+1) Booting up JShell Accumulo using default script
+
+```
+Preparing JShell for Apache Accumulo 
+
+Building Accumulo client using 
'file:/home/accumulo/conf/accumulo-client.properties'
+
+Use 'client' to interact with Accumulo
+
+|  Welcome to JShell -- Version 11.0.10
+|  For an introduction type: /help intro
+
+jshell> 
+```
+
+2) Providing JShell with an Accumulo task
+
+```Java
+  // Create a table called "GothamPD".
+  client.tableOperations().create("GothamPD");
+
+  // Create a Mutation 

[accumulo] branch main updated: Fix #2042 Replace assertTrue with assertArrayEquals in KeyTest (#2079)

2021-05-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 7dc5436  Fix #2042 Replace assertTrue with assertArrayEquals in 
KeyTest (#2079)
7dc5436 is described below

commit 7dc54362fca1369f18c2057b57302886360beee1
Author: EdColeman 
AuthorDate: Wed May 5 15:40:39 2021 -0400

Fix #2042 Replace assertTrue with assertArrayEquals in KeyTest (#2079)

* Changed KeyTest for assertArrayEquals assertion
* Fixed the import error
* Fixed the assert import error
* auto-format corrections

Co-authored-by: vallari118 
Co-authored-by: Ed Coleman etcoleman 
---
 .../java/org/apache/accumulo/core/data/KeyTest.java | 21 +
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java 
b/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java
index ccb7789..fbc0eb0 100644
--- a/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java
@@ -18,13 +18,13 @@
  */
 package org.apache.accumulo.core.data;
 
+import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -117,25 +117,25 @@ public class KeyTest {
 if (key.getRowBytes().length != 0) {
   assertNotSame(row, key.getRowBytes());
   assertNotSame(row, key.getRowData().getBackingArray());
-  assertTrue(Arrays.equals(row, key.getRowBytes()));
+  assertArrayEquals(row, key.getRowBytes());
 
 }
 if (key.getColFamily().length != 0) {
   assertNotSame(cf, key.getColFamily());
   assertNotSame(cf, key.getColumnFamilyData().getBackingArray());
-  assertTrue(Arrays.equals(cf, key.getColFamily()));
+  assertArrayEquals(cf, key.getColFamily());
 
 }
 if (key.getColQualifier().length != 0) {
   assertNotSame(cq, key.getColQualifier());
   assertNotSame(cq, key.getColumnQualifierData().getBackingArray());
-  assertTrue(Arrays.equals(cq, key.getColQualifier()));
+  assertArrayEquals(cq, key.getColQualifier());
 
 }
 if (key.getColVisibility().length != 0) {
   assertNotSame(cv, key.getColVisibility());
   assertNotSame(cv, key.getColumnVisibilityData().getBackingArray());
-  assertTrue(Arrays.equals(cv, key.getColVisibility()));
+  assertArrayEquals(cv, key.getColVisibility());
 }
   }
 
@@ -178,19 +178,16 @@ public class KeyTest {
 // are converted to byte array containing
 // the same value
 if (key.getRowBytes().length != 0) {
-  assertTrue(Arrays.equals(row, key.getRowBytes()));
-
+  assertArrayEquals(row, key.getRowBytes());
 }
 if (key.getColFamily().length != 0) {
-  assertTrue(Arrays.equals(cf, key.getColFamily()));
-
+  assertArrayEquals(cf, key.getColFamily());
 }
 if (key.getColQualifier().length != 0) {
-  assertTrue(Arrays.equals(cq, key.getColQualifier()));
-
+  assertArrayEquals(cq, key.getColQualifier());
 }
 if (key.getColVisibility().length != 0) {
-  assertTrue(Arrays.equals(cv, key.getColVisibility()));
+  assertArrayEquals(cv, key.getColVisibility());
 }
   }
 


[accumulo-website] branch asf-site updated (a0db284 -> 5430b19)

2021-05-01 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 a0db284  Automatic Site Publish by Buildbot
 add fb936b1  Automatic Site Publish by Buildbot
 add 5430b19  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 +
 2 files changed, 7 insertions(+), 2 deletions(-)


[accumulo-website] branch main updated: Update some gems (#278)

2021-05-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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 2921523  Update some gems (#278)
2921523 is described below

commit 2921523abe5382bc12ac203d5e6e839870b66374
Author: Christopher Tubbs 
AuthorDate: Sat May 1 12:26:32 2021 -0400

Update some gems (#278)
---
 Gemfile.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Gemfile.lock b/Gemfile.lock
index 2a4e808..ab5e99b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -12,7 +12,7 @@ GEM
 ffi (1.15.0)
 forwardable-extended (2.6.0)
 http_parser.rb (0.6.0)
-i18n (1.8.9)
+i18n (1.8.10)
   concurrent-ruby (~> 1.0)
 jekyll (4.2.0)
   addressable (~> 2.4)
@@ -40,7 +40,7 @@ GEM
 kramdown-parser-gfm (1.1.0)
   kramdown (~> 2.0)
 liquid (4.0.3)
-listen (3.4.1)
+listen (3.5.1)
   rb-fsevent (~> 0.10, >= 0.10.3)
   rb-inotify (~> 0.9, >= 0.9.10)
 mercenary (0.4.0)
@@ -50,7 +50,7 @@ GEM
 rb-fsevent (0.10.4)
 rb-inotify (0.10.1)
   ffi (~> 1.0)
-rexml (3.2.4)
+rexml (3.2.5)
 rouge (3.26.0)
 safe_yaml (1.0.5)
 sassc (2.4.0)


[accumulo] branch main updated: Fix formatting from #2069

2021-05-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 97fe15c  Fix formatting from #2069
97fe15c is described below

commit 97fe15cd0e109f9d21f0a1bf12aa9190b9dc4e59
Author: Christopher Tubbs 
AuthorDate: Sat May 1 12:18:22 2021 -0400

Fix formatting from #2069
---
 .../main/java/org/apache/accumulo/core/iterators/LongCombiner.java| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java 
b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
index 30adfef..2e6366e 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
@@ -45,8 +45,8 @@ import org.apache.hadoop.io.WritableUtils;
  * (translated to Longs) for all non-deleted versions of that Key.
  *
  * A required option for this Combiner is "type" which indicates which type of 
Encoder to use to
- * encode and decode Longs into Values. Supported types are VARLEN, FIXEDLEN, 
and STRING which indicate
- * the VarLenEncoder, FixedLenEncoder, and StringEncoder respectively.
+ * encode and decode Longs into Values. Supported types are VARLEN, FIXEDLEN, 
and STRING which
+ * indicate the VarLenEncoder, FixedLenEncoder, and StringEncoder respectively.
  */
 public abstract class LongCombiner extends TypedValueCombiner {
   public static final Encoder FIXED_LEN_ENCODER = new FixedLenEncoder();


[accumulo] branch main updated: Fix javadoc for LongCombiner (#2069)

2021-05-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 747c48a  Fix javadoc for LongCombiner (#2069)
747c48a is described below

commit 747c48a0b4cb27092b0d50ddb01670118acb16c5
Author: ljana 
AuthorDate: Sat May 1 12:09:04 2021 -0400

Fix javadoc for LongCombiner (#2069)

Update javadoc based on supported encoder types.

This fixes #2047
---
 .../main/java/org/apache/accumulo/core/iterators/LongCombiner.java| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java 
b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
index 17cc7f9..30adfef 100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/LongCombiner.java
@@ -45,8 +45,8 @@ import org.apache.hadoop.io.WritableUtils;
  * (translated to Longs) for all non-deleted versions of that Key.
  *
  * A required option for this Combiner is "type" which indicates which type of 
Encoder to use to
- * encode and decode Longs into Values. Supported types are VARNUM, LONG, and 
STRING which indicate
- * the VarNumEncoder, LongEncoder, and StringEncoder respectively.
+ * encode and decode Longs into Values. Supported types are VARLEN, FIXEDLEN, 
and STRING which indicate
+ * the VarLenEncoder, FixedLenEncoder, and StringEncoder respectively.
  */
 public abstract class LongCombiner extends TypedValueCombiner {
   public static final Encoder FIXED_LEN_ENCODER = new FixedLenEncoder();


[accumulo-website] branch main updated: Added Ali Mustafa as a contributor in people.md (#277)

2021-04-30 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 ce52f6c  Added Ali Mustafa as a contributor in people.md (#277)
ce52f6c is described below

commit ce52f6cd4a8c4395906a395aad883b0cc51d79e5
Author: alimustafashah 
AuthorDate: Fri Apr 30 21:12:49 2021 +0500

Added Ali Mustafa as a contributor in people.md (#277)
---
 pages/people.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pages/people.md b/pages/people.md
index 56d60c8..84e2fc3 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -72,6 +72,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Aishwarya Thangappa | [Microsoft][MICROSOFT] 
   | [PT][PT]  |
 | Al Krinker  |
   | [ET][ET]  |
 | Alex Moundalexis| [Cloudera][CLOUDERA]   
   | [ET][ET]  |
+| Ali Mustafa | [FAST-NU][FAST-NU] 
   | [PKT][PKT]|
 | Andrew George Wells | [ClearEdgeIT][CLEAREDGE]   
   | [ET][ET]  |
 | Arshak Navruzyan| [Argyle Data][ARGYLE]  
   |   |
 | Ben Kelly   | [Microsoft][MICROSOFT] 
   | [GMT][GMT]/[IST][IST] |
@@ -195,6 +196,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 [DATACATESS]: https://datacatessen.com
 [ELYPIA]: https://elypia.org
 [ENDGAME]: https://www.endgame.com
+[FAST-NU]: https://nu.edu.pk/
 [FLYWHEEL]: https://flywheeldata.com
 [HORTONWORKS]: https://hortonworks.com
 [IBM]: https://www.ibm.com
@@ -231,4 +233,5 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 [JST]: https://www.timeanddate.com/time/zones/jst
 [MT]: https://www.timeanddate.com/time/zones/mt
 [PT]: https://www.timeanddate.com/time/zones/pt
+[PKT]: https://www.timeanddate.com/time/zones/pkt
 [CEST]: https://www.timeanddate.com/time/zones/cest


[accumulo-website] branch asf-site updated (2e22d25 -> c611f61)

2021-04-22 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 2e22d25  Automatic Site Publish by Buildbot
 add 295f793  Automatic Site Publish by Buildbot
 add c611f61  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/blog/2016/11/02/durability-performance.html |  2 +-
 output/blog/2019/08/12/why-upgrade.html|  2 +-
 output/downloads/index.html| 30 +-
 output/feed.xml|  4 +--
 4 files changed, 22 insertions(+), 16 deletions(-)


[accumulo-website] branch main updated: Fix downloads script for mirror selection

2021-04-22 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 e732cd2  Fix downloads script for mirror selection
e732cd2 is described below

commit e732cd2162e2fae08997220cf0b6b660fb640037
Author: Christopher Tubbs 
AuthorDate: Thu Apr 22 15:13:43 2021 -0400

Fix downloads script for mirror selection

Check that http, ftp, or backup sections actually exist in the returned
JSON before trying to read them as an array.
---
 pages/downloads.md | 30 ++
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/pages/downloads.md b/pages/downloads.md
index 9d94664..ab36b3a 100644
--- a/pages/downloads.md
+++ b/pages/downloads.md
@@ -17,21 +17,27 @@ var mirrorsCallback = function(json) {
   htmlContent += '';
   htmlContent += '' + json.preferred + '';
   htmlContent += '';
-  htmlContent += '';
-  for (var i = 0; i < json.http.length; i++) {
-htmlContent += '' + json.http[i] + '';
+  if (json.hasOwnProperty('http')) {
+htmlContent += '';
+for (var i = 0; i < json.http.length; i++) {
+  htmlContent += '' + json.http[i] + '';
+}
+htmlContent += '';
   }
-  htmlContent += '';
-  htmlContent += '';
-  for (var i = 0; i < json.ftp.length; i++) {
-htmlContent += '' + json.ftp[i] + '';
+  if (json.hasOwnProperty('ftp')) {
+htmlContent += '';
+for (var i = 0; i < json.ftp.length; i++) {
+  htmlContent += '' + json.ftp[i] + '';
+}
+htmlContent += '';
   }
-  htmlContent += '';
-  htmlContent += '';
-  for (var i = 0; i < json.backup.length; i++) {
-htmlContent += '' + json.backup[i] + '';
+  if (json.hasOwnProperty('backup')) {
+htmlContent += '';
+for (var i = 0; i < json.backup.length; i++) {
+  htmlContent += '' + json.backup[i] + '';
+}
+htmlContent += '';
   }
-  htmlContent += '';
   htmlContent += '';
 
   $("#mirror_selection").html(htmlContent);


[accumulo-website] branch main updated: Remove self from Reviewers lines on blog posts

2021-04-22 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 aeb13a2  Remove self from Reviewers lines on blog posts
aeb13a2 is described below

commit aeb13a2d69604ca079045f7a8d35573966fa85c9
Author: Christopher Tubbs 
AuthorDate: Thu Apr 22 14:55:14 2021 -0400

Remove self from Reviewers lines on blog posts

Removing myself from Reviewers lines on blog posts because for me,
personally, I feel it singles me out as responsible for the content more
so than other committers. So, I would prefer not to be listed there.

In general, I don't like the Reviewers tag on blog posts for this
reason, but this change only removes myself, and does not make any
additional changes to that practice.
---
 _posts/blog/2016-10-28-durability-performance.md | 2 +-
 _posts/blog/2019-08-12-why-upgrade.md| 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/_posts/blog/2016-10-28-durability-performance.md 
b/_posts/blog/2016-10-28-durability-performance.md
index eee9ce5..c4616cf 100644
--- a/_posts/blog/2016-10-28-durability-performance.md
+++ b/_posts/blog/2016-10-28-durability-performance.md
@@ -2,7 +2,7 @@
 title: "Durability Performance Implications"
 date: 2016-11-02 17:00:00 +
 author: Keith Turner
-reviewers: Josh Elser, Dave Marion, Christopher Tubbs
+reviewers: Josh Elser, Dave Marion
 ---
 
 ## Overview
diff --git a/_posts/blog/2019-08-12-why-upgrade.md 
b/_posts/blog/2019-08-12-why-upgrade.md
index a8c5f40..ae4db88 100644
--- a/_posts/blog/2019-08-12-why-upgrade.md
+++ b/_posts/blog/2019-08-12-why-upgrade.md
@@ -1,7 +1,7 @@
 ---
 title: "Top 10 Reasons to Upgrade"
 author: Mike Miller
-reviewers: Keith Turner, Christopher Tubbs
+reviewers: Keith Turner
 ---
 
 Accumulo 2.0 has been in development for quite some time now and is packed 
with new features, bug


[accumulo] branch main updated: Auto Generate Accumulo Client in JShell (#1995)

2021-04-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.git


The following commit(s) were added to refs/heads/main by this push:
 new f9bc914  Auto Generate Accumulo Client in JShell (#1995)
f9bc914 is described below

commit f9bc91405ea4fb166d50d28a26d438265af5b554
Author: slackwinner <50567198+slackwin...@users.noreply.github.com>
AuthorDate: Wed Apr 21 17:05:47 2021 -0400

Auto Generate Accumulo Client in JShell (#1995)

Auto-generate an Accumulo client on JShell startup,
if a client properties file is found on the class path.
---
 assemble/src/main/scripts/create-jshell.sh | 31 --
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/assemble/src/main/scripts/create-jshell.sh 
b/assemble/src/main/scripts/create-jshell.sh
index 6d58fee..2cc2702 100755
--- a/assemble/src/main/scripts/create-jshell.sh
+++ b/assemble/src/main/scripts/create-jshell.sh
@@ -36,6 +36,31 @@ function addAccumuloAPI() {
   echo
 }
 
+function addClientBuild() {
+cat < "$mainBase/assemble/target/jshell-init.jsh"
 }
 


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

2021-04-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.git

commit 70e1be41ae5f73fcb669f822674a1440262fe6a9
Merge: 8dfe443 631386d
Author: Christopher Tubbs 
AuthorDate: Wed Apr 21 13:01:33 2021 -0400

Merge branch '1.10'

No-op merge of #2006 into main branch. That issue only applies to 1.10



[accumulo] branch main updated (8dfe443 -> 70e1be4)

2021-04-21 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 8dfe443  Fix WebViewsIT
 add 8bb4749  Revert "Revert "Ensure that HostRegexTableLoadBalancer 
propery changes are picked up""
 add fb16d7c  re #2006: changed method from public to protected
 add 631386d  re #2006: Removed the configuration Observable mechism * The 
properties are now reloaded on every balance and getAssignments call.  Hence 
the table configuration observable mechanism is no longer required.
 new 70e1be4  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] branch main updated: Fix WebViewsIT

2021-04-19 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 8dfe443  Fix WebViewsIT
8dfe443 is described below

commit 8dfe443af55f5d3aacb12fb38c5002dcb61cb772
Author: Christopher Tubbs 
AuthorDate: Mon Apr 19 12:02:03 2021 -0400

Fix WebViewsIT

Fix WebViewsIT, broken by addition of new unexpected method call in mock
code, re #2020

Co-authored-by: Karthick Narendran 
---
 .../monitor/src/test/java/org/apache/accumulo/monitor/it/WebViewsIT.java | 1 +
 1 file changed, 1 insertion(+)

diff --git 
a/server/monitor/src/test/java/org/apache/accumulo/monitor/it/WebViewsIT.java 
b/server/monitor/src/test/java/org/apache/accumulo/monitor/it/WebViewsIT.java
index 9b11c47..27a6c76 100644
--- 
a/server/monitor/src/test/java/org/apache/accumulo/monitor/it/WebViewsIT.java
+++ 
b/server/monitor/src/test/java/org/apache/accumulo/monitor/it/WebViewsIT.java
@@ -93,6 +93,7 @@ public class WebViewsIT extends JerseyTest {
 
expect(contextMock.getConfiguration()).andReturn(DefaultConfiguration.getInstance()).anyTimes();
 expect(contextMock.getInstanceID()).andReturn("foo").atLeastOnce();
 expect(contextMock.getInstanceName()).andReturn("foo").anyTimes();
+expect(contextMock.getZooKeepers()).andReturn("foo:2181").anyTimes();
 
 Monitor monitorMock = EasyMock.createMock(Monitor.class);
 expect(monitorMock.getContext()).andReturn(contextMock).anyTimes();


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

2021-04-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

commit dd0d88eb664fc60714a7283b357a51afaad3b899
Merge: af955c8 1dc2101
Author: Christopher Tubbs 
AuthorDate: Fri Apr 16 04:11:49 2021 -0400

Merge branch '1.10'

 .github/workflows/maven-full-its.yaml  | 15 +++
 .github/workflows/maven-on-demand.yaml | 15 +++
 .github/workflows/maven.yaml   | 15 +++
 3 files changed, 45 insertions(+)

diff --cc .github/workflows/maven.yaml
index 3da4bb7,b6dcf91..5a9666d
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@@ -79,9 -78,24 +79,24 @@@ jobs
!~/.m2/repository/org/apache/accumulo
  key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
  restore-keys: ${{ runner.os }}-m2
+ - name: Override DNS to fix IP address for hostname
+   run: |
+ ip -br addr
+ echo "'hostname -i' shows '$(hostname -i)'"
+ echo "'hostname -I' shows '$(hostname -I)'"
+ hostname_short=$(hostname -s)
+ hostname_long=$(hostname -f)
+ if ! grep -q $hostname_short /etc/hosts; then
+   actual_ip=$(ip -4 addr show dev eth0 | grep -o 'inet [0-9.]*' | cut 
-f2 -d ' ')
+   echo "Setting $hostname_long / $hostname_short to $actual_ip in 
/etc/hosts"
+   echo "$actual_ip $hostname_long $hostname_short" | sudo tee -a 
/etc/hosts
+   ip -br addr
+   echo "'hostname -i' shows '$(hostname -i)'"
+   echo "'hostname -I' shows '$(hostname -I)'"
+ fi
  - name: Build with Maven (${{ matrix.profile.name }})
timeout-minutes: 60
 -  run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ matrix.profile.args }}
 +  run: mvn -B -V -e -ntp "-Dstyle.color=always" -DskipFormat ${{ 
matrix.profile.args }}
env:
  MAVEN_OPTS: -Djansi.force=true
  - name: Upload unit test results


[accumulo] branch main updated (af955c8 -> dd0d88e)

2021-04-16 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 af955c8  Remove ZK stats from Monitor overview page (#2020)
 add 1dc2101  Fix IP address in GitHub Actions container (#2024)
 new dd0d88e  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:
 .github/workflows/maven-full-its.yaml  | 15 +++
 .github/workflows/maven-on-demand.yaml | 15 +++
 .github/workflows/maven.yaml   | 15 +++
 3 files changed, 45 insertions(+)


[accumulo] branch 1.10 updated: Fix IP address in GitHub Actions container (#2024)

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

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new 1dc2101  Fix IP address in GitHub Actions container (#2024)
1dc2101 is described below

commit 1dc21016654dc4d8a66178540fe2ce8012deb5be
Author: Christopher Tubbs 
AuthorDate: Fri Apr 16 04:10:48 2021 -0400

Fix IP address in GitHub Actions container (#2024)

Fix #2016 by adding an entry to /etc/hosts to fix incorrect DNS entries,
which return an IP for the current machine's hostname that does not
match any IP address in the machine. Adding an entry to /etc/hosts
to force the hostname to match on eth0's IP address.
---
 .github/workflows/maven-full-its.yaml  | 15 +++
 .github/workflows/maven-on-demand.yaml | 15 +++
 .github/workflows/maven.yaml   | 15 +++
 3 files changed, 45 insertions(+)

diff --git a/.github/workflows/maven-full-its.yaml 
b/.github/workflows/maven-full-its.yaml
index 0036a76..f6f5630 100644
--- a/.github/workflows/maven-full-its.yaml
+++ b/.github/workflows/maven-full-its.yaml
@@ -100,6 +100,21 @@ jobs:
   !~/.m2/repository/org/apache/accumulo
 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
 restore-keys: ${{ runner.os }}-m2
+- name: Override DNS to fix IP address for hostname
+  run: |
+ip -br addr
+echo "'hostname -i' shows '$(hostname -i)'"
+echo "'hostname -I' shows '$(hostname -I)'"
+hostname_short=$(hostname -s)
+hostname_long=$(hostname -f)
+if ! grep -q $hostname_short /etc/hosts; then
+  actual_ip=$(ip -4 addr show dev eth0 | grep -o 'inet [0-9.]*' | cut 
-f2 -d ' ')
+  echo "Setting $hostname_long / $hostname_short to $actual_ip in 
/etc/hosts"
+  echo "$actual_ip $hostname_long $hostname_short" | sudo tee -a 
/etc/hosts
+  ip -br addr
+  echo "'hostname -i' shows '$(hostname -i)'"
+  echo "'hostname -I' shows '$(hostname -I)'"
+fi
 - name: Build with Maven (${{ matrix.profile.its }})
   timeout-minutes: 60
   run: mvn -B -V -e -ntp "-Dstyle.color=always" verify -PskipQA 
-DskipTests=false -DskipITs=false -Dtest=nomatchingtest -Dit.test="${{ 
matrix.profile.its }}"
diff --git a/.github/workflows/maven-on-demand.yaml 
b/.github/workflows/maven-on-demand.yaml
index 3cf9b7a..c8c719c 100644
--- a/.github/workflows/maven-on-demand.yaml
+++ b/.github/workflows/maven-on-demand.yaml
@@ -76,6 +76,21 @@ jobs:
 restore-keys: ${{ runner.os }}-m2
 - name: Show the first log message
   run: git log -n1
+- name: Override DNS to fix IP address for hostname
+  run: |
+ip -br addr
+echo "'hostname -i' shows '$(hostname -i)'"
+echo "'hostname -I' shows '$(hostname -I)'"
+hostname_short=$(hostname -s)
+hostname_long=$(hostname -f)
+if ! grep -q $hostname_short /etc/hosts; then
+  actual_ip=$(ip -4 addr show dev eth0 | grep -o 'inet [0-9.]*' | cut 
-f2 -d ' ')
+  echo "Setting $hostname_long / $hostname_short to $actual_ip in 
/etc/hosts"
+  echo "$actual_ip $hostname_long $hostname_short" | sudo tee -a 
/etc/hosts
+  ip -br addr
+  echo "'hostname -i' shows '$(hostname -i)'"
+  echo "'hostname -I' shows '$(hostname -I)'"
+fi
 - name: Build with Maven
   timeout-minutes: 345
   run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ 
github.event.inputs.mvnOpts }} ${{ github.event.inputs.goals }} ${{ 
github.event.inputs.utOpts }} ${{ github.event.inputs.itOpts }} ${{ 
github.event.inputs.addOpts }}
diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
index d2d49e4..b6dcf91 100644
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@ -78,6 +78,21 @@ jobs:
   !~/.m2/repository/org/apache/accumulo
 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
 restore-keys: ${{ runner.os }}-m2
+- name: Override DNS to fix IP address for hostname
+  run: |
+ip -br addr
+echo "'hostname -i' shows '$(hostname -i)'"
+echo "'hostname -I' shows '$(hostname -I)'"
+hostname_short=$(hostname -s)
+hostname_long=$(hostname -f)
+if ! grep -q $hostname_short /etc/hosts; then
+  actual_ip=$(ip -4 addr show dev eth0 | grep -o 'inet [0-9.]*' | cut 
-f2 -d ' ')
+  echo "Setting $hostname_long / $hostname_short to $actual_ip in 
/etc/hosts"
+  echo "$actual_ip $hostname_long $hostname_short" | sudo tee -a 
/etc/hosts
+  ip -br addr
+  echo "'hostname -i' shows '$(ho

[accumulo] branch main updated: Remove ZK stats from Monitor overview page (#2020)

2021-04-15 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 af955c8  Remove ZK stats from Monitor overview page (#2020)
af955c8 is described below

commit af955c87990463dd49c0225041fba458adb333c8
Author: Karthick Narendran 
AuthorDate: Fri Apr 16 00:12:06 2021 +0100

Remove ZK stats from Monitor overview page (#2020)

* Remove ZK stats table from Monitor overview page and
  the web assets used to display it and keep it up-to-date
---
 .../accumulo/monitor/rest/zk/ZKInformation.java| 43 -
 .../apache/accumulo/monitor/rest/zk/ZooKeeper.java | 51 
 .../monitor/rest/zk/ZookeeperResource.java | 56 --
 .../org/apache/accumulo/monitor/view/WebViews.java |  1 +
 .../accumulo/monitor/resources/js/functions.js | 10 
 .../accumulo/monitor/resources/js/overview.js  | 31 
 .../apache/accumulo/monitor/templates/modals.ftl   |  4 ++
 .../apache/accumulo/monitor/templates/overview.ftl | 12 +
 8 files changed, 6 insertions(+), 202 deletions(-)

diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZKInformation.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZKInformation.java
deleted file mode 100644
index 77c4a14..000
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZKInformation.java
+++ /dev/null
@@ -1,43 +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.
- */
-package org.apache.accumulo.monitor.rest.zk;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Generates a list of Zookeeper server information
- *
- * @since 2.0.0
- */
-public class ZKInformation {
-
-  // Variable names become JSON keys
-  public List zkServers = new ArrayList<>();
-
-  /**
-   * Adds a new zk server to the list
-   *
-   * @param server
-   *  ZK server to add
-   */
-  public void addZK(ZooKeeper server) {
-zkServers.add(server);
-  }
-}
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZooKeeper.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZooKeeper.java
deleted file mode 100644
index e5db147..000
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZooKeeper.java
+++ /dev/null
@@ -1,51 +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.
- */
-package org.apache.accumulo.monitor.rest.zk;
-
-/**
- * Generates a new zookeeper information as a JSON object
- *
- * @since 2.0.0
- */
-public class ZooKeeper {
-
-  // Variable names become JSON keys
-  public String server;
-  public String mode;
-
-  public Integer clients;
-
-  public ZooKeeper() {}
-
-  /**
-   * Stores Zookeeper information
-   *
-   * @param server
-   *  Location of the ZK
-   * @param mode
-   *  ZK mode
-   * @param clients
-   *  Number of clients per ZK
-   */
-  public ZooKeeper(String server, String mode, Integer clients) {
-this.server = server;
-this.mode = mode;
-this.clients = clients;
-  }
-}
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZookeeperResource.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/zk/ZookeeperResour

[accumulo] branch main updated: Use builtin immutable maps/sets/lists when available (#2023)

2021-04-15 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 30ce59f  Use builtin immutable maps/sets/lists when available (#2023)
30ce59f is described below

commit 30ce59fd94f51b60a30ced328156f02d3223330b
Author: Christopher Tubbs 
AuthorDate: Thu Apr 15 19:07:17 2021 -0400

Use builtin immutable maps/sets/lists when available (#2023)

Utilize some Java 11 features for immutable maps, sets, and lists, to
minimize our dependence on equivalent Guava features. Some use of Guava
builders for these are still used, since Java 11 doesn't have convenient
immutable collection builders, but they have been made final to ensure
we use them correctly and don't re-assign them once built.
---
 .../core/client/sample/RowColumnSampler.java   |  2 +-
 .../accumulo/core/client/sample/RowSampler.java|  2 +-
 .../client/summary/SummarizerConfiguration.java|  5 +-
 .../apache/accumulo/core/clientImpl/TableMap.java  |  4 +-
 .../accumulo/core/conf/AccumuloConfiguration.java  |  2 +-
 .../org/apache/accumulo/core/data/LoadPlan.java|  2 +-
 .../core/metadata/schema/TabletMetadata.java   | 12 ++--
 .../core/spi/scan/HintScanPrioritizer.java | 18 ++
 .../core/spi/scan/SimpleScanDispatcher.java| 42 +++---
 .../accumulo/core/summary/SummarySerializer.java   |  2 +-
 .../accumulo/core/util/ConfigurationImpl.java  | 12 +---
 .../accumulo/core/util/LocalityGroupUtil.java  | 35 +---
 .../iterators/FirstEntryInRowIteratorTest.java |  4 +-
 .../core/iterators/system/MultiIteratorTest.java   |  6 +-
 .../core/iterators/user/LargeRowFilterTest.java| 30 --
 .../accumulo/server/conf/TableConfiguration.java   | 10 +---
 .../org/apache/accumulo/server/util/FileUtil.java  | 20 +++
 .../java/org/apache/accumulo/manager/Manager.java  | 49 +++--
 .../accumulo/manager/TabletGroupWatcher.java   | 20 +++
 .../tableOps/bulkVer2/PrepBulkImportTest.java  |  2 +-
 .../org/apache/accumulo/tserver/OnlineTablets.java |  5 +-
 .../tserver/TabletServerResourceManager.java   | 34 +++-
 .../org/apache/accumulo/tserver/tablet/Tablet.java | 13 ++---
 .../apache/accumulo/tserver/InMemoryMapTest.java   | 64 +++---
 .../java/org/apache/accumulo/shell/ShellUtil.java  | 17 +++---
 .../apache/accumulo/test/functional/SummaryIT.java | 12 ++--
 26 files changed, 175 insertions(+), 249 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
 
b/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
index 1d71214..3199dc1 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/sample/RowColumnSampler.java
@@ -53,7 +53,7 @@ import org.apache.accumulo.core.data.Key;
  * 
  * 
  * new SamplerConfiguration(RowColumnSampler.class.getName()).setOptions(
- *   
ImmutableMap.of("hasher","murmur3_32","modulus","1009","qualifier","true"));
+ *   Map.of("hasher","murmur3_32","modulus","1009","qualifier","true"));
  * 
  * 
  *
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/sample/RowSampler.java 
b/core/src/main/java/org/apache/accumulo/core/client/sample/RowSampler.java
index c80ce5c..d3a3a11 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/sample/RowSampler.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/sample/RowSampler.java
@@ -39,7 +39,7 @@ import org.apache.accumulo.core.data.Key;
  * 
  * 
  * new SamplerConfiguration(RowSampler.class.getName()).setOptions(
- *   ImmutableMap.of("hasher","murmur3_32","modulus","1009"));
+ *   Map.of("hasher","murmur3_32","modulus","1009"));
  * 
  * 
  *
diff --git 
a/core/src/main/java/org/apache/accumulo/core/client/summary/SummarizerConfiguration.java
 
b/core/src/main/java/org/apache/accumulo/core/client/summary/SummarizerConfiguration.java
index 686932c..758891f 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/client/summary/SummarizerConfiguration.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/client/summary/SummarizerConfiguration.java
@@ -182,13 +182,12 @@ public class SummarizerConfiguration {
* @since 2.0.0
*/
   public static class Builder {
-private String className;
-private ImmutableMap.Builder imBuilder;
+private final String className;
+private final ImmutableMap.Builder imBuilder = 
ImmutableMap.builder();
 private String configId = null;
 
 private Builder(String className) {
   this.className = className;
- 

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

2021-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

commit ebf743c7e7f048c448803491471a53722ad783be
Merge: d68bab1 a3d5a29
Author: Christopher Tubbs 
AuthorDate: Wed Apr 14 13:51:35 2021 -0400

Merge branch '1.10'

 .github/workflows/maven-full-its.yaml  | 4 ++--
 .github/workflows/maven-on-demand.yaml | 2 +-
 .github/workflows/maven.yaml   | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --cc .github/workflows/maven-full-its.yaml
index 9a8fa58,0036a76..7eb2897
--- a/.github/workflows/maven-full-its.yaml
+++ b/.github/workflows/maven-full-its.yaml
@@@ -61,7 -60,8 +60,8 @@@ jobs
  - name: Show the first log message
run: git log -n1
  - name: Build with Maven (Fast Build)
+   timeout-minutes: 20
 -  run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -PskipQA
 +  run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -DskipTests -DskipFormat -DverifyFormat
env:
  MAVEN_OPTS: -Djansi.force=true
creatematrix:
diff --cc .github/workflows/maven.yaml
index 2c16fa7,d2d49e4..3da4bb7
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@@ -51,7 -50,8 +50,8 @@@ jobs
  - name: Show the first log message
run: git log -n1
  - name: Build with Maven (Fast Build)
+   timeout-minutes: 20
 -  run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -PskipQA
 +  run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -DskipTests -DskipFormat -DverifyFormat
env:
  MAVEN_OPTS: -Djansi.force=true
# more complete builds with tests
@@@ -60,11 -60,9 +60,10 @@@
  strategy:
matrix:
  profile:
 -  - {name: 'Hadoop2', args: 'verify javadoc:jar -DskipITs'}
 -  - {name: 'Hadoop3', args: 'verify javadoc:jar -DskipITs 
-Dhadoop.profile=3'}
 +  - {name: 'unit-tests',args: 'verify -PskipQA -DskipTests=false'}
 +  - {name: 'qa-checks', args: 'verify javadoc:jar -Psec-bugs 
-DskipTests -Dspotbugs.timeout=360'}
 +  - {name: 'hadoop-compat', args: 'package -DskipTests 
-Dhadoop.version=3.0.3'}
fail-fast: false
- timeout-minutes: 60
  runs-on: ubuntu-latest
  steps:
  - uses: actions/checkout@v2
@@@ -81,7 -79,8 +80,8 @@@
  key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
  restore-keys: ${{ runner.os }}-m2
  - name: Build with Maven (${{ matrix.profile.name }})
+   timeout-minutes: 60
 -  run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ matrix.profile.args }}
 +  run: mvn -B -V -e -ntp "-Dstyle.color=always" -DskipFormat ${{ 
matrix.profile.args }}
env:
  MAVEN_OPTS: -Djansi.force=true
  - name: Upload unit test results


[accumulo] branch 1.10 updated: Update GitHub Actions workflow timeouts

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

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new a3d5a29  Update GitHub Actions workflow timeouts
a3d5a29 is described below

commit a3d5a291f72cda613cda431452b8cea2f21bbe07
Author: Christopher Tubbs 
AuthorDate: Wed Apr 14 13:46:58 2021 -0400

Update GitHub Actions workflow timeouts

For issue #2016, regarding unexplained hung test processes, update the
job timeouts so the Maven task terminates, but the upload-artifact step
can still be run, to see the logs to help troubleshoot the failures.

Make individual Maven build steps timeout, rather than the entire job.
---
 .github/workflows/maven-full-its.yaml  | 4 ++--
 .github/workflows/maven-on-demand.yaml | 2 +-
 .github/workflows/maven.yaml   | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/maven-full-its.yaml 
b/.github/workflows/maven-full-its.yaml
index 4e311f4..0036a76 100644
--- a/.github/workflows/maven-full-its.yaml
+++ b/.github/workflows/maven-full-its.yaml
@@ -40,7 +40,6 @@ on:
 jobs:
   # fast build to populate the local maven repository cache
   fastbuild:
-timeout-minutes: 20
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
@@ -61,6 +60,7 @@ jobs:
 - name: Show the first log message
   run: git log -n1
 - name: Build with Maven (Fast Build)
+  timeout-minutes: 20
   run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -PskipQA
   env:
 MAVEN_OPTS: -Djansi.force=true
@@ -83,7 +83,6 @@ jobs:
 strategy:
   matrix: ${{ fromJson(needs.creatematrix.outputs.matrix) }}
   fail-fast: false
-timeout-minutes: 60
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
@@ -102,6 +101,7 @@ jobs:
 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
 restore-keys: ${{ runner.os }}-m2
 - name: Build with Maven (${{ matrix.profile.its }})
+  timeout-minutes: 60
   run: mvn -B -V -e -ntp "-Dstyle.color=always" verify -PskipQA 
-DskipTests=false -DskipITs=false -Dtest=nomatchingtest -Dit.test="${{ 
matrix.profile.its }}"
   env:
 MAVEN_OPTS: -Djansi.force=true
diff --git a/.github/workflows/maven-on-demand.yaml 
b/.github/workflows/maven-on-demand.yaml
index 0315ed3..3cf9b7a 100644
--- a/.github/workflows/maven-on-demand.yaml
+++ b/.github/workflows/maven-on-demand.yaml
@@ -57,7 +57,6 @@ on:
 jobs:
   mvn:
 name: mvn (triggered by ${{ github.event.sender.login }})
-timeout-minutes: 360
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
@@ -78,6 +77,7 @@ jobs:
 - name: Show the first log message
   run: git log -n1
 - name: Build with Maven
+  timeout-minutes: 345
   run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ 
github.event.inputs.mvnOpts }} ${{ github.event.inputs.goals }} ${{ 
github.event.inputs.utOpts }} ${{ github.event.inputs.itOpts }} ${{ 
github.event.inputs.addOpts }}
   env:
 MAVEN_OPTS: -Djansi.force=true
diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
index 09839b9..d2d49e4 100644
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@ -32,7 +32,6 @@ on:
 jobs:
   # fast build to populate the local maven repository cache
   fastbuild:
-timeout-minutes: 20
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
@@ -51,6 +50,7 @@ jobs:
 - name: Show the first log message
   run: git log -n1
 - name: Build with Maven (Fast Build)
+  timeout-minutes: 20
   run: mvn -B -V -e -ntp "-Dstyle.color=always" clean package 
dependency:resolve -PskipQA
   env:
 MAVEN_OPTS: -Djansi.force=true
@@ -63,7 +63,6 @@ jobs:
   - {name: 'Hadoop2', args: 'verify javadoc:jar -DskipITs'}
   - {name: 'Hadoop3', args: 'verify javadoc:jar -DskipITs 
-Dhadoop.profile=3'}
   fail-fast: false
-timeout-minutes: 60
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
@@ -80,6 +79,7 @@ jobs:
 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
 restore-keys: ${{ runner.os }}-m2
 - name: Build with Maven (${{ matrix.profile.name }})
+  timeout-minutes: 60
   run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ matrix.profile.args }}
   env:
 MAVEN_OPTS: -Djansi.force=true


[accumulo] branch main updated (d68bab1 -> ebf743c)

2021-04-14 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 d68bab1  Temporarily disable reuseForks (partial revert of #2007)
 add 2d12640  Ensure that HostRegexTableLoadBalancer propery changes are 
picked up * When properties are set at the system level for the 
HostRegexTableLoadBalancer,   the changes are not picked up and requires the 
master to be restarted.  This   change ensures that the property changes are 
always picked up whenever balance   or getAssignments is called.
 add 30fd56e  Revert "Ensure that HostRegexTableLoadBalancer propery 
changes are picked up"
 new a3d5a29  Update GitHub Actions workflow timeouts
 new ebf743c  Merge branch '1.10'

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:
 .github/workflows/maven-full-its.yaml  | 4 ++--
 .github/workflows/maven-on-demand.yaml | 2 +-
 .github/workflows/maven.yaml   | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)


[accumulo] branch main updated: Temporarily disable reuseForks (partial revert of #2007)

2021-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 d68bab1  Temporarily disable reuseForks (partial revert of #2007)
d68bab1 is described below

commit d68bab12c1567f8559931e35f97cc8a61f2a1302
Author: Christopher Tubbs 
AuthorDate: Tue Apr 13 01:37:19 2021 -0400

Temporarily disable reuseForks (partial revert of #2007)

Set reuseForks=false for maven-surefire-plugin and remove
includes/excludes added to maven-surefire-plugin and
maven-failsafe-plugin as part of #2007 to avoid build failures.

These were originally implemented to speed up the build, and the
includes/excludes were implemented to force some tests that didn't
behave well in a reused fork to run in their own fork as an IT instead
of as a unit test. However, that breaks jar sealing and some tests are
hard to relocate to a different package without cascading impacts.

So, the workaround for these tests are disabled by default until a
workaround for those test failures can be addressed in a different way,
but can be manually re-enabled by setting the appropriate flag..
---
 pom.xml | 20 +---
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8501f39..f27895d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,7 +149,7 @@
 false
 1C
 
-true
+false
 
 3.0.0-M4
 
@@ -816,15 +816,6 @@
 ${surefire.forkCount}
 ${surefire.reuseForks}
 ${surefire.excludedGroups}
-
-
-  **/TableIdTest.java
-  **/HadoopCredentialProviderTest.java
-  **/IdleRatioScanPrioritizerTest.java
-  **/AssignmentWatcherTest.java
-  **/TestCfCqSlice.java
-  **/TestCfCqSliceSeekingFilter.java
-
 ${surefire.groups}
 
   ${project.build.directory}
@@ -840,15 +831,6 @@
 ${failsafe.reuseForks}
 ${failsafe.excludedGroups}
 ${failsafe.groups}
-
-
-  **/TableIdTest.java
-  **/HadoopCredentialProviderTest.java
-  **/IdleRatioScanPrioritizerTest.java
-  **/AssignmentWatcherTest.java
-  **/TestCfCqSlice.java
-  **/TestCfCqSliceSeekingFilter.java
-
 
   ${project.build.directory}
 


[accumulo] branch main updated: Use correct UGI for SetGoalState (#2014)

2021-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 11e258d  Use correct UGI for SetGoalState (#2014)
11e258d is described below

commit 11e258d4ad90b922699e22f1e4ee01c67fcddbc8
Author: sjyang18 <41694933+sjyan...@users.noreply.github.com>
AuthorDate: Mon Apr 12 22:24:58 2021 -0700

Use correct UGI for SetGoalState (#2014)

Call SecurityUtil.serverLogin(siteConfig) before ServerContext is created 
in order to
initialize HDFS connection with the correct UGI for SetGoalState
(this applies the same fix as appears in #1727 to the SetGoalState command)
---
 .../main/java/org/apache/accumulo/manager/state/SetGoalState.java| 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/state/SetGoalState.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/state/SetGoalState.java
index 5fb8bdf..c42a7f5 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/state/SetGoalState.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/state/SetGoalState.java
@@ -44,9 +44,10 @@ public class SetGoalState {
 }
 
 try {
-  var context = new ServerContext(SiteConfiguration.auto());
+  var siteConfig = SiteConfiguration.auto();
+  SecurityUtil.serverLogin(siteConfig);
+  var context = new ServerContext(siteConfig);
   RenameMasterDirInZK.renameMasterDirInZK(context);
-  SecurityUtil.serverLogin(context.getConfiguration());
   ServerUtil.waitForZookeeperAndHdfs(context);
   context.getZooReaderWriter().putPersistentData(
   context.getZooKeeperRoot() + Constants.ZMANAGER_GOAL_STATE, 
args[0].getBytes(UTF_8),


[accumulo-website] branch asf-site updated (1d4b480 -> 2e22d25)

2021-04-08 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 1d4b480  Automatic Site Publish by Buildbot
 add d68452d  Automatic Site Publish by Buildbot
 add 2e22d25  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/docs/2.x/getting-started/quickstart.html| 204 -
 .../troubleshooting/system-metadata-tables.html|   9 +-
 output/feed.xml|   4 +-
 output/search_data.json|   4 +-
 4 files changed, 128 insertions(+), 93 deletions(-)


  1   2   3   4   5   6   7   8   9   10   >