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

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

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

commit 8e309e987c8e565fa48ed82ac98e6990464ddbc3
Merge: 1e9ac21 bbe2de8
Author: Keith Turner 
AuthorDate: Thu Aug 5 18:53:24 2021 -0400

Merge branch '1.10' into main



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

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

commit 0a09c287e48485a4909fcdb5343db269898eec80
Merge: 51e18e2 05a4fc0
Author: Christopher Tubbs 
AuthorDate: Mon Mar 8 07:51:45 2021 -0500

Merge branch '1.10' into main




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

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

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

commit df85cfe6a51b2e2a025f7a6904910da4ac328e84
Merge: 675e41a 2dacbc3
Author: Christopher Tubbs 
AuthorDate: Thu Feb 4 09:25:15 2021 -0500

Merge branch '1.10' into main




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

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

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

commit bdcab448b5c4fb44118197615fe2e231816da01c
Merge: 9f549b2 0187567
Author: Brian Loss 
AuthorDate: Wed Jan 13 11:34:09 2021 -0500

Merge branch '1.10' into main

 .../apache/accumulo/fate/util/LoggingRunnable.java | 36 --
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --cc core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
index aafe45d,000..dfe1bf5
mode 100644,00..100644
--- a/core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
+++ b/core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
@@@ -1,56 -1,0 +1,72 @@@
 +/*
 + * 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.fate.util;
 +
 +import java.util.Date;
 +
 +import org.slf4j.Logger;
 +
 +public class LoggingRunnable implements Runnable {
 +  private Runnable runnable;
 +  private Logger log;
 +
 +  public LoggingRunnable(Logger log, Runnable r) {
 +this.runnable = r;
 +this.log = log;
 +  }
 +
 +  @Override
 +  public void run() {
 +try {
 +  runnable.run();
 +} catch (Throwable t) {
++  boolean errorOnRun = (t instanceof Error);
 +  try {
 +log.error("Thread \"{}\" died {}", Thread.currentThread().getName(), 
t.getMessage(), t);
 +  } catch (Throwable t2) {
- // maybe the logging system is screwed up OR there is a bug in the 
exception, like
- // t.getMessage() throws a NPE
- System.err.println(
- "ERROR " + new Date() + " Failed to log message about thread 
death " + t2.getMessage());
- t2.printStackTrace();
- 
- // try to print original exception
- System.err
- .println("ERROR " + new Date() + " Exception that failed to log : 
" + t.getMessage());
- t.printStackTrace();
++boolean errorOnLog = (t2 instanceof Error);
++try {
++  // maybe the logging system is screwed up OR there is a bug in the 
exception, like
++  // t.getMessage() throws a NPE
++  System.err.println("ERROR " + new Date() + " Failed to log message 
about thread death "
++  + t2.getMessage());
++  t2.printStackTrace();
++
++  // try to print original exception
++  System.err
++  .println("ERROR " + new Date() + " Exception that failed to log 
: " + t.getMessage());
++  t.printStackTrace();
++} catch (Throwable t3) {
++  // If printing to System.err didn't work then don't try to log that 
exception but do
++  // re-throw it if it's the most serious failure we've seen so far.
++  boolean errorOnPrint = (t3 instanceof Error);
++  if (errorOnPrint && !errorOnLog && !errorOnRun)
++throw t3;
++}
++
++// If we got a more serious failure when attempting to log the 
message,
++// then throw that instead of the original exception.
++if (errorOnLog && !errorOnRun)
++  throw t2;
 +  }
++  throw t;
 +}
 +  }
 +
 +}



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

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

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

commit 0f7b66dcf9391ed49c4b79d85227d1c0771b6ff1
Merge: 81e36d0 e6bba1c
Author: Brian Loss 
AuthorDate: Thu Jan 7 16:51:14 2021 -0500

Merge branch '1.10' into main




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

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

commit 658cd00f0448e48c942df21dc526049f33901f62
Merge: 9a7749f 6bf3f40
Author: Christopher Tubbs 
AuthorDate: Wed Dec 30 13:11:44 2020 -0500

Merge branch '1.10' into main

 .../org/apache/accumulo/master/replication/FinishedWorkUpdater.java   | 4 ++--
 .../accumulo/master/replication/RemoveCompleteReplicationRecords.java | 2 +-
 .../org/apache/accumulo/master/replication/ReplicationDriver.java | 2 +-
 .../main/java/org/apache/accumulo/master/replication/WorkDriver.java  | 2 +-
 .../main/java/org/apache/accumulo/master/replication/WorkMaker.java   | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --cc 
server/manager/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java
index 57e4118,000..0559b31
mode 100644,00..100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java
@@@ -1,189 -1,0 +1,189 @@@
 +/*
 + * 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.master.replication;
 +
 +import java.io.IOException;
 +import java.util.Collections;
 +import java.util.HashMap;
 +import java.util.Map;
 +import java.util.Map.Entry;
 +import java.util.SortedMap;
 +
 +import org.apache.accumulo.core.client.AccumuloClient;
 +import org.apache.accumulo.core.client.BatchScanner;
 +import org.apache.accumulo.core.client.BatchWriter;
 +import org.apache.accumulo.core.client.IteratorSetting;
 +import org.apache.accumulo.core.client.MutationsRejectedException;
 +import org.apache.accumulo.core.data.Key;
 +import org.apache.accumulo.core.data.Mutation;
 +import org.apache.accumulo.core.data.Range;
 +import org.apache.accumulo.core.data.TableId;
 +import org.apache.accumulo.core.data.Value;
 +import org.apache.accumulo.core.iterators.user.WholeRowIterator;
 +import org.apache.accumulo.core.protobuf.ProtobufUtil;
 +import org.apache.accumulo.core.replication.ReplicationSchema.StatusSection;
 +import org.apache.accumulo.core.replication.ReplicationSchema.WorkSection;
 +import org.apache.accumulo.core.replication.ReplicationTable;
 +import org.apache.accumulo.core.replication.ReplicationTableOfflineException;
 +import org.apache.accumulo.core.replication.ReplicationTarget;
 +import org.apache.accumulo.server.replication.StatusUtil;
 +import org.apache.accumulo.server.replication.proto.Replication.Status;
 +import org.apache.hadoop.io.Text;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +
 +import com.google.protobuf.InvalidProtocolBufferException;
 +
 +/**
 + * Update the status record in the replication table with work that has been 
replicated to each
 + * configured peer.
 + */
 +public class FinishedWorkUpdater implements Runnable {
 +  private static final Logger log = 
LoggerFactory.getLogger(FinishedWorkUpdater.class);
 +
 +  private final AccumuloClient client;
 +
 +  public FinishedWorkUpdater(AccumuloClient client) {
 +this.client = client;
 +  }
 +
 +  @Override
 +  public void run() {
- log.debug("Looking for finished replication work");
++log.trace("Looking for finished replication work");
 +
 +if (!ReplicationTable.isOnline(client)) {
-   log.debug("Replication table is not yet online, will retry");
++  log.trace("Replication table is not yet online, will retry");
 +  return;
 +}
 +
 +BatchScanner bs;
 +BatchWriter replBw;
 +try {
 +  bs = ReplicationTable.getBatchScanner(client, 4);
 +  replBw = ReplicationTable.getBatchWriter(client);
 +} catch (ReplicationTableOfflineException e) {
 +  log.debug("Table is no longer online, will retry");
 +  return;
 +}
 +
 +IteratorSetting cfg = new IteratorSetting(50, WholeRowIterator.class);
 +bs.addScanIterator(cfg);
 +WorkSection.limit(bs);
 +bs.setRanges(Collections.singleton(new Range()));
 +
 +try {
 +  for (Entry serializedRow : bs) {
 +SortedMap wholeRow;
 +try {
 +  wholeRow = 

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

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

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

commit 9a7749f397a410b8c8692d308ccb24ae499709b5
Merge: 20ac9fc 3e3b199
Author: Christopher Tubbs 
AuthorDate: Tue Dec 29 00:41:28 2020 -0500

Merge branch '1.10' into main

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




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

2020-12-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

commit 6ee740fd9dc034d19ab5781ac7813201d1c6c7a9
Merge: dc7277b cd8710a
Author: Christopher Tubbs 
AuthorDate: Tue Dec 22 14:22:09 2020 -0500

Merge branch '1.10' into main

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




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

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

commit 243e5771b03281c64115a625da83a20cd586adde
Merge: 185fc90 0773baa
Author: Christopher Tubbs 
AuthorDate: Wed Dec 16 23:23:29 2020 -0500

Merge branch '1.10' into main

 .../accumulo/test/functional/GcMetricsIT.java  | 268 +++--
 .../accumulo/test/functional/MasterMetricsIT.java  |  11 +-
 .../accumulo/test/metrics/MetricsFileTailer.java   |  27 ++-
 .../resources/hadoop-metrics2-accumulo.properties  |   2 +-
 .../test/metrics/MetricsFileTailerTest.java|  49 ++--
 5 files changed, 133 insertions(+), 224 deletions(-)

diff --cc 
test/src/main/java/org/apache/accumulo/test/functional/GcMetricsIT.java
index 94884b4,120ac35..5d76a21
--- a/test/src/main/java/org/apache/accumulo/test/functional/GcMetricsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/GcMetricsIT.java
@@@ -18,7 -18,10 +18,9 @@@
   */
  package org.apache.accumulo.test.functional;
  
+ import static java.util.stream.Collectors.toMap;
  import static org.junit.Assert.assertTrue;
 -import static org.junit.Assume.assumeFalse;
+ import static org.junit.Assume.assumeTrue;
  
  import java.util.Collections;
  import java.util.Map;
@@@ -27,14 -30,14 +29,14 @@@ import java.util.TreeMap
  import java.util.concurrent.TimeUnit;
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
+ import java.util.stream.Stream;
  
- import org.apache.accumulo.core.client.Accumulo;
- import org.apache.accumulo.core.client.AccumuloClient;
  import org.apache.accumulo.core.conf.Property;
  import org.apache.accumulo.gc.metrics.GcMetrics;
 -import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
 +import org.apache.accumulo.miniclusterImpl.MiniAccumuloConfigImpl;
  import org.apache.accumulo.test.metrics.MetricsFileTailer;
  import org.apache.hadoop.conf.Configuration;
+ import org.junit.After;
  import org.junit.Before;
  import org.junit.Test;
  import org.slf4j.Logger;
@@@ -73,137 -70,38 +69,36 @@@ public class GcMetricsIT extends Config
  return 4 * 60;
}
  
-   @Test
-   public void gcMetricsPublished() throws InterruptedException {
- boolean gcMetricsEnabled =
- 
cluster.getSiteConfiguration().getBoolean(Property.GC_METRICS_ENABLED);
- 
- if (!gcMetricsEnabled) {
-   log.info("gc metrics are disabled with GC_METRICS_ENABLED=true");
-   return;
- }
- 
- log.debug("Client started, properties:{}", accumuloClient.properties());
- 
- MetricsFileTailer gcTail = new MetricsFileTailer("accumulo.sink.file-gc");
- Thread t1 = new Thread(gcTail);
- t1.start();
- 
- // uncomment for manual jmx / jconsole validation - not for automated 
testing
- // Thread.sleep(320_000);
- 
- try {
- 
-   var updateTimestamp = System.currentTimeMillis();
+   private final MetricsFileTailer gcTail = new 
MetricsFileTailer("accumulo.sink.file-gc");
  
-   // Get next update after current time
-   LineUpdate firstUpdate = waitForUpdate(updateTimestamp, gcTail);
- 
-   Map firstSeenMap = parseLine(firstUpdate.getLine());
- 
-   log.debug("L:{}", firstUpdate.getLine());
-   log.debug("M:{}", firstSeenMap);
- 
-   assertTrue(lookForExpectedKeys(firstSeenMap));
-   sanity(updateTimestamp, firstSeenMap);
- 
-   // Get next update after the first one
-   updateTimestamp = firstUpdate.getLastUpdate();
-   LineUpdate nextUpdate = waitForUpdate(updateTimestamp, gcTail);
- 
-   Map updateSeenMap = parseLine(nextUpdate.getLine());
- 
-   log.debug("Line received:{}", nextUpdate.getLine());
-   log.debug("Mapped values:{}", updateSeenMap);
- 
-   assertTrue(lookForExpectedKeys(updateSeenMap));
-   sanity(updateTimestamp, updateSeenMap);
- 
-   validate(firstSeenMap, updateSeenMap);
- 
- } catch (Exception ex) {
-   log.debug("reads", ex);
- }
+   @Before
+   public void startTailer() {
+ gcTail.startDaemonThread();
}
  
-   /**
-* Validate metrics for consistency withing a run cycle.
-*
-* @param values
-*  map of values from one run cycle.
-*/
-   private void sanity(final long testStart, final Map values) {
- 
- long start = values.get("AccGcStarted");
- long finished = values.get("AccGcFinished");
- 
- log.debug("test start: {}, gc start: {}, gc finished: {}", testStart, 
start, finished);
- 
- assertTrue(start >= testStart);
- assertTrue(finished >= start);
- 
- start = values.get("AccGcWalStarted");
- finished = values.get("AccGcWalFinished");
- 
- log.debug("test start: {}, walgc start: {}, walgc finished: {}", 
testStart, start, finished);
- 
- assertTrue(start >= testStart);
- assertTrue(finished >= start);
- 
+   @After
+   public void stopTailer() {
+ gcTail.close();
}
  
-   /**
-* A series of sanity checks for the metrics 

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

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

commit 357c54c677b662497f4d417de88e14a38fe18c7a
Merge: 1750cd7 d4fd27f
Author: Christopher Tubbs 
AuthorDate: Tue Dec 15 14:30:06 2020 -0500

Merge branch '1.10' into main

 .../org/apache/accumulo/core/util/UnsynchronizedBufferTest.java | 6 +++---
 core/src/test/java/org/apache/accumulo/fate/util/RetryTest.java | 5 ++---
 .../src/test/java/org/apache/accumulo/tserver/InMemoryMapTest.java  | 4 ++--
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --cc 
core/src/test/java/org/apache/accumulo/core/util/UnsynchronizedBufferTest.java
index 93c2b89,b842f3c..2d44494
--- 
a/core/src/test/java/org/apache/accumulo/core/util/UnsynchronizedBufferTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/util/UnsynchronizedBufferTest.java
@@@ -52,10 -50,11 +52,10 @@@ public class UnsynchronizedBufferTest 
  assertEquals("34567", new String(buf, UTF_8));
  
  buf = new byte[6];
 -
 +// the byte buffer has the extra byte, but should not be able to read 
it...
- final UnsynchronizedBuffer.Reader ub2 = ub;
- final byte[] buf2 = buf;
- assertThrows(ArrayIndexOutOfBoundsException.class, () -> 
ub2.readBytes(buf2));
+ final UnsynchronizedBuffer.Reader finalUb = ub;
+ final byte[] finalBuf = buf;
 -assertThrows("the byte buffer has the extra byte, but should not be able 
to read it",
 -ArrayIndexOutOfBoundsException.class, () -> 
finalUb.readBytes(finalBuf));
++assertThrows(ArrayIndexOutOfBoundsException.class, () -> 
finalUb.readBytes(finalBuf));
}
  
@Test
diff --cc core/src/test/java/org/apache/accumulo/fate/util/RetryTest.java
index 745d268,000..72e3c9b
mode 100644,00..100644
--- a/core/src/test/java/org/apache/accumulo/fate/util/RetryTest.java
+++ b/core/src/test/java/org/apache/accumulo/fate/util/RetryTest.java
@@@ -1,331 -1,0 +1,330 @@@
 +/*
 + * 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.fate.util;
 +
 +import static java.util.concurrent.TimeUnit.DAYS;
 +import static java.util.concurrent.TimeUnit.HOURS;
 +import static java.util.concurrent.TimeUnit.MILLISECONDS;
 +import static java.util.concurrent.TimeUnit.MINUTES;
 +import static java.util.concurrent.TimeUnit.NANOSECONDS;
 +import static org.junit.Assert.assertEquals;
 +import static org.junit.Assert.assertFalse;
 +import static org.junit.Assert.assertThrows;
 +import static org.junit.Assert.assertTrue;
 +
 +import java.util.concurrent.TimeUnit;
 +
 +import org.apache.accumulo.fate.util.Retry.NeedsLogInterval;
 +import org.apache.accumulo.fate.util.Retry.NeedsMaxWait;
 +import org.apache.accumulo.fate.util.Retry.NeedsRetries;
 +import org.apache.accumulo.fate.util.Retry.NeedsRetryDelay;
 +import org.apache.accumulo.fate.util.Retry.NeedsTimeIncrement;
 +import org.apache.accumulo.fate.util.Retry.RetryFactory;
 +import org.easymock.EasyMock;
 +import org.junit.Before;
 +import org.junit.Test;
 +import org.slf4j.Logger;
 +
 +public class RetryTest {
 +
 +  private Retry retry;
 +  private static final long INITIAL_WAIT = 1000;
 +  private static final long WAIT_INC = 1000;
 +  private static final double BACKOFF_FACTOR = 1.0;
 +  private static final long MAX_RETRIES = 5;
 +  private static final long LOG_INTERVAL = 1000;
 +  private Retry unlimitedRetry;
 +  private static final TimeUnit MS = MILLISECONDS;
 +
 +  @Before
 +  public void setup() {
 +retry = Retry.builder().maxRetries(MAX_RETRIES).retryAfter(INITIAL_WAIT, 
MS)
 +.incrementBy(WAIT_INC, MS).maxWait(MAX_RETRIES * WAIT_INC, 
MS).backOffFactor(BACKOFF_FACTOR)
 +.logInterval(LOG_INTERVAL, MS).createRetry();
 +unlimitedRetry = 
Retry.builder().infiniteRetries().retryAfter(INITIAL_WAIT, MS)
 +.incrementBy(WAIT_INC, MS).maxWait(MAX_RETRIES * WAIT_INC, 
MS).backOffFactor(BACKOFF_FACTOR)
 +.logInterval(LOG_INTERVAL, MS).createRetry();
 +  }
 +
 +  @Test
 +  public void canRetryDoesntAlterState() {
 +for (int i = 0; i < MAX_RETRIES + 1; i++) {
 +  assertTrue(retry.canRetry());
 +}
 +  }
 +
 +  @Test
 +  

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

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

commit 848c60a324cf127393438fc4a0302028f9c154b4
Merge: 3b23f6a 56142a8
Author: Christopher Tubbs 
AuthorDate: Wed Dec 9 11:49:34 2020 -0500

Merge branch '1.10' into main




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

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

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

commit 27ea8a1e21428eb8c0d0fe8eb4bf5241015a8721
Merge: 0cd52e9 7e2e09e
Author: Christopher Tubbs 
AuthorDate: Thu Nov 26 14:14:27 2020 -0500

Merge branch '1.10' into main

 pom.xml | 1 -
 1 file changed, 1 deletion(-)

diff --cc pom.xml
index 8dd884d,6606c0f..b0b4497
--- a/pom.xml
+++ b/pom.xml
@@@ -1342,9 -1066,9 +1342,8 @@@
  true
  true
  true
- true
  true
  true
 -true
  true
  true
  true



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

2020-11-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

commit 0cd52e9854f9972550f2bb494697d39c1cd5665e
Merge: f279ae8 64e01c8
Author: Christopher Tubbs 
AuthorDate: Wed Nov 25 11:58:17 2020 -0500

Merge branch '1.10' into main

 pom.xml | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)




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

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

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

commit c4e47bab9d86eca894317efcb19fa11e6225425f
Merge: 353c611 51dde75
Author: Christopher Tubbs 
AuthorDate: Wed Oct 28 12:57:21 2020 -0400

Merge branch '1.10' into main

 .github/workflows/maven.yaml  |  2 +-
 minicluster/pom.xml   | 13 +
 pom.xml   | 18 --
 test/src/test/scripts/run-test.sh |  2 +-
 4 files changed, 31 insertions(+), 4 deletions(-)

diff --cc .github/workflows/maven.yaml
index 279fade,09839b9..c14acb8
--- a/.github/workflows/maven.yaml
+++ b/.github/workflows/maven.yaml
@@@ -60,9 -60,8 +60,9 @@@ jobs
  strategy:
matrix:
  profile:
-   - {name: 'unit-tests',args: 'verify -PskipQA -DskipTests=false 
-DforkCount=1C'}
 -  - {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=true -Dspotbugs.timeout=360'}
 +  - {name: 'hadoop-compat', args: 'package -DskipTests 
-Dhadoop.version=3.0.3'}
fail-fast: false
  timeout-minutes: 60
  runs-on: ubuntu-latest
diff --cc pom.xml
index f067b23,a794f6c..ba39330
--- a/pom.xml
+++ b/pom.xml
@@@ -122,21 -122,20 +122,20 @@@
  
  
${project.parent.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml
  
+ 1
  
- 
- 1
 -
 -14.0.1
 -2.6.5
 +3.2.1
 +2.6.1
  4.1.0-incubating
 -3.1.0-incubating
 +3.2.0-incubating
  false
 -
 -9.2.26.v20180806
 -8
 -1.8
 -1.8
 -3.5.0
 +3.0.1-b06
 +2.3.0.1
 +2.30.1
 +9.4.27.v20200227
 +11
 +11
 +11
  
  
true
  2.0.7
@@@ -1607,25 -1368,42 +1609,37 @@@
  
src/main/spotbugs/exclude-filter.xml

  
 -
  
 -  hadoop-default
 -  
 -
 -  !hadoop.profile
 -
 -  
 -  
 -2
 -  
 -
 -
 -
 -  hadoop3
 -  
 -
 -  hadoop.profile
 -  3
 -
 -  
 -  
 -3.0.3
 -  
 +  sec-bugs
 +  
 +
 +  
 +com.github.spotbugs
 +spotbugs-maven-plugin
 +
 +  
 +
 +  com.h3xstream.findsecbugs
 +  findsecbugs-plugin
 +  1.8.0
 +
 +  
 +
 +  
 +
 +  
  
+ 
+   forkCount
+   
+ 
+   forkCount
+ 
+   
+   
+ ${forkCount}
+ ${forkCount}
+   
+ 

  



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

2020-10-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

commit 0dd13dd38022414500dbb4b379f5eabed4c62e22
Merge: 5c365f9 2ef1477
Author: Christopher Tubbs 
AuthorDate: Thu Oct 15 13:33:30 2020 -0400

Merge branch '1.10' into main

No change in main branch




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

2020-10-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 75b19431a1b5e3573a9a54d3874d745f100d3297
Merge: 3dae7d3 ecfa294
Author: Christopher Tubbs 
AuthorDate: Wed Oct 14 15:08:13 2020 -0400

Merge branch '1.10' into main

 assemble/bin/accumulo-util | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --cc assemble/bin/accumulo-util
index b0533c1,000..0280999
mode 100755,00..100755
--- a/assemble/bin/accumulo-util
+++ b/assemble/bin/accumulo-util
@@@ -1,220 -1,0 +1,220 @@@
 +#! /usr/bin/env bash
 +#
 +# Licensed to the Apache Software Foundation (ASF) under one
 +# or more contributor license agreements.  See the NOTICE file
 +# distributed with this work for additional information
 +# regarding copyright ownership.  The ASF licenses this file
 +# to you under the Apache License, Version 2.0 (the
 +# "License"); you may not use this file except in compliance
 +# with the License.  You may obtain a copy of the License at
 +#
 +#   http://www.apache.org/licenses/LICENSE-2.0
 +#
 +# Unless required by applicable law or agreed to in writing,
 +# software distributed under the License is distributed on an
 +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 +# KIND, either express or implied.  See the License for the
 +# specific language governing permissions and limitations
 +# under the License.
 +#
 +
 +function print_usage {
 +  cat < ( ...)
 +
 +Commands:
 +  build-nativeBuilds Accumulo native libraries
 +  dump-zooDumps data in ZooKeeper
 +  gen-monitor-certGenerates Accumulo monitor certficate
 +  load-jars-hdfs  Loads Accumulo jars in lib/ to HDFS for VFS classloader
 +  
 +EOF
 +  exit 1
 +}
 +
 +function build_native() {
 +  final_native_target="$basedir/lib/native"
 +  if [[ -f "$final_native_target/libaccumulo.so" ]] || [[ -f 
"$final_native_target/libaccumulo.dylib" ]]; then
 +echo "Accumulo native library already exists in $final_native_target"
 +exit 0
 +  fi
 +
 +  native_tarballs=("$basedir"/lib/accumulo-native-*.tar.gz)
 +  if (( ${#native_tarballs[@]} > 1 )); then
 +echo "Found multiple native tar.gz files: ${native_tarballs[*]}"
 +exit 1
 +  fi
 +
 +  if [[ ! -f ${native_tarballs[0]} ]]; then
 +echo "Could not find native code artifact: ${native_tarballs[0]}" 1>&2
 +exit 1
 +  fi
 +
 +  # Make the destination for the native library
 +  mkdir -p "${final_native_target}" || exit 1
 +
 +  # Make a directory for us to unpack the native source into
-   TMP_DIR=$(mktemp -d /tmp/accumulo-native.) || exit 1
++  TMP_DIR=$(mktemp -d /tmp/accumulo-native.XX) || exit 1
 +
 +  # Unpack the tarball to our temp directory
 +  if ! tar xf "${native_tarballs[0]}" -C "${TMP_DIR}"
 +  then
 +  echo "Failed to unpack native tarball to ${TMP_DIR}"
 +  exit 1
 +  fi
 +
 +  # Move to the first (only) directory in our unpacked tarball
 +  native_dir=$(find "${TMP_DIR}" -maxdepth 1 -mindepth 1 -type d)
 +
 +  cd "${native_dir}" || exit 1
 +
 +  # Make the native library
 +  export USERFLAGS="$*"
 +  make || { echo 'Make failed!'; exit 1; }
 +
 +  # "install" the artifact
 +  cp libaccumulo.* "${final_native_target}" || exit 1
 +
 +  # Clean up our temp directory
 +  rm -rf "${TMP_DIR}"
 +
 +  echo "Successfully installed native library"
 +}
 +
 +function gen_monitor_cert() {
 +  if [[ -z "$JAVA_HOME" || ! -d "$JAVA_HOME" ]]; then
 +echo "JAVA_HOME=${JAVA_HOME} must be set and exist"
 +exit 1
 +  fi
 +
 +  ALIAS="default"
 +  KEYPASS=$(LC_CTYPE=C tr -dc '#-~' < /dev/urandom | tr -d '<>&' | head -c 20)
 +  STOREPASS=$(LC_CTYPE=C tr -dc '#-~' < /dev/urandom | tr -d '<>&' | head -c 
20)
 +  KEYSTOREPATH="${conf}/keystore.jks"
 +  TRUSTSTOREPATH="${conf}/cacerts.jks"
 +  CERTPATH="${conf}/server.cer"
 +
 +  if [[ -e "$KEYSTOREPATH" ]]; then
 + rm -i "$KEYSTOREPATH"
 + if [[ -e "$KEYSTOREPATH" ]]; then
 +echo "KeyStore already exists, exiting"
 +exit 1
 + fi
 +  fi
 +  if [[ -e "$TRUSTSTOREPATH" ]]; then
 + rm -i "$TRUSTSTOREPATH"
 + if [[ -e "$TRUSTSTOREPATH" ]]; then
 +echo "TrustStore already exists, exiting"
 +exit 2
 + fi
 +  fi
 +  if [[ -e "$CERTPATH" ]]; then
 + rm -i "$CERTPATH"
 + if [[ -e "$CERTPATH" ]]; then
 +echo "Certificate already exists, exiting"
 +exit 3
 +fi
 +  fi
 +
 +  "${JAVA_HOME}/bin/keytool" -genkey -alias "$ALIAS" -keyalg RSA -keypass 
"$KEYPASS" -storepass "$KEYPASS" -keystore "$KEYSTOREPATH"
 +  "${JAVA_HOME}/bin/keytool" -export -alias "$ALIAS" -storepass "$KEYPASS" 
-file "$CERTPATH" -keystore "$KEYSTOREPATH"
 +  "${JAVA_HOME}/bin/keytool" -import -v -trustcacerts -alias "$ALIAS" -file 
"$CERTPATH" -keystore "$TRUSTSTOREPATH" -storepass "$STOREPASS" <<< "yes"
 +
 +  echo
 +  echo "keystore and truststore generated.  now add the following to 
accumulo.properties:"
 +  echo
 +  echo 

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

2020-10-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

commit 70a73b1aa8ac435a87aeb1fd2c8daf46b176c204
Merge: f1f7812 1a801bd
Author: Christopher Tubbs 
AuthorDate: Fri Oct 9 16:37:47 2020 -0400

Merge branch '1.10' into main




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

2020-10-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

commit f1f7812fbd7872282998ce2d460fa8966cd99c39
Merge: 542dfd5 64372ba
Author: Christopher Tubbs 
AuthorDate: Fri Oct 9 16:20:47 2020 -0400

Merge branch '1.10' into main




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

2020-10-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

commit 542dfd5d6daac813ac8efe6681c91b345b521dbd
Merge: 9b537ca 49b7cd6
Author: Christopher Tubbs 
AuthorDate: Fri Oct 9 16:15:48 2020 -0400

Merge branch '1.10' into main

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




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

2020-10-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

commit 80ee9ca8092dc4bf07aa1a046d6e668f0e16300e
Merge: 6281a33 314f2aa
Author: Christopher Tubbs 
AuthorDate: Wed Oct 7 13:21:46 2020 -0400

Merge branch '1.10' into main

 assemble/build.sh | 157 +++---
 pom.xml   |   6 +--
 2 files changed, 116 insertions(+), 47 deletions(-)

diff --cc pom.xml
index 3f62ad3,84101f1..8f7f1b1
--- a/pom.xml
+++ b/pom.xml
@@@ -118,11 -118,9 +118,9 @@@
  
  1.66
  
 -2.11.0
 +4.3.0
  
  
${project.parent.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml
- 
- 
  
  
  
@@@ -941,12 -683,12 +939,12 @@@
org.apache.maven.plugins
maven-release-plugin

- -P !autoformat,thrift,sunny -Dtimeout.factor=2 
${extraReleaseArguments}
+ -P !autoformat,thrift -DskipTests
  true
  clean deploy
- clean verify
+ clean package
  rel/@{project.version}
 -
apache-release,accumulo-release,skip-plugin-its-with-skipTests
 +apache-release,accumulo-release
  false
  false
  true



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

2020-09-29 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 550b494418024b7ff23a1a6cd78d25192c903fd3
Merge: eecdd59 9a65fe0
Author: Christopher Tubbs 
AuthorDate: Tue Sep 29 16:11:07 2020 -0400

Merge branch '1.10' into main




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

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

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

commit b3cc58a5a39a8125f30a71f2d6cb4828dc980762
Merge: 21c7a0b c21396d
Author: Christopher Tubbs 
AuthorDate: Mon Sep 28 17:24:45 2020 -0400

Merge branch '1.10' into main




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

2020-09-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 90b9cacb5bd5b6dc15c7000475e10e55007094a5
Merge: c997ab7 8ff6765
Author: Christopher Tubbs 
AuthorDate: Wed Sep 2 22:30:12 2020 -0400

Merge branch '1.10' into main

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

diff --cc pom.xml
index 371e8e8,dd8397e..83880e3
--- a/pom.xml
+++ b/pom.xml
@@@ -143,10 -143,10 +143,10 @@@
  
true
  2.0.7
  
- 
2020-08-18T00:00:00Z
+ 
2020-08-27T15:56:15Z
  
  false
 -1.7.25
 +1.7.30
  
source-release-tar
  
  false



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

2020-09-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

commit c997ab7017c6d03bed7f02384f09b41e97ff2b06
Merge: 72e8bc4 c03d770
Author: Christopher Tubbs 
AuthorDate: Tue Sep 1 13:50:21 2020 -0400

Merge branch '1.10' into main

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




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

2020-08-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

commit 3a6a94618efb11765f954d689c1ed641ea785435
Merge: 677f460 cfb33e1
Author: Christopher Tubbs 
AuthorDate: Thu Aug 27 10:07:51 2020 -0400

Merge branch '1.10' into main

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




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

2020-08-24 Thread mmiller
This is an automated email from the ASF dual-hosted git repository.

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

commit 677f46040aad0a81862378c1099a6cf33cb59cf2
Merge: 0702e08 a6cbf09
Author: Mike Miller 
AuthorDate: Mon Aug 24 14:54:31 2020 -0400

Merge branch '1.10' into main

 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --cc pom.xml
index 224aeca,7a5d566..4df5105
--- a/pom.xml
+++ b/pom.xml
@@@ -116,9 -116,9 +116,9 @@@
  
  ${project.version}
  
- 1.64
+ 1.66
  
 -2.11.0
 +4.3.0
  
  
${project.parent.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml
  
@@@ -127,21 -127,21 +127,21 @@@
  
  
  1
 -
 -14.0.1
 -2.6.5
 +3.2.1
 +2.6.1
  4.1.0-incubating
 -3.1.0-incubating
 +3.2.0-incubating
  false
 -
 -9.2.26.v20180806
 -8
 -1.8
 -1.8
 -3.5.0
 +3.0.1-b06
 +2.3.0.1
 +2.30.1
 +9.4.27.v20200227
 +11
 +11
 +11
  
  
true
- 2.0.5
+ 2.0.7
  
  
2020-08-18T00:00:00Z
  



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

2020-08-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 0702e08645d94a2ebae829ba2c8f2588177799a6
Merge: 47d7b70 f80843e
Author: Christopher Tubbs 
AuthorDate: Fri Aug 21 11:27:39 2020 -0400

Merge branch '1.10' into main

 .../main/java/org/apache/accumulo/test/BalanceWithOfflineTableIT.java | 4 ++--
 test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java  | 2 +-
 test/src/main/java/org/apache/accumulo/test/LocatorIT.java| 2 +-
 test/src/main/java/org/apache/accumulo/test/ScanFlushWithTimeIT.java  | 2 +-
 .../java/org/apache/accumulo/test/TableConfigurationUpdateIT.java | 2 +-
 .../src/main/java/org/apache/accumulo/test/TabletServerGivesUpIT.java | 2 +-
 .../org/apache/accumulo/test/TracerRecoversAfterOfflineTableIT.java   | 2 +-
 test/src/main/java/org/apache/accumulo/test/VolumeChooserIT.java  | 2 +-
 8 files changed, 9 insertions(+), 9 deletions(-)

diff --cc 
test/src/main/java/org/apache/accumulo/test/BalanceWithOfflineTableIT.java
index 9010deb,ba458f3..4dd8ebe
--- a/test/src/main/java/org/apache/accumulo/test/BalanceWithOfflineTableIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/BalanceWithOfflineTableIT.java
@@@ -49,41 -47,43 +49,41 @@@ public class BalanceWithOfflineTableIT 
  final String tableName = tableNames[0];
  // create a table with a bunch of splits
  
 -final Connector c = getConnector();
 -log.info("Creating table " + tableName);
 -c.tableOperations().create(tableName);
 -final SortedSet splits = new TreeSet<>();
 -for (String split : 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(",")) {
 -  splits.add(new Text(split));
 -}
 -log.info("Splitting table " + tableName);
 -c.tableOperations().addSplits(tableName, splits);
 -log.info("Balancing");
 -c.instanceOperations().waitForBalance();
 -log.info("Balanced");
 +try (AccumuloClient c = 
Accumulo.newClient().from(getClientProperties()).build()) {
 +  log.info("Creating table {}", tableName);
 +  c.tableOperations().create(tableName);
 +  final SortedSet splits = new TreeSet<>();
 +  for (String split : 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(",")) {
 +splits.add(new Text(split));
 +  }
 +  log.info("Splitting table {}", tableName);
 +  c.tableOperations().addSplits(tableName, splits);
 +  log.info("Balancing");
 +  c.instanceOperations().waitForBalance();
 +  log.info("Balanced");
  
 -// create a new table which will unbalance the cluster
 -final String table2 = tableNames[1];
 -log.info("Creating table " + table2);
 -c.tableOperations().create(table2);
 -log.info("Creating splits " + table2);
 -c.tableOperations().addSplits(table2, splits);
 +  // create a new table which will unbalance the cluster
 +  final String table2 = tableNames[1];
 +  log.info("Creating table {}", table2);
 +  c.tableOperations().create(table2);
 +  log.info("Creating splits {}", table2);
 +  c.tableOperations().addSplits(table2, splits);
  
 -// offline the table, hopefully while there are some migrations going on
 -log.info("Offlining " + table2);
 -c.tableOperations().offline(table2, true);
 -log.info("Offlined " + table2);
 +  // offline the table, hopefully while there are some migrations going on
 +  log.info("Offlining {}", table2);
 +  c.tableOperations().offline(table2, true);
 +  log.info("Offlined {}", table2);
  
 -log.info("Waiting for balance");
 +  log.info("Waiting for balance");
  
 -SimpleThreadPool pool = new SimpleThreadPool(1, "waitForBalance");
 -Future wait = pool.submit(new Callable() {
 -  @Override
 -  public Boolean call() throws Exception {
 +  SimpleThreadPool pool = new SimpleThreadPool(1, "waitForBalance");
 +  Future wait = pool.submit(() -> {
  c.instanceOperations().waitForBalance();
  return true;
 -  }
 -});
 -wait.get((2 * defaultTimeoutSeconds()) / 3, TimeUnit.SECONDS);
 -log.info("Balance succeeded with an offline table");
 +  });
-   wait.get(20, TimeUnit.SECONDS);
++  wait.get((2 * defaultTimeoutSeconds()) / 3, TimeUnit.SECONDS);
 +  log.info("Balance succeeded with an offline table");
 +}
}
  
  }
diff --cc test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
index dbbdb5d,67a22a6..b409430
--- a/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ConditionalWriterIT.java
@@@ -114,27 -114,16 +114,27 @@@ public class ConditionalWriterIT extend
  
@Override
protected int defaultTimeoutSeconds() {
- return 60;
+ return 120;
}
  
 -  @Override
 -  public void configureMiniCluster(MiniAccumuloConfigImpl cfg, Configuration 
hadoopCoreSite) {
 -

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

2020-08-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

commit 47d7b708cf14b9d935a889c1082e211075338ed1
Merge: 0c5bc31 dab5b80
Author: Christopher Tubbs 
AuthorDate: Thu Aug 20 18:38:46 2020 -0400

Merge branch '1.10' into main

 pom.xml| 19 ++--
 .../replication/CloseWriteAheadLogReferences.java  | 27 
 .../RemoveCompleteReplicationRecords.java  | 12 
 .../apache/accumulo/test/functional/ScannerIT.java | 36 --
 4 files changed, 34 insertions(+), 60 deletions(-)

diff --cc pom.xml
index aec76ba,5f1fae3..224aeca
--- a/pom.xml
+++ b/pom.xml
@@@ -127,24 -127,26 +127,26 @@@
  
  
  1
 -
 -14.0.1
 -2.6.5
 +3.2.1
 +2.6.1
  4.1.0-incubating
 -3.1.0-incubating
 +3.2.0-incubating
  false
 -
 -9.2.26.v20180806
 -8
 -1.8
 -1.8
 -3.5.0
 +3.0.1-b06
 +2.3.0.1
 +2.30.1
 +9.4.27.v20200227
 +11
 +11
 +11
  
  
true
 -2.0.2
 +2.0.5
+ 
+ 
2020-08-18T00:00:00Z
  
  false
 -1.7.25
 +1.7.30
  
source-release-tar
  
  false
diff --cc 
server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
index 7f5a7c4,5dd25a1..479618f
--- 
a/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
+++ 
b/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java
@@@ -18,8 -16,10 +18,9 @@@
   */
  package org.apache.accumulo.gc.replication;
  
+ import java.time.Duration;
  import java.util.Collections;
  import java.util.HashSet;
 -import java.util.List;
  import java.util.Map.Entry;
  import java.util.Set;
  
@@@ -76,36 -83,49 +76,35 @@@ public class CloseWriteAheadLogReferenc
  
@Override
public void run() {
- // As long as we depend on a newer Guava than Hadoop uses, we have to 
make sure we're compatible
- // with
- // what the version they bundle uses.
- Stopwatch sw = Stopwatch.createUnstarted();
 -// Guava Stopwatch is useful here, for a friendlier toString, but the 
version of Guava in Hadoop
 -// 2 and 3 are different in incompatible ways, so we avoid it here and 
use Duration instead, so
 -// there won't be conflicts with the older Guava that ships by default 
with Hadoop 2.
++// Guava Stopwatch is useful here, for a friendlier toString, but the 
versions of Guava
++// are different in incompatible ways, so we avoid it here and use 
Duration instead, so
++// there won't be conflicts.
+ long startTime;
+ Duration duration;
  
 -Connector conn;
 -try {
 -  conn = context.getConnector();
 -} catch (Exception e) {
 -  log.error("Could not create connector", e);
 -  throw new RuntimeException(e);
 -}
 -
 -if (!ReplicationTable.isOnline(conn)) {
 +if (!ReplicationTable.isOnline(context)) {
log.debug("Replication table isn't online, not attempting to clean up 
wals");
return;
  }
  
 -Span findWalsSpan = Trace.start("findReferencedWals");
  HashSet closed = null;
 -try {
 +try (TraceScope findWalsSpan = Trace.startSpan("findReferencedWals")) {
-   sw.start();
+   startTime = System.nanoTime();
 -  closed = getClosedLogs(conn);
 +  closed = getClosedLogs();
- } finally {
-   sw.stop();
+   duration = Duration.ofNanos(System.nanoTime() - startTime);
 -} finally {
 -  findWalsSpan.stop();
  }
  
- log.info("Found {} WALs referenced in metadata in {}", closed.size(), sw);
- sw.reset();
 -log.info("Found " + closed.size() + " WALs referenced in metadata in " + 
duration);
++log.info("Found {} WALs referenced in metadata in {}", closed.size(), 
duration);
  
 -Span updateReplicationSpan = Trace.start("updateReplicationTable");
  long recordsClosed = 0;
 -try {
 +try (TraceScope updateReplicationSpan = 
Trace.startSpan("updateReplicationTable")) {
-   sw.start();
+   startTime = System.nanoTime();
 -  recordsClosed = updateReplicationEntries(conn, closed);
 +  recordsClosed = updateReplicationEntries(context, closed);
- } finally {
-   sw.stop();
+   duration = Duration.ofNanos(System.nanoTime() - startTime);
 -} finally {
 -  updateReplicationSpan.stop();
  }
  
- log.info("Closed {} WAL replication references in replication table in 
{}", recordsClosed, sw);
 -log.info("Closed " + recordsClosed + " WAL replication references in 
replication table in "
 -+ duration);
++log.info("Closed {} WAL replication references in replication table in 
{}", recordsClosed,
++duration);
}
  
/**
diff --cc 
server/manager/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java

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

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

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

commit 4cbff2aa1ac4cd32ac69838487b8810096049785
Merge: 61eb916 7a2d12e
Author: Christopher Tubbs 
AuthorDate: Mon Aug 17 14:05:45 2020 -0400

Merge branch '1.10' into main

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

diff --cc pom.xml
index 93f13d1,3b30cd8..aec76ba
--- a/pom.xml
+++ b/pom.xml
@@@ -235,11 -193,26 +235,11 @@@
  1.14


 -commons-collections
 -commons-collections
 -3.2.2
 -  
 -  
 -commons-configuration
 -commons-configuration
 -1.6
 -  
 -  
  commons-io
  commons-io
- 2.6
+ 2.7


 -commons-lang
 -commons-lang
 -2.6
 -  
 -  
  commons-logging
  commons-logging
  1.2



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

2020-08-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 61eb91632c04b592231a2af8dc45c0d3deafec64
Merge: 6844fde 92af87e
Author: Christopher Tubbs 
AuthorDate: Sun Aug 16 15:12:11 2020 -0400

Merge branch '1.10' into main

 .github/workflows/maven-on-demand.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



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

2020-08-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 6844fde30c3ee1b24bd4f2610da1ce89916fb391
Merge: 37fa85b 367a53e
Author: Christopher Tubbs 
AuthorDate: Sun Aug 16 15:06:20 2020 -0400

Merge branch '1.10' into main

 .github/workflows/maven-on-demand.yaml | 92 ++
 1 file changed, 92 insertions(+)



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

2020-08-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

commit 37fa85baf5a63392bd64e2afe4d63f809199b19c
Merge: d3afe5b 64dc5db
Author: Christopher Tubbs 
AuthorDate: Sat Aug 15 16:57:44 2020 -0400

Merge branch '1.10' into main




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

2020-08-14 Thread mmiller
This is an automated email from the ASF dual-hosted git repository.

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

commit d3afe5b394b9907126d7e841559ed99a9ed11f9f
Merge: e7cc0d3 7a01fb0
Author: Mike Miller 
AuthorDate: Fri Aug 14 15:38:20 2020 -0400

Merge branch '1.10' into main




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

2020-08-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

commit e7cc0d35717b099a38542a111bbd5be839302676
Merge: a165264 c581c43
Author: Christopher Tubbs 
AuthorDate: Thu Aug 13 21:05:30 2020 -0400

Merge branch '1.10' into main

 .../accumulo/iteratortest/IteratorTestInput.java   | 41 --
 .../iteratortest/testcases/DeepCopyTestCase.java   |  5 ++-
 .../testcases/IsolatedDeepCopiesTestCase.java  | 18 +-
 .../testcases/MultipleHasTopCalls.java |  3 +-
 .../iteratortest/testcases/ReSeekTestCase.java |  5 ++-
 .../iteratortest/testcases/YieldingTestCase.java   |  3 +-
 .../test/iterator/SummingCombinerTest.java | 10 +-
 7 files changed, 62 insertions(+), 23 deletions(-)

diff --cc 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestInput.java
index 05c42aa,32f0a87..5630f64
--- 
a/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestInput.java
+++ 
b/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestInput.java
@@@ -61,7 -62,31 +64,31 @@@ public class IteratorTestInput 
 */
public IteratorTestInput(Class> 
iteratorClass,
Map iteratorOptions, Range range, SortedMap 
input) {
- this(iteratorClass, iteratorOptions, range, input, 
Collections.emptySet(), false);
 -this(iteratorClass, iteratorOptions, range, input, 
Collections.emptySet(), false,
++this(iteratorClass, iteratorOptions, range, input, 
Collections.emptySet(), false,
+ new SimpleIteratorEnvironment());
+   }
+ 
+   /**
+* Construct an instance of the test input.
+*
+* @param iteratorClass
+*  The class for the iterator to test.
+* @param iteratorOptions
+*  Options, if any, to provide to the iterator ({@link 
IteratorSetting}'s Map of
+*  properties).
+* @param range
+*  The Range of data to query ({@link Scanner#setRange(Range)}). 
By default no column
+*  families filter is specified.
+* @param input
+*  A sorted collection of Key-Value pairs acting as the table.
+* @param iterEnv
+*  A provided {@link IteratorEnvironment}.
+*/
+   public IteratorTestInput(Class> 
iteratorClass,
+   Map iteratorOptions, Range range, SortedMap 
input,
+   IteratorEnvironment iterEnv) {
 -this(iteratorClass, iteratorOptions, range, input, 
Collections.emptySet(), false,
++this(iteratorClass, iteratorOptions, range, input, 
Collections.emptySet(), false,
+ requireNonNull(iterEnv));
}
  
/**
diff --cc 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/IsolatedDeepCopiesTestCase.java
index 98fea67,1cf199f..ba86ff8
--- 
a/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/IsolatedDeepCopiesTestCase.java
+++ 
b/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/IsolatedDeepCopiesTestCase.java
@@@ -52,10 -49,11 +52,11 @@@ public class IsolatedDeepCopiesTestCas
  final SortedKeyValueIterator source = 
IteratorTestUtil.createSource(testInput);
  
  try {
-   skvi.init(source, testInput.getIteratorOptions(), new 
SimpleIteratorEnvironment());
 -  IteratorEnvironment iteratorEnvironment = 
testInput.getIteratorEnvironment();
++  var iteratorEnvironment = testInput.getIteratorEnvironment();
+   skvi.init(source, testInput.getIteratorOptions(), iteratorEnvironment);
  
-   SortedKeyValueIterator copy1 = skvi.deepCopy(new 
SimpleIteratorEnvironment());
-   SortedKeyValueIterator copy2 = copy1.deepCopy(new 
SimpleIteratorEnvironment());
+   SortedKeyValueIterator copy1 = 
skvi.deepCopy(iteratorEnvironment);
+   SortedKeyValueIterator copy2 = 
copy1.deepCopy(iteratorEnvironment);
  
Range seekRange = testInput.getRange();
Collection seekColumnFamilies = testInput.getFamilies();
diff --cc 
iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/YieldingTestCase.java
index d2f2ef7,392770d..ea20b32
--- 
a/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/YieldingTestCase.java
+++ 
b/iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/testcases/YieldingTestCase.java
@@@ -46,10 -44,12 +45,10 @@@ public class YieldingTestCase extends O
  final SortedKeyValueIterator source = 
IteratorTestUtil.createSource(testInput);
  
  try {
-   skvi.init(source, testInput.getIteratorOptions(), new 
SimpleIteratorEnvironment());
+   skvi.init(source, testInput.getIteratorOptions(), 
testInput.getIteratorEnvironment());
  
YieldCallback yield = new YieldCallback<>();
 -  if (skvi instanceof YieldingKeyValueIterator) {
 -((YieldingKeyValueIterator) skvi).enableYielding(yield);
 -  }
 +