(accumulo) branch elasticity updated (b4db128dcd -> 0e3ed1d31f)

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

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


from b4db128dcd Remove coordinator from service status command (#4613)
 add 04f5aaf7c2 Improves log message for missing iterator class (#4591)
 add 38d9da710b Use micrometer noop classes for default meter 
initialization (#4542)
 add 510cfda7b6 Merge remote-tracking branch 'upstream/2.1'
 add 0e3ed1d31f Merge remote-tracking branch 'upstream/main' into elasticity

No new revisions were added by this update.

Summary of changes:
 .../server/metrics/NoOpDistributionSummary.java| 83 --
 .../accumulo/server/metrics/NoopMetrics.java   | 79 
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 ...butionSummaryTest.java => NoopMetricsTest.java} | 20 +-
 .../accumulo/server/metrics/ThriftMetricsTest.java |  3 +-
 .../apache/accumulo/tserver/ScanServerMetrics.java |  5 +-
 .../tserver/metrics/TabletServerMinCMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  9 +--
 .../tserver/metrics/TabletServerUpdateMetrics.java | 10 +--
 .../apache/accumulo/test/metrics/MetricsIT.java| 21 +++---
 10 files changed, 130 insertions(+), 109 deletions(-)
 delete mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoopMetrics.java
 rename 
server/base/src/test/java/org/apache/accumulo/server/metrics/{NoOpDistributionSummaryTest.java
 => NoopMetricsTest.java} (67%)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 510cfda7b69efc4491087d94e53db8cc645fd4e9
Merge: 7211081310 38d9da710b
Author: Ed Coleman 
AuthorDate: Tue May 28 23:30:24 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../server/metrics/NoOpDistributionSummary.java| 83 --
 .../accumulo/server/metrics/NoopMetrics.java   | 79 
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 ...butionSummaryTest.java => NoopMetricsTest.java} | 20 +-
 .../accumulo/server/metrics/ThriftMetricsTest.java |  3 +-
 .../apache/accumulo/tserver/ScanServerMetrics.java |  5 +-
 .../tserver/metrics/TabletServerMinCMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  9 +--
 .../tserver/metrics/TabletServerUpdateMetrics.java | 10 +--
 .../apache/accumulo/test/metrics/MetricsIT.java| 16 +++--
 10 files changed, 128 insertions(+), 106 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java
index 45cbdc6810,b56bc20b1a..46a3793861
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java
@@@ -35,9 -37,9 +36,9 @@@ import io.micrometer.core.instrument.bi
  
  public class ScanServerMetrics implements MetricsProducer {
  
-   private Timer totalReservationTimer;
-   private Timer writeOutReservationTimer;
+   private Timer totalReservationTimer = NoopMetrics.useNoopTimer();
+   private Timer writeOutReservationTimer = NoopMetrics.useNoopTimer();
 -  private Counter busyTimeoutCount = NoopMetrics.useNoopCounter();
 +  private final AtomicLong busyTimeoutCount = new AtomicLong(0);
private final AtomicLong reservationConflictCount = new AtomicLong(0);
  
private final LoadingCache tabletMetadataCache;
diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
index 5ca15c5c9b,c2c8dd0d32..ea246c1c72
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerScanMetrics.java
@@@ -24,10 -23,10 +24,10 @@@ import java.util.concurrent.atomic.Atom
  import java.util.concurrent.atomic.LongAdder;
  
  import org.apache.accumulo.core.metrics.MetricsProducer;
- import org.apache.accumulo.server.metrics.NoOpDistributionSummary;
+ import org.apache.accumulo.server.metrics.NoopMetrics;
  
 -import io.micrometer.core.instrument.Counter;
  import io.micrometer.core.instrument.DistributionSummary;
 +import io.micrometer.core.instrument.FunctionCounter;
  import io.micrometer.core.instrument.Gauge;
  import io.micrometer.core.instrument.MeterRegistry;
  import io.micrometer.core.instrument.Timer;
@@@ -35,15 -34,13 +35,16 @@@
  public class TabletServerScanMetrics implements MetricsProducer {
  
private final AtomicInteger openFiles = new AtomicInteger(0);
-   private Timer scans;
-   private DistributionSummary resultsPerScan = new NoOpDistributionSummary();
-   private DistributionSummary yields = new NoOpDistributionSummary();
++
+   private Timer scans = NoopMetrics.useNoopTimer();
+   private DistributionSummary resultsPerScan = 
NoopMetrics.useNoopDistributionSummary();
+   private DistributionSummary yields = 
NoopMetrics.useNoopDistributionSummary();
 -  private Counter startScanCalls = NoopMetrics.useNoopCounter();
 -  private Counter continueScanCalls = NoopMetrics.useNoopCounter();;
 -  private Counter closeScanCalls = NoopMetrics.useNoopCounter();;
 -  private Counter busyTimeoutCount = NoopMetrics.useNoopCounter();;
 +  private final AtomicLong startScanCalls = new AtomicLong(0);
 +  private final AtomicLong continueScanCalls = new AtomicLong(0);
 +  private final AtomicLong closeScanCalls = new AtomicLong(0);
 +  private final AtomicLong busyTimeoutCount = new AtomicLong(0);
 +  private final AtomicLong pausedForMemory = new AtomicLong(0);
 +  private final AtomicLong earlyReturnForMemory = new AtomicLong(0);
  
private final LongAdder lookupCount = new LongAdder();
private final LongAdder queryResultCount = new LongAdder();
diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java
index 6dbce396b1,a369458b6c..1c30517e32
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerUpdateMetrics.java
@@@ -19,28 -19,27 +19,28 @@@
  package org.apache.accumulo.tserver.metrics;
  
  import java.time.Duration;
 +import java.util.concurrent.atomic.AtomicLong;
  
  import org.apache.accumulo.core.metrics.MetricsProducer;
- import org.apache.accumulo.server.metrics.NoOpDistributionSummary;
+ imp

(accumulo) branch main updated (7211081310 -> 510cfda7b6)

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

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


from 7211081310 Merge branch '2.1'
 add 04f5aaf7c2 Improves log message for missing iterator class (#4591)
 add 38d9da710b Use micrometer noop classes for default meter 
initialization (#4542)
 new 510cfda7b6 Merge remote-tracking branch 'upstream/2.1'

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:
 .../server/metrics/NoOpDistributionSummary.java| 83 --
 .../accumulo/server/metrics/NoopMetrics.java   | 79 
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 ...butionSummaryTest.java => NoopMetricsTest.java} | 20 +-
 .../accumulo/server/metrics/ThriftMetricsTest.java |  3 +-
 .../apache/accumulo/tserver/ScanServerMetrics.java |  5 +-
 .../tserver/metrics/TabletServerMinCMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  9 +--
 .../tserver/metrics/TabletServerUpdateMetrics.java | 10 +--
 .../apache/accumulo/test/metrics/MetricsIT.java| 16 +++--
 10 files changed, 128 insertions(+), 106 deletions(-)
 delete mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoopMetrics.java
 rename 
server/base/src/test/java/org/apache/accumulo/server/metrics/{NoOpDistributionSummaryTest.java
 => NoopMetricsTest.java} (67%)



(accumulo) branch 2.1 updated: Use micrometer noop classes for default meter initialization (#4542)

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

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new 38d9da710b Use micrometer noop classes for default meter 
initialization (#4542)
38d9da710b is described below

commit 38d9da710b13ab7e81770ca015055da9a8b3d755
Author: EdColeman 
AuthorDate: Tue May 28 18:50:05 2024 -0400

Use micrometer noop classes for default meter initialization (#4542)

* Use micrometer noop classes for default meter initialization
 - removes custom NoOpDistributionSummary
 - adds default initializations for other meter types
 -organize MetricsIT excludes to ease future merging.
---
 .../server/metrics/NoOpDistributionSummary.java| 83 --
 .../accumulo/server/metrics/NoopMetrics.java   | 79 
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 ...butionSummaryTest.java => NoopMetricsTest.java} | 20 +-
 .../accumulo/server/metrics/ThriftMetricsTest.java |  3 +-
 .../manager/metrics/ReplicationMetrics.java|  3 +-
 .../apache/accumulo/tserver/ScanServerMetrics.java |  7 +-
 .../tserver/metrics/TabletServerMinCMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerScanMetrics.java   | 16 ++---
 .../tserver/metrics/TabletServerUpdateMetrics.java | 16 ++---
 .../apache/accumulo/test/metrics/MetricsIT.java| 20 --
 11 files changed, 140 insertions(+), 116 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 
b/server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
deleted file mode 100644
index 262dc0802a..00
--- 
a/server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
+++ /dev/null
@@ -1,83 +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
- *
- *   https://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.server.metrics;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import io.micrometer.core.instrument.DistributionSummary;
-import io.micrometer.core.instrument.Tag;
-import io.micrometer.core.instrument.Tags;
-import io.micrometer.core.instrument.distribution.HistogramSnapshot;
-
-/**
- * Provides a default DistributionSummary that does not do anything. This can 
be used to prevent NPE
- * if metrics have not been initialized when a DistributionSummary is expected.
- * 
- * Normally DistributionSummaries are created using a builder that takes a 
registry.
- *
- * 
- *   DistributionSummary distSum;
- *   ...
- *   public void registerMetrics(MeterRegistry registry) {
- *  ...
- *  distSum = DistributionSummary.builder("metric 
name").description("...").register(registry);
- *  ...
- *   }
- * 
- *
- * Until the registration is called, the instance variable is null. If code 
then tries to update the
- * metric, a NPE is thrown. Using this class to provide a default value 
prevents this from occurring
- * and on registration, it is replaced with a valid instance.
- */
-public class NoOpDistributionSummary implements DistributionSummary {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(NoOpDistributionSummary.class);
-
-  @Override
-  public void record(double v) {
-LOG.debug("record ignored - distribution summary will not be available.");
-  }
-
-  @Override
-  public long count() {
-return 0;
-  }
-
-  @Override
-  public double totalAmount() {
-return 0;
-  }
-
-  @Override
-  public double max() {
-return 0;
-  }
-
-  @Override
-  public HistogramSnapshot takeSnapshot() {
-return new HistogramSnapshot(0L, 0.0, 0.0, null, null, null);
-  }
-
-  @Override
-  public Id getId() {
-return new Id("thrift.metrics.uninitialized", Tags.of(Tag.of("none", 
"uninitialized")), null,
-"placeholder for uninitialized thrift metrics", Type.OTHER);
-  }
-}
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/metrics/NoopMetrics.java 
b/server/base/src/main/java/org/apache/accumulo/server/metrics/NoopMetric

(accumulo) branch elasticity updated: Remove coordinator from service status command (#4613)

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

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


The following commit(s) were added to refs/heads/elasticity by this push:
 new b4db128dcd Remove coordinator from service status command (#4613)
b4db128dcd is described below

commit b4db128dcda12bf1435a195188d71cd8e71b94e5
Author: EdColeman 
AuthorDate: Tue May 28 18:11:13 2024 -0400

Remove coordinator from service status command (#4613)

- The coordinator moved to the manager and is no longer a stand-alone
service.
---
 .../accumulo/server/util/ServiceStatusCmd.java | 11 
 .../accumulo/server/util/ServiceStatusCmdTest.java | 59 --
 2 files changed, 70 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
index 9b65fed0af..25928b0505 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
@@ -71,8 +71,6 @@ public class ServiceStatusCmd {
 services.put(ServiceStatusReport.ReportKey.MONITOR, 
getMonitorStatus(zooReader, zooRoot));
 services.put(ServiceStatusReport.ReportKey.T_SERVER, 
getTServerStatus(zooReader, zooRoot));
 services.put(ServiceStatusReport.ReportKey.S_SERVER, 
getScanServerStatus(zooReader, zooRoot));
-services.put(ServiceStatusReport.ReportKey.COORDINATOR,
-getCoordinatorStatus(zooReader, zooRoot));
 services.put(ServiceStatusReport.ReportKey.COMPACTOR, 
getCompactorStatus(zooReader, zooRoot));
 services.put(ServiceStatusReport.ReportKey.GC, getGcStatus(zooReader, 
zooRoot));
 
@@ -178,15 +176,6 @@ public class ServiceStatusCmd {
 return getStatusSummary(ServiceStatusReport.ReportKey.GC, zooReader, 
lockPath);
   }
 
-  /**
-   * The coordinator paths in ZooKeeper are: {@code 
/accumulo/[IID]/coordinators/lock/zlock#[NUM]}
-   * with the lock data providing host:port
-   */
-  @VisibleForTesting
-  StatusSummary getCoordinatorStatus(final ZooReader zooReader, String 
zRootPath) {
-throw new UnsupportedOperationException();
-  }
-
   /**
* The compactor paths in ZooKeeper are:
* {@code /accumulo/[IID]/compactors/[QUEUE_NAME]/host:port/zlock#[NUM]} 
with the host:port pulled
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
 
b/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
index 93551fcbe8..6f82e589cc 100644
--- 
a/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
@@ -324,63 +324,6 @@ public class ServiceStatusCmdTest {
 
   }
 
-  @Test
-  void testCoordinatorHosts() throws Exception {
-String lock1Name = "zlock#" + UUID.randomUUID() + "#01";
-String lock2Name = "zlock#" + UUID.randomUUID() + "#02";
-String lock3Name = "zlock#" + UUID.randomUUID() + "#03";
-
-String host1 = "hostA:8080";
-String host2 = "hostB:9090";
-String host3 = "host1:9091";
-
-String lockData1 =
-
"{\"descriptors\":[{\"uuid\":\"1d55f7a5-090d-48fc-a3ea-f1a66e984a21\",\"service\":\"COORDINATOR\",\"address\":\""
-+ host1 + "\",\"group\":\"default\"}]}\n";
-String lockData2 =
-
"{\"descriptors\":[{\"uuid\":\"1d55f7a5-090d-48fc-a3ea-f1a66e984a21\",\"service\":\"COORDINATOR\",\"address\":\""
-+ host2 + "\",\"group\":\"coord1\"}]}\n";
-String lockData3 =
-
"{\"descriptors\":[{\"uuid\":\"1d55f7a5-090d-48fc-a3ea-f1a66e984a21\",\"service\":\"COORDINATOR\",\"address\":\""
-+ host3 + "\",\"group\":\"coord2\"}]}\n";
-
-String lockPath = null;
-// String lockPath = zRoot + Constants.ZCOORDINATOR_LOCK;
-expect(zooReader.getChildren(eq(lockPath))).andReturn(List.of(lock1Name, 
lock2Name, lock3Name))
-.anyTimes();
-expect(zooReader.getData(eq(lockPath + "/" + 
lock1Name))).andReturn(lockData1.getBytes(UTF_8))
-.anyTimes();
-expect(zooReader.getData(eq(lockPath + "/" + 
lock2Name))).andReturn(lockData2.getBytes(UTF_8))
-.anyTimes();
-expect(zooReader.getData(eq(lockPath + "/" + 
lock3Name))).andReturn(lockData3.getBytes(UTF_8))
-.anyTimes();
-
-replay(zooReader);
-
-Ser

(accumulo) branch main updated: Admin service status server lock changes (#4605)

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

edcoleman 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 814ac68a67 Admin service status server lock changes (#4605)
814ac68a67 is described below

commit 814ac68a6732601b7bbcbe61f6785741deee7ca5
Author: EdColeman 
AuthorDate: Tue May 28 09:42:29 2024 -0400

Admin service status server lock changes (#4605)

* update admin serviceStatus to read host info from ServiceLockData
---
 .../accumulo/server/util/ServiceStatusCmd.java |  63 +++---
 .../util/serviceStatus/ServiceStatusReport.java|  29 ++-
 .../accumulo/server/util/ServiceStatusCmdTest.java | 214 +++--
 .../serviceStatus/ServiceStatusReportTest.java |  22 +--
 4 files changed, 226 insertions(+), 102 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
index 3f5dbafaf5..b042fcf838 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
@@ -19,6 +19,9 @@
 package org.apache.accumulo.server.util;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static 
org.apache.accumulo.core.lock.ServiceLockData.ThriftService.TABLET_SCAN;
+import static 
org.apache.accumulo.core.lock.ServiceLockData.ThriftService.TSERV;
+import static org.apache.accumulo.core.util.LazySingletons.GSON;
 
 import java.util.Collection;
 import java.util.Map;
@@ -29,6 +32,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.fate.zookeeper.ZooReader;
+import org.apache.accumulo.core.lock.ServiceLockData;
 import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.server.ServerContext;
 import org.apache.accumulo.server.util.serviceStatus.ServiceStatusReport;
@@ -85,7 +89,7 @@ public class ServiceStatusCmd {
 
   /**
* The manager paths in ZooKeeper are: {@code 
/accumulo/[IID]/managers/lock/zlock#[NUM]} with the
-   * lock data providing host:port.
+   * lock data providing a service descriptor with host and port.
*/
   @VisibleForTesting
   StatusSummary getManagerStatus(final ZooReader zooReader, String zRootPath) {
@@ -95,7 +99,7 @@ public class ServiceStatusCmd {
 
   /**
* The monitor paths in ZooKeeper are: {@code 
/accumulo/[IID]/monitor/lock/zlock#[NUM]} with the
-   * lock data providing host:port.
+   * lock data providing a service descriptor with host and port.
*/
   @VisibleForTesting
   StatusSummary getMonitorStatus(final ZooReader zooReader, String zRootPath) {
@@ -110,7 +114,7 @@ public class ServiceStatusCmd {
   @VisibleForTesting
   StatusSummary getTServerStatus(final ZooReader zooReader, String zRootPath) {
 String lockPath = zRootPath + Constants.ZTSERVERS;
-return getServerHostStatus(zooReader, lockPath, 
ServiceStatusReport.ReportKey.T_SERVER);
+return getServerHostStatus(zooReader, lockPath, 
ServiceStatusReport.ReportKey.T_SERVER, TSERV);
   }
 
   /**
@@ -120,7 +124,8 @@ public class ServiceStatusCmd {
   @VisibleForTesting
   StatusSummary getScanServerStatus(final ZooReader zooReader, String 
zRootPath) {
 String lockPath = zRootPath + Constants.ZSSERVERS;
-return getServerHostStatus(zooReader, lockPath, 
ServiceStatusReport.ReportKey.S_SERVER);
+return getServerHostStatus(zooReader, lockPath, 
ServiceStatusReport.ReportKey.S_SERVER,
+TABLET_SCAN);
   }
 
   /**
@@ -128,7 +133,7 @@ public class ServiceStatusCmd {
* {@code /accumulo/IID/[tservers | sservers]/HOST:PORT/[LOCK]}
*/
   private StatusSummary getServerHostStatus(final ZooReader zooReader, String 
basePath,
-  ServiceStatusReport.ReportKey displayNames) {
+  ServiceStatusReport.ReportKey displayNames, 
ServiceLockData.ThriftService serviceType) {
 AtomicInteger errorSum = new AtomicInteger(0);
 
 // Set hostNames = new TreeSet<>();
@@ -137,25 +142,26 @@ public class ServiceStatusCmd {
 
 var nodeNames = readNodeNames(zooReader, basePath);
 
-nodeNames.getHosts().forEach(host -> {
+nodeNames.getData().forEach(host -> {
   var lock = readNodeNames(zooReader, basePath + "/" + host);
-  lock.getHosts().forEach(l -> {
+  lock.getData().forEach(l -> {
 var nodeData = readNodeData(zooReader, basePath + "/" + host + "/" + 
l);
 int err = nodeData.getErrorCount();
 if (err > 0) {
   errorSum.addAndGet(nodeData.getErrorCount());
 } else {
-  // process resource groups
-  String[] tokens = nodeData.getHosts().split(",");
-  if (tokens.length == 2) {
-String

(accumulo) branch main updated (f2005ca011 -> 8e5d967f24)

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

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


from f2005ca011 Use Duration instead of long+TimeUnit in 
ReadOnlyTStore.unreserve (#4371)
 add e3c540d246 Add service status as command option to admin command 
(#4567)
 add 4426b90418 adds trace logging to CompactionDriver (#4578)
 new 8e5d967f24 Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/accumulo/server/util/Admin.java |  42 ++-
 .../accumulo/server/util/ServiceStatusCmd.java | 342 +
 .../util/serviceStatus/ServiceStatusReport.java| 183 ++
 .../server/util/serviceStatus/StatusSummary.java   |  92 +
 .../accumulo/server/util/ServiceStatusCmdTest.java | 406 +
 .../serviceStatus/ServiceStatusReportTest.java | 157 
 .../manager/tableOps/compact/CompactionDriver.java |  23 ++
 7 files changed, 1232 insertions(+), 13 deletions(-)
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReport.java
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/StatusSummary.java
 create mode 100644 
server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
 create mode 100644 
server/base/src/test/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReportTest.java



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 8e5d967f24870caa66659f54a3379749c84c8a9a
Merge: f2005ca011 4426b90418
Author: Ed Coleman 
AuthorDate: Fri May 24 21:14:23 2024 +

Merge remote-tracking branch 'upstream/2.1'

- the merge of #4567 needs additional changes because of ServiceLock
  data in ZooKeeper.  This will be done as a separate PR.

 .../org/apache/accumulo/server/util/Admin.java |  42 ++-
 .../accumulo/server/util/ServiceStatusCmd.java | 342 +
 .../util/serviceStatus/ServiceStatusReport.java| 183 ++
 .../server/util/serviceStatus/StatusSummary.java   |  92 +
 .../accumulo/server/util/ServiceStatusCmdTest.java | 406 +
 .../serviceStatus/ServiceStatusReportTest.java | 157 
 .../manager/tableOps/compact/CompactionDriver.java |  23 ++
 7 files changed, 1232 insertions(+), 13 deletions(-)

diff --cc 
server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
index 00,204e536c93..3f5dbafaf5
mode 00,100644..100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
@@@ -1,0 -1,368 +1,342 @@@
+ /*
+  * 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
+  *
+  *   https://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.server.util;
+ 
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 
+ import java.util.Collection;
+ import java.util.Map;
+ import java.util.Set;
+ import java.util.TreeMap;
+ import java.util.TreeSet;
+ import java.util.concurrent.atomic.AtomicInteger;
 -import java.util.stream.Collectors;
+ 
+ import org.apache.accumulo.core.Constants;
+ import org.apache.accumulo.core.fate.zookeeper.ZooReader;
+ import org.apache.accumulo.core.util.Pair;
 -import org.apache.accumulo.core.util.ServerServices;
+ import org.apache.accumulo.server.ServerContext;
+ import org.apache.accumulo.server.util.serviceStatus.ServiceStatusReport;
+ import org.apache.accumulo.server.util.serviceStatus.StatusSummary;
+ import org.apache.zookeeper.KeeperException;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.beust.jcommander.Parameter;
+ import com.beust.jcommander.Parameters;
+ import com.google.common.annotations.VisibleForTesting;
+ 
+ public class ServiceStatusCmd {
+ 
+   // used when grouping by resource group when there is no group.
+   public static final String NO_GROUP_TAG = "NO_GROUP";
+ 
+   private static final Logger LOG = 
LoggerFactory.getLogger(ServiceStatusCmd.class);
+ 
+   public ServiceStatusCmd() {}
+ 
+   /**
+* Read the service statuses from ZooKeeper, build the status report and 
then output the report to
+* stdout.
+*/
+   public void execute(final ServerContext context, final Opts opts) {
+ 
+ ZooReader zooReader = context.getZooReader();
+ 
+ final String zooRoot = context.getZooKeeperRoot();
+ LOG.trace("zooRoot: {}", zooRoot);
+ 
+ final Map services = new 
TreeMap<>();
+ 
+ services.put(ServiceStatusReport.ReportKey.MANAGER, 
getManagerStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.MONITOR, 
getMonitorStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.T_SERVER, 
getTServerStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.S_SERVER, 
getScanServerStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.COORDINATOR,
+ getCoordinatorStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.COMPACTOR, 
getCompactorStatus(zooReader, zooRoot));
+ services.put(ServiceStatusReport.ReportKey.GC, getGcStatus(zooReader, 
zooRoot));
+ 
+ ServiceStatusReport report = new ServiceStatusReport(services, 
opts.noHosts);
+ 
+ if (opts.json) {
+   System.out.println(report.toJson());
+ } else {
+   StringBuilder sb = new StringBuilder(8192);
+   report.report(sb);
+   System.out.println(sb);
+ }
+   }
+ 

(accumulo) branch 2.1 updated: Add service status as command option to admin command (#4567)

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

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new e3c540d246 Add service status as command option to admin command 
(#4567)
e3c540d246 is described below

commit e3c540d246f00330f7e5a18aa9f07b2ff961527f
Author: EdColeman 
AuthorDate: Fri May 24 13:18:01 2024 -0400

Add service status as command option to admin command (#4567)

Add service status as command option to admin command

  * Organizes service status by resource group.
---
 .../org/apache/accumulo/server/util/Admin.java |  42 ++-
 .../accumulo/server/util/ServiceStatusCmd.java | 368 +++
 .../util/serviceStatus/ServiceStatusReport.java| 183 ++
 .../server/util/serviceStatus/StatusSummary.java   |  92 +
 .../accumulo/server/util/ServiceStatusCmdTest.java | 406 +
 .../serviceStatus/ServiceStatusReportTest.java | 157 
 6 files changed, 1235 insertions(+), 13 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 ff9c4d9592..b8351ee43f 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
@@ -283,6 +283,9 @@ public class Admin implements KeywordExecutable {
 JCommander cl = new JCommander(opts);
 cl.setProgramName("accumulo admin");
 
+ServiceStatusCmd.Opts serviceStatusCommandOpts = new 
ServiceStatusCmd.Opts();
+cl.addCommand("serviceStatus", serviceStatusCommandOpts);
+
 ChangeSecretCommand changeSecretCommand = new ChangeSecretCommand();
 cl.addCommand("changeSecret", changeSecretCommand);
 
@@ -398,6 +401,8 @@ public class Admin implements KeywordExecutable {
 tServerLocksOpts.delete);
   } else if (cl.getParsedCommand().equals("fate")) {
 executeFateOpsCommand(context, fateOpsCommand);
+  } else if (cl.getParsedCommand().equals("serviceStatus")) {
+printServiceStatus(context, serviceStatusCommandOpts);
   } else {
 everything = cl.getParsedCommand().equals("stopAll");
 
@@ -425,6 +430,11 @@ public class Admin implements KeywordExecutable {
 }
   }
 
+  private static void printServiceStatus(ServerContext context, 
ServiceStatusCmd.Opts opts) {
+ServiceStatusCmd ssc = new ServiceStatusCmd();
+ssc.execute(context, opts);
+  }
+
   private static int ping(ClientContext context, List args) {
 
 InstanceOperations io = context.instanceOperations();
@@ -590,21 +600,11 @@ public class Admin implements KeywordExecutable {
   private Map siteConfig, systemConfig;
   private List localUsers;
 
-  @SuppressFBWarnings(value = "PATH_TRAVERSAL_IN",
-  justification = "code runs in same security context as user who provided 
input")
   public void printConfig(ClientContext context, DumpConfigCommand opts) 
throws Exception {
 
-File outputDirectory = null;
-if (opts.directory != null) {
-  outputDirectory = new File(opts.directory);
-  if (!outputDirectory.isDirectory()) {
-throw new IllegalArgumentException(
-opts.directory + " does not exist on the local filesystem.");
-  }
-  if (!outputDirectory.canWrite()) {
-throw new IllegalArgumentException(opts.directory + " is not 
writable");
-  }
-}
+@SuppressFBWarnings(value = "PATH_TRAVERSAL_IN",
+justification = "app is run in same security context as user providing 
the filename")
+File outputDirectory = getOutputDirectory(opts.directory);
 defaultConfig = DefaultConfiguration.getInstance();
 siteConfig = context.instanceOperations().getSiteConfiguration();
 systemConfig = context.instanceOperations().getSystemConfiguration();
@@ -651,6 +651,22 @@ public class Admin implements KeywordExecutable {
 }
   }
 
+  @SuppressFBWarnings(value = "PATH_TRAVERSAL_IN",
+  justification = "app is run in same security context as user providing 
the filename")
+  private static File getOutputDirectory(final String directory) {
+File outputDirectory = null;
+if (directory != null) {
+  outputDirectory = new File(directory);
+  if (!outputDirectory.isDirectory()) {
+throw new IllegalArgumentException(directory + " does not exist on the 
local filesystem.");
+  }
+  if (!outputDirectory.canWrite()) {
+throw new IllegalArgumentException(directory + " is not writable");
+  }
+}
+return outputDirectory;
+  }
+
   private String getDefaultConfigValue(String key) {
 if (key == null) {
   return null;
diff --git 
a/server/base/

(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 6ab37857263c6baab3806b9dc5921c8bbeff7780
Merge: 4a5d8da7a5 5e48ff92fb
Author: Ed Coleman 
AuthorDate: Fri May 24 16:00:29 2024 +

Merge remote-tracking branch 'upstream/2.1'

 test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --cc test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
index 0b76970d6d,5d9c833be5..7667f84207
--- a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
@@@ -99,9 -99,12 +99,11 @@@ public class MetricsIT extends Configur
  doWorkToGenerateMetrics();
  cluster.stop();
  
 -Set unexpectedMetrics = Set.of(METRICS_SCAN_YIELDS, 
METRICS_UPDATE_ERRORS,
 -METRICS_REPLICATION_QUEUE, METRICS_COMPACTOR_MAJC_STUCK, 
METRICS_SCAN_BUSY_TIMEOUT_COUNTER);
 +Set unexpectedMetrics = Set.of(METRICS_COMPACTOR_MAJC_STUCK, 
METRICS_SCAN_YIELDS);
+ // add sserver as flaky until scan server included in mini tests.
 -Set flakyMetrics = Set.of(METRICS_GC_WAL_ERRORS, 
METRICS_FATE_TYPE_IN_PROGRESS,
 -METRICS_SCAN_BUSY_TIMEOUT_COUNTER, 
METRICS_SCAN_RESERVATION_TOTAL_TIMER,
 -METRICS_SCAN_RESERVATION_WRITEOUT_TIMER, 
METRICS_SCAN_RESERVATION_CONFLICT_COUNTER,
 +Set flakyMetrics = Set.of(METRICS_FATE_TYPE_IN_PROGRESS, 
METRICS_GC_WAL_ERRORS,
- METRICS_SCAN_RESERVATION_TOTAL_TIMER, 
METRICS_SCAN_BUSY_TIMEOUT_COUNTER,
++METRICS_SCAN_BUSY_TIMEOUT_COUNTER, 
METRICS_SCAN_RESERVATION_CONFLICT_COUNTER,
++METRICS_SCAN_RESERVATION_TOTAL_TIMER, 
METRICS_SCAN_RESERVATION_WRITEOUT_TIMER,
  METRICS_SCAN_TABLET_METADATA_CACHE);
  
  Map expectedMetricNames = this.getMetricFields();



(accumulo) branch main updated (4a5d8da7a5 -> 6ab3785726)

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

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


from 4a5d8da7a5 Use NanoTime to measure reservation time for scan server 
metrics
 add 5e48ff92fb Add new scan metrics to flaky list in MetricsIT (#4601)
 new 6ab3785726 Merge remote-tracking branch 'upstream/2.1'

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:
 test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)



(accumulo) branch 2.1 updated (5f571506dd -> 5e48ff92fb)

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

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


from 5f571506dd Fixed NPE in ScanServerMetrics (#4598)
 add 5e48ff92fb Add new scan metrics to flaky list in MetricsIT (#4601)

No new revisions were added by this update.

Summary of changes:
 test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java | 1 +
 1 file changed, 1 insertion(+)



(accumulo) branch elasticity updated (14efea2e75 -> f9dabfc250)

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

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


from 14efea2e75 ignores failures to set future location (#4579)
 add b21837a39e Add metrics for scan server reservation write out time and 
collisions (#4577)
 add 5f571506dd Fixed NPE in ScanServerMetrics (#4598)
 add cc7e56c4d9 Merge remote-tracking branch 'upstream/2.1'
 add 4a5d8da7a5 Use NanoTime to measure reservation time for scan server 
metrics
 new f9dabfc250 Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/metrics/MetricsProducer.java |  8 +++--
 .../org/apache/accumulo/tserver/ScanServer.java| 15 +
 .../apache/accumulo/tserver/ScanServerMetrics.java | 38 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|  3 +-
 4 files changed, 47 insertions(+), 17 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit f9dabfc2501b893695bb04abf7d387f696851b98
Merge: 14efea2e75 4a5d8da7a5
Author: Ed Coleman 
AuthorDate: Fri May 24 15:23:38 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../accumulo/core/metrics/MetricsProducer.java |  8 +++--
 .../org/apache/accumulo/tserver/ScanServer.java| 15 +
 .../apache/accumulo/tserver/ScanServerMetrics.java | 38 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|  3 +-
 4 files changed, 47 insertions(+), 17 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
index f9aed7e2cf,616800168e..323117c0c3
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
@@@ -90,8 -89,8 +90,9 @@@ import org.apache.accumulo.core.tablets
  import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException;
  import org.apache.accumulo.core.util.Halt;
  import org.apache.accumulo.core.util.UtilWaitThread;
 +import org.apache.accumulo.core.util.cache.Caches.CacheName;
  import org.apache.accumulo.core.util.threads.ThreadPools;
+ import org.apache.accumulo.core.util.time.NanoTime;
  import org.apache.accumulo.server.AbstractServer;
  import org.apache.accumulo.server.ServerContext;
  import org.apache.accumulo.server.client.ClientServiceHandler;
diff --cc test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
index 53f981,0b76970d6d..402ed1ff50
--- a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
@@@ -103,13 -96,13 +103,14 @@@ public class MetricsIT extends Configur
@Test
public void confirmMetricsPublished() throws Exception {
  
 -doWorkToGenerateMetrics();
 -cluster.stop();
 -
  Set unexpectedMetrics = Set.of(METRICS_COMPACTOR_MAJC_STUCK, 
METRICS_SCAN_YIELDS);
 -Set flakyMetrics = Set.of(METRICS_FATE_TYPE_IN_PROGRESS, 
METRICS_GC_WAL_ERRORS,
 -METRICS_SCAN_RESERVATION_TOTAL_TIMER, 
METRICS_SCAN_BUSY_TIMEOUT_COUNTER,
 -METRICS_SCAN_TABLET_METADATA_CACHE);
 +Set flakyMetrics = Set.of(METRICS_GC_WAL_ERRORS, 
METRICS_FATE_TYPE_IN_PROGRESS,
 +METRICS_TSERVER_TABLETS_ONLINE_ONDEMAND, 
METRICS_TSERVER_TABLETS_ONDEMAND_UNLOADED_FOR_MEM,
 +METRICS_COMPACTOR_MAJC_STUCK, METRICS_MANAGER_ROOT_TGW_ERRORS,
 +METRICS_MANAGER_META_TGW_ERRORS, METRICS_MANAGER_USER_TGW_ERRORS,
 +METRICS_SCAN_TABLET_METADATA_CACHE, METRICS_SCAN_BUSY_TIMEOUT_COUNTER,
- METRICS_SCAN_RESERVATION_TIMER, METRICS_SERVER_IDLE);
++METRICS_SCAN_RESERVATION_TOTAL_TIMER, 
METRICS_SCAN_RESERVATION_WRITEOUT_TIMER,
++METRICS_SERVER_IDLE);
  
  Map expectedMetricNames = this.getMetricFields();
  flakyMetrics.forEach(expectedMetricNames::remove); // might not see these



(accumulo) branch elasticity updated (6afdc88f8e -> 6c0f610ed2)

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

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


from 6afdc88f8e Modified ScanServer to not allow scans on Fate table as well
 add 5cd9cdfc70 Update MetricsIT (#4576)
 add c53bebc3e9 Added Scan Server Group Configuration IT (#4506)
 add 52be928da0 Merge branch '2.1'
 add 6c0f610ed2 Merge remote-tracking branch 'upstream/main' into elasticity

No new revisions were added by this update.

Summary of changes:
 .../test/ScanServerGroupConfigurationIT.java   | 198 +
 .../org/apache/accumulo/test/ScanServerIT.java |   4 +-
 .../apache/accumulo/test/metrics/MetricsIT.java|   6 +-
 3 files changed, 202 insertions(+), 6 deletions(-)
 create mode 100644 
test/src/main/java/org/apache/accumulo/test/ScanServerGroupConfigurationIT.java



(accumulo) branch main updated: Update MetricsIT (#4576)

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

edcoleman 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 5cd9cdfc70 Update MetricsIT (#4576)
5cd9cdfc70 is described below

commit 5cd9cdfc70e8da152d31d23f547eb9f005beba82
Author: EdColeman 
AuthorDate: Mon May 20 09:32:52 2024 -0400

Update MetricsIT (#4576)

Changes to counters are now publishing metrics that may have not seen 
before:
  - METRICS_MAJC_PAUSED
  - METRICS_MINC_PAUSED
  - METRICS_SCAN_PAUSED_FOR_MEM
  - METRICS_SCAN_RETURN_FOR_MEM
  - METRICS_UPDATE_ERRORS

Also sorted metrics excludes list to make things easier to find.
---
 .../main/java/org/apache/accumulo/test/metrics/MetricsIT.java | 11 ---
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java 
b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
index f2be6e71a5..35efb186ef 100644
--- a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
@@ -99,13 +99,10 @@ public class MetricsIT extends ConfigurableMacBase 
implements MetricsProducer {
 doWorkToGenerateMetrics();
 cluster.stop();
 
-Set unexpectedMetrics =
-Set.of(METRICS_SCAN_YIELDS, METRICS_UPDATE_ERRORS, 
METRICS_COMPACTOR_MAJC_STUCK,
-METRICS_SCAN_BUSY_TIMEOUT_COUNTER, METRICS_SCAN_PAUSED_FOR_MEM,
-METRICS_SCAN_RETURN_FOR_MEM, METRICS_MINC_PAUSED, 
METRICS_MAJC_PAUSED);
-Set flakyMetrics = Set.of(METRICS_GC_WAL_ERRORS, 
METRICS_FATE_TYPE_IN_PROGRESS,
-METRICS_SCAN_BUSY_TIMEOUT_COUNTER, METRICS_SCAN_RESERVATION_TIMER,
-METRICS_SCAN_TABLET_METADATA_CACHE);
+Set unexpectedMetrics = Set.of(METRICS_COMPACTOR_MAJC_STUCK, 
METRICS_SCAN_YIELDS);
+Set flakyMetrics =
+Set.of(METRICS_FATE_TYPE_IN_PROGRESS, METRICS_GC_WAL_ERRORS, 
METRICS_SCAN_RESERVATION_TIMER,
+METRICS_SCAN_BUSY_TIMEOUT_COUNTER, 
METRICS_SCAN_TABLET_METADATA_CACHE);
 
 Map expectedMetricNames = this.getMetricFields();
 flakyMetrics.forEach(expectedMetricNames::remove); // might not see these



(accumulo) branch main updated (220cdc54da -> a42c431506)

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

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


from 220cdc54da Merge branch '2.1'
 add 4b5234bd87 Added ZK cleanup thread to Manager for Scan Server nodes 
(#4562)
 new a42c431506 Merge remote-tracking branch 'upstream/2.1'

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:
 .../java/org/apache/accumulo/manager/Manager.java  | 51 +-
 1 file changed, 49 insertions(+), 2 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit a42c4315061548e8edc03d45e8bfd4d6c141fd11
Merge: 220cdc54da 4b5234bd87
Author: Ed Coleman 
AuthorDate: Thu May 16 20:52:34 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../java/org/apache/accumulo/manager/Manager.java  | 51 +-
 1 file changed, 49 insertions(+), 2 deletions(-)

diff --cc server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index ded6d62f83,84e8e68519..a778744c0f
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@@ -39,6 -38,6 +39,7 @@@ import java.util.Iterator
  import java.util.List;
  import java.util.Map;
  import java.util.Map.Entry;
++import java.util.Optional;
  import java.util.Set;
  import java.util.SortedMap;
  import java.util.TreeMap;
@@@ -71,6 -69,10 +72,7 @@@ import org.apache.accumulo.core.data.Va
  import org.apache.accumulo.core.dataImpl.KeyExtent;
  import org.apache.accumulo.core.fate.AgeOffStore;
  import org.apache.accumulo.core.fate.Fate;
 -import org.apache.accumulo.core.fate.zookeeper.ServiceLock;
 -import org.apache.accumulo.core.fate.zookeeper.ServiceLock.LockLossReason;
 -import org.apache.accumulo.core.fate.zookeeper.ServiceLock.ServiceLockPath;
+ import org.apache.accumulo.core.fate.zookeeper.ZooCache.ZcStat;
  import org.apache.accumulo.core.fate.zookeeper.ZooReaderWriter;
  import org.apache.accumulo.core.fate.zookeeper.ZooUtil;
  import org.apache.accumulo.core.fate.zookeeper.ZooUtil.NodeExistsPolicy;
@@@ -737,6 -741,48 +739,49 @@@ public class Manager extends AbstractSe
  }
}
  
+   private class ScanServerZKCleaner implements Runnable {
+ 
+ @Override
+ public void run() {
+ 
+   final ZooReaderWriter zrw = getContext().getZooReaderWriter();
+   final String sserverZNodePath = getContext().getZooKeeperRoot() + 
Constants.ZSSERVERS;
+ 
+   while (stillManager()) {
+ try {
+   for (String sserverClientAddress : 
zrw.getChildren(sserverZNodePath)) {
+ 
+ final String sServerZPath = sserverZNodePath + "/" + 
sserverClientAddress;
+ final var zLockPath = ServiceLock.path(sServerZPath);
+ ZcStat stat = new ZcStat();
 -byte[] lockData = 
ServiceLock.getLockData(getContext().getZooCache(), zLockPath, stat);
++Optional lockData =
++ServiceLock.getLockData(getContext().getZooCache(), 
zLockPath, stat);
+ 
 -if (lockData == null) {
++if (lockData.isEmpty()) {
+   try {
+ log.debug("Deleting empty ScanServer ZK node {}", 
sServerZPath);
+ zrw.delete(sServerZPath);
+   } catch (KeeperException.NotEmptyException e) {
+ log.debug(
+ "Failed to delete ScanServer ZK node {} its not empty, 
likely an expected race condition.",
+ sServerZPath);
+   }
+ }
+   }
+ } catch (KeeperException e) {
+   log.error("Exception trying to delete empty scan server ZNodes, 
will retry", e);
+ } catch (InterruptedException e) {
+   Thread.interrupted();
+   log.error("Interrupted trying to delete empty scan server ZNodes, 
will retry", e);
+ } finally {
+   // sleep for 5 mins
+   sleepUninterruptibly(CLEANUP_INTERVAL_MINUTES, MINUTES);
+ }
+   }
+ }
+ 
+   }
+ 
private class StatusThread implements Runnable {
  
  private boolean goodStats() {



(accumulo) branch elasticity updated (5e4ec67ac0 -> ef34a4890a)

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

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


from 5e4ec67ac0 Merge branch 'main' into elasticity
 add 3cac724f00 Renames a fate metric (#4543)
 add 8c485e362d Merge remote-tracking branch 'upstream/2.1'
 new ef34a4890a Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 7 ---
 .../java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit ef34a4890a76b592a805947d7c8f7d99a0363952
Merge: 5e4ec67ac0 8c485e362d
Author: Ed Coleman 
AuthorDate: Fri May 10 21:34:39 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 7 ---
 .../java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
index 6f82281257,abfdfc9b5a..bdc695e787
--- a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
@@@ -59,53 -59,12 +59,54 @@@ import io.micrometer.core.instrument.Me
   * 
   * 
   * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUES}
 + * Gauge
 + * 
 + * 
 + * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_LENGTH}
 + * Gauge
 + * 
 + * 
 + * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_PRIORITY}
 + * Gauge
 + * 
 + * 
 + * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_QUEUED}
 + * Gauge
 + * 
 + * 
 + * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_DEQUEUED}
 + * Gauge
 + * 
 + * 
 + * 
 + * N/A
 + * N/A
 + * {@link #METRICS_COMPACTOR_JOB_PRIORITY_QUEUE_JOBS_REJECTED}
 + * Gauge
 + * 
 + * 
 + * 
   * currentFateOps
   * Gauge
-  * {@value #METRICS_FATE_TOTAL_IN_PROGRESS}
+  * {@value #METRICS_FATE_OPS}
   * Gauge
-  * 
+  * Was previously named "accumulo.fate.ops.in.progress". Changed to 
better reflect what the
+  * gauge is actually tracking which is all the current fate ops in any 
state.
   * 
   * 
   * FateTxOpType_{name}
diff --cc 
server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
index 1664dd8d93,2f66aef256..e4e5150671
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
@@@ -126,29 -128,31 +126,29 @@@ public class FateMetrics implements Met
  
@Override
public void registerMetrics(final MeterRegistry registry) {
- registry.gauge(METRICS_FATE_TOTAL_IN_PROGRESS, totalCurrentOpsGauge);
 -totalCurrentOpsGauge = registry.gauge(METRICS_FATE_OPS, new 
AtomicLong(0));
 -totalOpsGauge = registry.gauge(METRICS_FATE_OPS_ACTIVITY, new 
AtomicLong(0));
 -fateErrorsGauge = registry.gauge(METRICS_FATE_ERRORS, 
List.of(Tag.of("type", "zk.connection")),
 -new AtomicLong(0));
 -newTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.NEW.name().toLowerCase())),
 -new AtomicLong(0));
 -submittedTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.SUBMITTED.name().toLowerCase())),
 -new AtomicLong(0));
 -inProgressTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.IN_PROGRESS.name().toLowerCase())),
 -new AtomicLong(0));
 -failedInProgressTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.FAILED_IN_PROGRESS.name().toLowerCase())),
 -new AtomicLong(0));
 -failedTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.FAILED.name().toLowerCase())),
 -new AtomicLong(0));
 -successfulTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.SUCCESSFUL.name().toLowerCase())),
 -new AtomicLong(0));
 -unknownTxGauge = registry.gauge(METRICS_FATE_TX,
 -List.of(Tag.of("state", 
ReadOnlyTStore.TStatus.UNKNOWN.name().toLowerCase())),
 -new AtomicLong(0));
++registry.gauge(METRICS_FATE_OPS, totalCurrentOpsGauge);
 +registry.gauge(METRICS_FATE_OPS_ACTIVITY, totalOpsGauge);
 +registry.gauge(METRICS_FATE_ERRORS, List.of(Tag.of("type", 
"zk.connection")), fateErrorsGauge);
 +registry.gauge(METRICS_FATE_TX,
 +List.of(Tag.of("state", 
ReadOnlyFateStore.TStatus.NEW.name().toLowerCase())), newTxGauge);
 +registry.gauge(METRICS_FATE_TX,
 +List.of(Tag.of("state", 
ReadOnlyFateStore.TStatus.SUBMITTED.name().toLowerCase())),
 +submittedTxGauge);
 +registry.gauge(METRICS_FATE_TX,
 +List.of(Tag.of("state", 
ReadOnlyFateStore.TStatus.IN_PROGRESS.name().toLowerCase())),
 +inProgressTxGauge);
 +registry.gauge(METRICS_FATE_TX,
 +List.of(Tag.of("state", 
ReadOnl

(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 8c485e362d3eac62d466ad4c56d3ebf606bdb441
Merge: 5aca4f67bc 3cac724f00
Author: Ed Coleman 
AuthorDate: Fri May 10 21:19:47 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 7 ---
 .../java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)




(accumulo) branch main updated (5aca4f67bc -> 8c485e362d)

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

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


from 5aca4f67bc simplifies handling of time in unload handler (#4548)
 add 3cac724f00 Renames a fate metric (#4543)
 new 8c485e362d Merge remote-tracking branch 'upstream/2.1'

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:
 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 7 ---
 .../java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)



(accumulo) branch 2.1 updated: Renames a fate metric (#4543)

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

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new 3cac724f00 Renames a fate metric (#4543)
3cac724f00 is described below

commit 3cac724f0030a600e9195fc87400321e2298b36c
Author: Kevin Rathbun <43969518+kevinrr...@users.noreply.github.com>
AuthorDate: Fri May 10 17:18:17 2024 -0400

Renames a fate metric (#4543)

Renamed accumulo.fate.ops.in.progress to accumulo.fate.ops and updated 
MetricsProducer with name change and description.
---
 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 7 ---
 .../java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java 
b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
index 2da6303b5d..ddc9278b43 100644
--- a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
@@ -54,9 +54,10 @@ import io.micrometer.core.instrument.MeterRegistry;
  * 
  * currentFateOps
  * Gauge
- * {@value #METRICS_FATE_TOTAL_IN_PROGRESS}
+ * {@value #METRICS_FATE_OPS}
  * Gauge
- * 
+ * Was previously named "accumulo.fate.ops.in.progress". Changed to better 
reflect what the
+ * gauge is actually tracking which is all the current fate ops in any 
state.
  * 
  * 
  * FateTxOpType_{name}
@@ -585,7 +586,7 @@ public interface MetricsProducer {
 
   String METRICS_FATE_PREFIX = "accumulo.fate.";
   String METRICS_FATE_TYPE_IN_PROGRESS = METRICS_FATE_PREFIX + 
"ops.in.progress.by.type";
-  String METRICS_FATE_TOTAL_IN_PROGRESS = METRICS_FATE_PREFIX + 
"ops.in.progress";
+  String METRICS_FATE_OPS = METRICS_FATE_PREFIX + "ops";
   String METRICS_FATE_OPS_ACTIVITY = METRICS_FATE_PREFIX + "ops.activity";
   String METRICS_FATE_ERRORS = METRICS_FATE_PREFIX + "errors";
   String METRICS_FATE_TX = METRICS_FATE_PREFIX + "tx";
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
index bed2e53411..2f66aef256 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/metrics/fate/FateMetrics.java
@@ -128,7 +128,7 @@ public class FateMetrics implements MetricsProducer {
 
   @Override
   public void registerMetrics(final MeterRegistry registry) {
-totalCurrentOpsGauge = registry.gauge(METRICS_FATE_TOTAL_IN_PROGRESS, new 
AtomicLong(0));
+totalCurrentOpsGauge = registry.gauge(METRICS_FATE_OPS, new AtomicLong(0));
 totalOpsGauge = registry.gauge(METRICS_FATE_OPS_ACTIVITY, new 
AtomicLong(0));
 fateErrorsGauge = registry.gauge(METRICS_FATE_ERRORS, 
List.of(Tag.of("type", "zk.connection")),
 new AtomicLong(0));



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit 4542108269fb8da4a523f1e5513974bc45ee13bd
Merge: b32a32cb58 f4c1f24658
Author: Ed Coleman 
AuthorDate: Wed May 8 18:01:13 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../accumulo/core/metrics/MetricsProducer.java |  9 
 .../apache/accumulo/tserver/BlockCacheMetrics.java | 61 ++
 .../org/apache/accumulo/tserver/ScanServer.java| 18 +++
 .../org/apache/accumulo/tserver/TabletServer.java  |  5 +-
 4 files changed, 82 insertions(+), 11 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 7f325c39fa,0590fb8aa2..8aa8f65f4b
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@@ -166,7 -181,9 +166,8 @@@ public class TabletServer extends Abstr
TabletServerUpdateMetrics updateMetrics;
TabletServerScanMetrics scanMetrics;
TabletServerMinCMetrics mincMetrics;
 -  CompactionExecutorsMetrics ceMetrics;
PausedCompactionMetrics pausedMetrics;
+   BlockCacheMetrics blockCacheMetrics;
  
@Override
public TabletServerScanMetrics getScanMetrics() {
@@@ -582,14 -712,21 +583,16 @@@
  updateMetrics = new TabletServerUpdateMetrics();
  scanMetrics = new TabletServerScanMetrics();
  mincMetrics = new TabletServerMinCMetrics();
 -ceMetrics = new CompactionExecutorsMetrics();
  pausedMetrics = new PausedCompactionMetrics();
+ blockCacheMetrics = new 
BlockCacheMetrics(this.resourceManager.getIndexCache(),
+ this.resourceManager.getDataCache(), 
this.resourceManager.getSummaryCache());
  
  metricsInfo.addMetricsProducers(this, metrics, updateMetrics, 
scanMetrics, mincMetrics,
- pausedMetrics);
 -ceMetrics, pausedMetrics, blockCacheMetrics);
++pausedMetrics, blockCacheMetrics);
  metricsInfo.init();
  
 -this.compactionManager = new CompactionManager(() -> Iterators
 -.transform(onlineTablets.snapshot().values().iterator(), 
Tablet::asCompactable),
 -getContext(), ceMetrics);
 -compactionManager.start();
 -
  announceExistence();
 +getContext().setServiceLock(tabletServerLock);
  
  try {
walMarker.initWalMarker(getTabletSession());



(accumulo) branch elasticity updated (b32a32cb58 -> 4542108269)

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

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


from b32a32cb58 Changed default value of TSERV_PORTSEARCH from false to 
true (#4514)
 add 7f9d3f3efe Emit block cache metrics (#4518)
 add 33e2d055af Merge remote-tracking branch 'upstream/2.1'
 add 86c81e42d2 Removed duplicate call to 
Ample.deleteScanServerFileReferences in ScanServer (#4512)
 add f4c1f24658 Merge branch '2.1'
 new 4542108269 Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/metrics/MetricsProducer.java |  9 
 .../apache/accumulo/tserver/BlockCacheMetrics.java | 61 ++
 .../org/apache/accumulo/tserver/ScanServer.java| 18 +++
 .../org/apache/accumulo/tserver/TabletServer.java  |  5 +-
 4 files changed, 82 insertions(+), 11 deletions(-)
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/BlockCacheMetrics.java



(accumulo) branch elasticity updated (0d40533307 -> c6f7c91d82)

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

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


from 0d40533307 Merge remote-tracking branch 'upstream/main' into elasticity
 add 5d5339559d Fix ZombieTServer metrics in for LateLastContactIT failure 
(#4527)
 add d46ef7cdc6 Merge remote-tracking branch 'upstream/2.1'
 new c6f7c91d82 Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../server/metrics/NoOpDistributionSummary.java| 83 ++
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 .../metrics/NoOpDistributionSummaryTest.java   | 19 ++---
 .../accumulo/server/metrics/ThriftMetricsTest.java | 62 
 .../tserver/metrics/TabletServerScanMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerUpdateMetrics.java |  3 +-
 .../accumulo/test/functional/ZombieTServer.java| 10 +--
 7 files changed, 167 insertions(+), 19 deletions(-)
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 copy 
core/src/test/java/org/apache/accumulo/core/client/lexicoder/DateLexicoderTest.java
 => 
server/base/src/test/java/org/apache/accumulo/server/metrics/NoOpDistributionSummaryTest.java
 (64%)
 create mode 100644 
server/base/src/test/java/org/apache/accumulo/server/metrics/ThriftMetricsTest.java



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit c6f7c91d829c6b30ac28f3f18f705913f611e25c
Merge: 0d40533307 d46ef7cdc6
Author: Ed Coleman 
AuthorDate: Mon May 6 21:40:51 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../server/metrics/NoOpDistributionSummary.java| 83 ++
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 .../metrics/NoOpDistributionSummaryTest.java}  | 38 --
 .../accumulo/server/metrics/ThriftMetricsTest.java | 62 
 .../tserver/metrics/TabletServerScanMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerUpdateMetrics.java |  3 +-
 .../accumulo/test/functional/ZombieTServer.java| 10 +--
 7 files changed, 170 insertions(+), 35 deletions(-)

diff --cc 
test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
index bc10568f7c,dce3d5dda1..38e93abb4c
--- a/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
@@@ -143,6 -140,10 +138,11 @@@ public class ZombieTServer 
  
  ServiceLock zlock = new ServiceLock(zoo.getZooKeeper(), zLockPath, 
UUID.randomUUID());
  
+ MetricsInfo metricsInfo = context.getMetricsInfo();
 -metricsInfo.addServiceTags("zombie.server", serverPort.address);
++metricsInfo.addServiceTags("zombie.server", serverPort.address,
++Constants.DEFAULT_RESOURCE_GROUP_NAME);
+ metricsInfo.init();
+ 
  LockWatcher lw = new LockWatcher() {
  
@SuppressFBWarnings(value = "DM_EXIT",



(accumulo) branch main updated (a41366bbd2 -> d46ef7cdc6)

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

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


from a41366bbd2 Merge remote-tracking branch 'upstream/2.1'
 add 5d5339559d Fix ZombieTServer metrics in for LateLastContactIT failure 
(#4527)
 new d46ef7cdc6 Merge remote-tracking branch 'upstream/2.1'

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:
 .../server/metrics/NoOpDistributionSummary.java| 83 ++
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 .../metrics/NoOpDistributionSummaryTest.java   | 19 ++---
 .../accumulo/server/metrics/ThriftMetricsTest.java | 62 
 .../tserver/metrics/TabletServerScanMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerUpdateMetrics.java |  3 +-
 .../accumulo/test/functional/ZombieTServer.java|  8 +--
 7 files changed, 166 insertions(+), 18 deletions(-)
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 copy 
core/src/test/java/org/apache/accumulo/core/client/lexicoder/DateLexicoderTest.java
 => 
server/base/src/test/java/org/apache/accumulo/server/metrics/NoOpDistributionSummaryTest.java
 (64%)
 create mode 100644 
server/base/src/test/java/org/apache/accumulo/server/metrics/ThriftMetricsTest.java



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit d46ef7cdc65165eab0fe4a264e572a3e1ffc62e0
Merge: a41366bbd2 5d5339559d
Author: Ed Coleman 
AuthorDate: Mon May 6 21:08:46 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../server/metrics/NoOpDistributionSummary.java| 83 ++
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 .../metrics/NoOpDistributionSummaryTest.java}  | 38 --
 .../accumulo/server/metrics/ThriftMetricsTest.java | 62 
 .../tserver/metrics/TabletServerScanMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerUpdateMetrics.java |  3 +-
 .../accumulo/test/functional/ZombieTServer.java|  8 +--
 7 files changed, 169 insertions(+), 34 deletions(-)

diff --cc 
test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
index d7562f78c1,30d8331c93..dce3d5dda1
--- a/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
@@@ -132,11 -129,6 +132,7 @@@ public class ZombieTServer 
  HostAndPort.fromParts("0.0.0.0", port));
  
  String addressString = serverPort.address.toString();
 +
- MetricsInfo metricsInfo = context.getMetricsInfo();
- metricsInfo.addServiceTags("zombie.server", serverPort.address);
- metricsInfo.init();
- 
  var zLockPath =
  ServiceLock.path(context.getZooKeeperRoot() + Constants.ZTSERVERS + 
"/" + addressString);
  ZooReaderWriter zoo = context.getZooReaderWriter();



(accumulo) branch 2.1 updated (42e218e903 -> 5d5339559d)

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

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


from 42e218e903 logs hints used to select a scan server (#4520)
 add 5d5339559d Fix ZombieTServer metrics in for LateLastContactIT failure 
(#4527)

No new revisions were added by this update.

Summary of changes:
 .../server/metrics/NoOpDistributionSummary.java| 83 ++
 .../accumulo/server/metrics/ThriftMetrics.java |  4 +-
 .../metrics/NoOpDistributionSummaryTest.java   | 19 ++---
 .../accumulo/server/metrics/ThriftMetricsTest.java | 62 
 .../tserver/metrics/TabletServerScanMetrics.java   |  5 +-
 .../tserver/metrics/TabletServerUpdateMetrics.java |  3 +-
 .../accumulo/test/functional/ZombieTServer.java|  5 ++
 7 files changed, 167 insertions(+), 14 deletions(-)
 create mode 100644 
server/base/src/main/java/org/apache/accumulo/server/metrics/NoOpDistributionSummary.java
 copy 
core/src/test/java/org/apache/accumulo/core/client/lexicoder/DateLexicoderTest.java
 => 
server/base/src/test/java/org/apache/accumulo/server/metrics/NoOpDistributionSummaryTest.java
 (64%)
 create mode 100644 
server/base/src/test/java/org/apache/accumulo/server/metrics/ThriftMetricsTest.java



(accumulo) branch elasticity updated (82b80d0d62 -> 0d40533307)

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

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


from 82b80d0d62 Merge remote-tracking branch 'upstream/main' into elasticity
 add 42e218e903 logs hints used to select a scan server (#4520)
 add a41366bbd2 Merge remote-tracking branch 'upstream/2.1'
 new 0d40533307 Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../core/clientImpl/TabletServerBatchReaderIterator.java  | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit 0d40533307ab421960fbcc950892a72e72437031
Merge: 82b80d0d62 a41366bbd2
Author: Ed Coleman 
AuthorDate: Mon May 6 20:16:17 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../core/clientImpl/TabletServerBatchReaderIterator.java  | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
index b95f256786,040a765b1f..3828b2c799
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
@@@ -716,40 -650,26 +716,41 @@@ public class TabletServerBatchReaderIte
if (serverToUse == null) {
  // no scan server was given so use the tablet server
  serverToUse = extentToTserverMap.get(extent);
 -log.trace("For tablet {} using hints {} scan server selector chose 
tablet_server", tabletId,
 -options.executionHints);
 +if (serverToUse != null) {
-   log.trace("For tablet {} scan server selector chose tablet_server 
{}", tabletId,
-   serverToUse);
++  log.trace("For tablet {} using hints {} scan server selector chose 
tablet_server",
++  tabletId, options.executionHints);
 +} else {
 +  log.trace(
-   "For tablet {} scan server selector chose tablet_server, but 
tablet is not hosted",
-   tabletId);
++  "For tablet {} using hints {} scan server selector chose 
tablet_server, but tablet is not hosted",
++  tabletId, options.executionHints);
 +}
} else {
- log.trace("For tablet {} scan server selector chose scan_server:{}", 
tabletId, serverToUse);
+ log.trace("For tablet {} using hints {} scan server selector chose 
scan_server:{}",
+ tabletId, options.executionHints, serverToUse);
}
  
 -  var rangeMap = binnedRanges2.computeIfAbsent(serverToUse, k -> new 
HashMap<>());
 -  List ranges = extentToRangesMap.get(extent);
 -  rangeMap.put(extent, ranges);
 +  if (serverToUse != null) {
 +var rangeMap = binnedRanges.computeIfAbsent(serverToUse, k -> new 
HashMap<>());
 +List extentRanges = extentToRangesMap.get(extent);
 +rangeMap.put(extent, extentRanges);
 +
 +var server = serverToUse;
 +reporters.computeIfAbsent(serverToUse, k -> 
scanAttempts.createReporter(server, tabletId));
 +  } else {
 +failures.addAll(extentToRangesMap.get(extent));
 +  }
 +}
  
 -  var server = serverToUse;
 -  reporters.computeIfAbsent(serverToUse, k -> 
scanAttempts.createReporter(server, tabletId));
 +if (!failures.isEmpty()) {
 +  // if there are failures at this point its because tablets are not 
hosted, so lets attempt to
 +  // get them hosted
 +  clientTabletCache.findTablets(context, ranges, (cachedTablet, range) -> 
{},
 +  LocationNeed.REQUIRED);
 +  return new ScanServerData(failures);
  }
  
 -ScanServerData ssd = new ScanServerData();
 +ScanServerData ssd = new ScanServerData(actions, reporters);
  
 -ssd.binnedRanges = binnedRanges2;
 -ssd.actions = actions;
 -ssd.reporters = reporters;
  log.trace("Scan server selector chose delay:{} busyTimeout:{}", 
actions.getDelay(),
  actions.getBusyTimeout());
  return ssd;



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit a41366bbd2690c05314b37f360ace26b16bb1aa6
Merge: 7f58fc03b2 42e218e903
Author: Ed Coleman 
AuthorDate: Mon May 6 19:53:36 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../accumulo/core/clientImpl/TabletServerBatchReaderIterator.java  | 6 --
 .../java/org/apache/accumulo/core/clientImpl/ThriftScanner.java| 7 ---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
index 87726fd639,604aece29d..f36944daaf
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
@@@ -567,13 -567,15 +567,14 @@@ public class ThriftScanner 
delay = actions.getDelay();
scanState.busyTimeout = actions.getBusyTimeout();
log.trace(
-   "For tablet {} scan server selector chose scan_server:{} 
delay:{} busyTimeout:{}",
-   loc.getExtent(), scanServer, delay, scanState.busyTimeout);
+   "For tablet {} using hints {} scan server selector chose 
scan_server:{} delay:{} busyTimeout:{}",
 -  loc.tablet_extent, scanState.executionHints, scanServer, delay,
 -  scanState.busyTimeout);
++  loc.getExtent(), scanState.executionHints, scanServer, delay, 
scanState.busyTimeout);
  } else {
newLoc = loc;
delay = actions.getDelay();
scanState.busyTimeout = Duration.ZERO;
-   log.trace("For tablet {} scan server selector chose tablet_server", 
loc.getExtent());
+   log.trace("For tablet {} using hints {} scan server selector chose 
tablet_server",
 -  loc.tablet_extent, scanState.executionHints);
++  loc.getExtent(), scanState.executionHints);
  }
  
  if (!delay.isZero()) {



(accumulo) branch main updated (7f58fc03b2 -> a41366bbd2)

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

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


from 7f58fc03b2 Merge remote-tracking branch 'upstream/2.1'
 add 42e218e903 logs hints used to select a scan server (#4520)
 new a41366bbd2 Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/clientImpl/TabletServerBatchReaderIterator.java  | 6 --
 .../java/org/apache/accumulo/core/clientImpl/ThriftScanner.java| 7 ---
 2 files changed, 8 insertions(+), 5 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit 82b80d0d62bd4290ac85a857b566d6cc0f864367
Merge: a198c1fbc4 7f58fc03b2
Author: Ed Coleman 
AuthorDate: Mon May 6 17:29:28 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

includes multiple PRs:

 - 4526 bouncy castle version bump
 - 4522 update scan server metrics for file reservations
 - 4520 log hints to select a scan server

 .../accumulo/core/metrics/MetricsProducer.java | 108 +++--
 pom.xml|   2 +-
 .../accumulo/manager/TabletGroupWatcher.java   |  18 ++--
 .../java/org/apache/accumulo/monitor/Monitor.java  |   6 +-
 .../org/apache/accumulo/tserver/ScanServer.java|  53 --
 .../apache/accumulo/tserver/ScanServerMetrics.java |  59 +++
 .../accumulo/tserver/ThriftScanClientHandler.java  |   4 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  20 ++--
 .../apache/accumulo/tserver/ScanServerTest.java|   9 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|   8 +-
 10 files changed, 204 insertions(+), 83 deletions(-)

diff --cc 
server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
index 18682789c5,c3a77f2297..060411fcbf
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
@@@ -972,43 -1449,20 +972,49 @@@ abstract class TabletGroupWatcher exten
  }
  tLists.assignments.addAll(tLists.assigned);
  for (Assignment a : tLists.assignments) {
-   TServerConnection client = manager.tserverSet.getConnection(a.server);
-   if (client != null) {
- client.assignTablet(manager.managerLock, a.tablet);
-   } else {
- Manager.log.warn("Could not connect to server {}", a.server);
+   try {
+ TServerConnection client = manager.tserverSet.getConnection(a.server);
+ if (client != null) {
+   client.assignTablet(manager.managerLock, a.tablet);
+   manager.assignedTablet(a.tablet);
+ } else {
+   Manager.log.warn("Could not connect to server {} for assignment of 
{}", a.server,
+   a.tablet);
+ }
+   } catch (TException tException) {
+ Manager.log.warn("Could not connect to server {} for assignment of 
{}", a.server, a.tablet,
+ tException);
}
-   manager.assignedTablet(a.tablet);
  }
 +
 +replaceVolumes(tLists.volumeReplacements);
 +  }
 +
 +  private void replaceVolumes(List 
volumeReplacementsList) {
 +try (var tabletsMutator = 
manager.getContext().getAmple().conditionallyMutateTablets()) {
 +  for (VolumeUtil.VolumeReplacements vr : volumeReplacementsList) {
 +var tabletMutator =
 +
tabletsMutator.mutateTablet(vr.tabletMeta.getExtent()).requireAbsentOperation()
 +.requireAbsentLocation().requireSame(vr.tabletMeta, FILES, 
LOGS);
 +vr.logsToRemove.forEach(tabletMutator::deleteWal);
 +vr.logsToAdd.forEach(tabletMutator::putWal);
 +
 +vr.filesToRemove.forEach(tabletMutator::deleteFile);
 +vr.filesToAdd.forEach(tabletMutator::putFile);
 +
 +tabletMutator.submit(
 +tm -> tm.getLogs().containsAll(vr.logsToAdd) && 
tm.getFiles().containsAll(vr.filesToAdd
 +
.keySet().stream().map(ReferencedTabletFile::insert).collect(Collectors.toSet(;
 +  }
 +
 +  tabletsMutator.process().forEach((extent, result) -> {
 +if (result.getStatus() == Ample.ConditionalResult.Status.REJECTED) {
 +  // log that failure happened, should try again later
 +  LOG.debug("Failed to update volumes for tablet {}", extent);
 +}
 +  });
 +}
 +
}
  
private static void markDeadServerLogsAsClosed(WalStateManager mgr,
diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 51be4e13d8,10ccf19c6c..1fb3a66108
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@@ -486,11 -489,11 +486,11 @@@ public class Monitor extends AbstractSe
  log.error("Unable to get hostname", e);
}
  }
- log.debug("Using {} to advertise monitor location in ZooKeeper", 
advertiseHost);
+ HostAndPort monitorHostAndPort = HostAndPort.fromParts(advertiseHost, 
livePort);
+ log.debug("Using {} to advertise monitor location in ZooKeeper", 
monitorHostAndPort);
  
  MetricsInfo metricsInfo = getContext().getMetricsInfo();
- metricsInfo.addServiceTags(getApplicationName(), 
HostAndPort.fromParts(advertiseHost, livePort),
- getResourc

(accumulo) branch elasticity updated (a198c1fbc4 -> 82b80d0d62)

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

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


from a198c1fbc4 Merge remote-tracking branch 'upstream/main' into elasticity
 add 2ce89e0ec4 uses specific logger for compaction coordinator status 
update (#4489)
 add acaa6dc46c lowers logging level for first seen dead compaction (#4490)
 add 61ca7d8070 Handles RPC errors when requesting tablet unload (#4497)
 add 8da73ce467 Merge branch '2.1'
 add c488f788ad scan server metrics from #4458 based on #4459 (#4461)
 add 96b86a5f62 Update scan server metrics for file reservations (#4522)
 add 46ed92329c Merge remote-tracking branch 'upstream/2.1'
 add 1584ea83a1 Add the host:port information to the monitor service lock 
(#4517)
 add 279cd598bc Merge remote-tracking branch 'upstream/2.1'
 add fbcd746470 bump bouncy castle version from 1.77 to 1.78.1 (#4526)
 add 7f58fc03b2 Merge remote-tracking branch 'upstream/2.1'
 new 82b80d0d62 Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/metrics/MetricsProducer.java | 108 +++--
 pom.xml|   2 +-
 .../accumulo/manager/TabletGroupWatcher.java   |  18 ++--
 .../java/org/apache/accumulo/monitor/Monitor.java  |   6 +-
 .../org/apache/accumulo/tserver/ScanServer.java|  53 --
 .../apache/accumulo/tserver/ScanServerMetrics.java |  59 +++
 .../accumulo/tserver/ThriftScanClientHandler.java  |   4 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  20 ++--
 .../apache/accumulo/tserver/ScanServerTest.java|   9 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|   8 +-
 10 files changed, 204 insertions(+), 83 deletions(-)
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 7f58fc03b2195d23b9fa155f843d49f1e1e4648c
Merge: 279cd598bc fbcd746470
Author: Ed Coleman 
AuthorDate: Fri May 3 22:59:42 2024 +

Merge remote-tracking branch 'upstream/2.1'

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




(accumulo) branch 2.1 updated: bump bouncy castle version from 1.77 to 1.78.1 (#4526)

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

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new fbcd746470 bump bouncy castle version from 1.77 to 1.78.1 (#4526)
fbcd746470 is described below

commit fbcd746470c37739eab7b200f61d12dd26fad2d7
Author: EdColeman 
AuthorDate: Fri May 3 18:58:35 2024 -0400

bump bouncy castle version from 1.77 to 1.78.1 (#4526)

triggered by dependabot alert

Fixes PR #4525 (starting at 2.1)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index fbffd60171..463fd2944f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -147,7 +147,7 @@
 -Xmx1G
 
 1.1.1
-1.77
+1.78.1
 5.5.0
 2.24.1
 3.3.6



(accumulo) branch main updated (279cd598bc -> 7f58fc03b2)

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

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


from 279cd598bc Merge remote-tracking branch 'upstream/2.1'
 add fbcd746470 bump bouncy castle version from 1.77 to 1.78.1 (#4526)
 new 7f58fc03b2 Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(accumulo) branch main updated (46ed92329c -> 279cd598bc)

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

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


from 46ed92329c Merge remote-tracking branch 'upstream/2.1'
 add 1584ea83a1 Add the host:port information to the monitor service lock 
(#4517)
 new 279cd598bc Merge remote-tracking branch 'upstream/2.1'

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:
 .../monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 279cd598bc61b4796793cc5a44f40f13a9412e24
Merge: 46ed92329c 1584ea83a1
Author: Ed Coleman 
AuthorDate: Fri May 3 21:44:01 2024 +

Merge remote-tracking branch 'upstream/2.1'

This is basically a no-op imerge for main.  The service lock data
is written and contains the hostname.  Because of initialization
order, the port is not included, but it need it can be done with
a follow-on.

 .../monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 6c07e9bb32,39fe11d91b..10ccf19c6c
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@@ -489,12 -484,16 +489,12 @@@ public class Monitor extends AbstractSe
  log.error("Unable to get hostname", e);
}
  }
- log.debug("Using {} to advertise monitor location in ZooKeeper", 
advertiseHost);
+ HostAndPort monitorHostAndPort = HostAndPort.fromParts(advertiseHost, 
livePort);
+ log.debug("Using {} to advertise monitor location in ZooKeeper", 
monitorHostAndPort);
 -try {
 -  
monitorLock.replaceLockData(monitorHostAndPort.toString().getBytes(UTF_8));
 -} catch (KeeperException | InterruptedException e) {
 -  throw new IllegalStateException("Exception updating monitor lock with 
host and port", e);
 -}
  
  MetricsInfo metricsInfo = getContext().getMetricsInfo();
- metricsInfo.addServiceTags(getApplicationName(),
- HostAndPort.fromParts(advertiseHost, livePort));
+ metricsInfo.addServiceTags(getApplicationName(), monitorHostAndPort);
 +metricsInfo.addMetricsProducers(this);
  metricsInfo.init();
  
  try {



(accumulo) branch 2.1 updated (96b86a5f62 -> 1584ea83a1)

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

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


from 96b86a5f62 Update scan server metrics for file reservations (#4522)
 add 1584ea83a1 Add the host:port information to the monitor service lock 
(#4517)

No new revisions were added by this update.

Summary of changes:
 .../src/main/java/org/apache/accumulo/monitor/Monitor.java| 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

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

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

commit 46ed92329cf83911c5b43f348658941e0979f3f9
Merge: 8da73ce467 96b86a5f62
Author: Ed Coleman 
AuthorDate: Fri May 3 16:57:08 2024 +

Merge remote-tracking branch 'upstream/2.1'

includes:
  - 96b86a5f62 - update for additional scan server metrics
  - c488f788ad - adds scan server metrics

 .../accumulo/core/metrics/MetricsProducer.java | 108 +++--
 .../org/apache/accumulo/tserver/ScanServer.java|  55 +--
 .../apache/accumulo/tserver/ScanServerMetrics.java |  59 +++
 .../accumulo/tserver/ThriftScanClientHandler.java  |   4 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  24 +++--
 .../apache/accumulo/tserver/ScanServerTest.java|   9 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|  11 ++-
 7 files changed, 192 insertions(+), 78 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
index 5e43b2a938,1bb2a1c10e..2fdf9172ab
--- a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
@@@ -599,9 -613,14 +600,9 @@@ public interface MetricsProducer 
String METRICS_MINC_PREFIX = "accumulo.tserver.compactions.minc.";
String METRICS_MINC_QUEUED = METRICS_MINC_PREFIX + "queued";
String METRICS_MINC_RUNNING = METRICS_MINC_PREFIX + "running";
 -
 -  String METRICS_REPLICATION_PREFIX = "accumulo.replication.";
 -  String METRICS_REPLICATION_QUEUE = METRICS_REPLICATION_PREFIX + "queue";
 -  String METRICS_REPLICATION_PENDING_FILES = METRICS_REPLICATION_PREFIX + 
"files.pending";
 -  String METRICS_REPLICATION_PEERS = METRICS_REPLICATION_PREFIX + "peers";
 -  String METRICS_REPLICATION_THREADS = METRICS_REPLICATION_PREFIX + "threads";
 +  String METRICS_MINC_PAUSED = METRICS_MINC_PREFIX + "paused";
  
-   String METRICS_SCAN_PREFIX = "accumulo.tserver.scans.";
+   String METRICS_SCAN_PREFIX = "accumulo.scan.";
String METRICS_SCAN_TIMES = METRICS_SCAN_PREFIX + "times";
String METRICS_SCAN_OPEN_FILES = METRICS_SCAN_PREFIX + "files.open";
String METRICS_SCAN_RESULTS = METRICS_SCAN_PREFIX + "result";
@@@ -609,10 -628,15 +610,17 @@@
String METRICS_SCAN_START = METRICS_SCAN_PREFIX + "start";
String METRICS_SCAN_CONTINUE = METRICS_SCAN_PREFIX + "continue";
String METRICS_SCAN_CLOSE = METRICS_SCAN_PREFIX + "close";
-   String METRICS_SCAN_BUSY_TIMEOUT = METRICS_SCAN_PREFIX + "busy.timeout";
+   String METRICS_SCAN_BUSY_TIMEOUT_COUNTER = METRICS_SCAN_PREFIX + 
"busy.timeout.count";
+   String METRICS_SCAN_RESERVATION_TIMER = METRICS_SCAN_PREFIX + 
"reservation.timer";
+   String METRICS_SCAN_QUERIES = METRICS_SCAN_PREFIX + "queries";
+   String METRICS_SCAN_QUERY_SCAN_RESULTS = METRICS_SCAN_PREFIX + 
"query.results";
+   String METRICS_SCAN_QUERY_SCAN_RESULTS_BYTES = METRICS_SCAN_PREFIX + 
"query.results.bytes";
+   String METRICS_SCAN_SCANNED_ENTRIES = METRICS_SCAN_PREFIX + 
"query.scanned.entries";
 +  String METRICS_SCAN_PAUSED_FOR_MEM = METRICS_SCAN_PREFIX + 
"paused.for.memory";
 +  String METRICS_SCAN_RETURN_FOR_MEM = METRICS_SCAN_PREFIX + 
"return.early.for.memory";
  
+   String METRICS_SCAN_TABLET_METADATA_CACHE = METRICS_SCAN_PREFIX + 
"tablet.metadata.cache";
+ 
String METRICS_TSERVER_PREFIX = "accumulo.tserver.";
String METRICS_TSERVER_ENTRIES = METRICS_TSERVER_PREFIX + "entries";
String METRICS_TSERVER_MEM_ENTRIES = METRICS_TSERVER_PREFIX + "entries.mem";
diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
index ca4b28d06e,1e237e80e8..44ab680a98
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
@@@ -76,17 -70,20 +76,18 @@@ import org.apache.accumulo.core.metadat
  import org.apache.accumulo.core.metadata.StoredTabletFile;
  import org.apache.accumulo.core.metadata.schema.Ample;
  import org.apache.accumulo.core.metadata.schema.TabletMetadata;
 +import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
  import org.apache.accumulo.core.metrics.MetricsInfo;
  import org.apache.accumulo.core.securityImpl.thrift.TCredentials;
 -import org.apache.accumulo.core.spi.scan.ScanServerSelector;
 -import org.apache.accumulo.core.tabletserver.thrift.ActiveScan;
 +import org.apache.accumulo.core.tabletscan.thrift.ActiveScan;
++import org.apache.accumulo.core.tabletscan.thrift.ScanServerBusyException;
 +import org.ap

(accumulo) branch main updated (8da73ce467 -> 46ed92329c)

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

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


from 8da73ce467 Merge branch '2.1'
 add c488f788ad scan server metrics from #4458 based on #4459 (#4461)
 add 96b86a5f62 Update scan server metrics for file reservations (#4522)
 new 46ed92329c Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/metrics/MetricsProducer.java | 108 +++--
 .../org/apache/accumulo/tserver/ScanServer.java|  55 +--
 .../apache/accumulo/tserver/ScanServerMetrics.java |  59 +++
 .../accumulo/tserver/ThriftScanClientHandler.java  |   4 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  24 +++--
 .../apache/accumulo/tserver/ScanServerTest.java|   9 ++
 .../apache/accumulo/test/metrics/MetricsIT.java|  11 ++-
 7 files changed, 192 insertions(+), 78 deletions(-)
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java



(accumulo) branch 2.1 updated (c488f788ad -> 96b86a5f62)

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

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


from c488f788ad scan server metrics from #4458 based on #4459 (#4461)
 add 96b86a5f62 Update scan server metrics for file reservations (#4522)

No new revisions were added by this update.

Summary of changes:
 .../src/main/java/org/apache/accumulo/tserver/ScanServer.java  | 7 ---
 .../src/test/java/org/apache/accumulo/tserver/ScanServerTest.java  | 5 +
 2 files changed, 9 insertions(+), 3 deletions(-)



(accumulo) branch 2.1 updated: scan server metrics from #4458 based on #4459 (#4461)

2024-05-02 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new c488f788ad scan server metrics from #4458 based on #4459 (#4461)
c488f788ad is described below

commit c488f788ad3add4992c30556d7b5bc941d6f0a39
Author: EdColeman 
AuthorDate: Thu May 2 21:52:23 2024 -0400

scan server metrics from #4458 based on #4459 (#4461)

* Add scan server metrics
* scan metrics renaming to remove specific service in favor of tags 
(removes tserver from scan metric names)
* enable stats on scan sever tablet metadata cache
* add resource.group to sserver common tags instead of on individual metrics

-

Co-authored-by: Keith Turner 
---
 .../accumulo/core/metrics/MetricsProducer.java | 102 -
 .../org/apache/accumulo/tserver/ScanServer.java|  51 ++-
 .../apache/accumulo/tserver/ScanServerMetrics.java |  59 
 .../accumulo/tserver/ThriftScanClientHandler.java  |   4 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  20 ++--
 .../apache/accumulo/tserver/ScanServerTest.java|   4 +
 .../apache/accumulo/test/metrics/MetricsIT.java|   7 +-
 7 files changed, 187 insertions(+), 60 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java 
b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
index 568b295f58..1bb2a1c10e 100644
--- a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
@@ -314,37 +314,6 @@ import io.micrometer.core.instrument.MeterRegistry;
  * 
  * 
  * 
- * queries
- * Gauge
- * {@value #METRICS_TSERVER_QUERIES}
- * Gauge
- * 
- * 
- * 
- * scannedRate
- * Gauge
- * {@value #METRICS_TSERVER_SCANNED_ENTRIES}
- * Gauge
- * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
- * derived
- * 
- * 
- * queryRate
- * Gauge
- * {@value #METRICS_TSERVER_SCAN_RESULTS}
- * Gauge
- * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
- * derived
- * 
- * 
- * queryByteRate
- * Gauge
- * {@value #METRICS_TSERVER_SCAN_RESULTS_BYTES}
- * Gauge
- * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
- * derived
- * 
- * 
  * ingestRate
  * Gauge
  * {@value #METRICS_TSERVER_INGEST_MUTATIONS}
@@ -367,6 +336,28 @@ import io.micrometer.core.instrument.MeterRegistry;
  * Gauge
  * 
  * 
+ * 
+ * 
+ * N/A
+ * N/A
+ * {@value #METRICS_SCAN_RESERVATION_TIMER}
+ * Timer
+ * Time to reserve a tablets files for scan
+ * 
+ * 
+ * N/A
+ * N/A
+ * {@value #METRICS_SCAN_BUSY_TIMEOUT_COUNTER}
+ * Counter
+ * Count of the scans where a busy timeout happened
+ * 
+ * 
+ * N/A
+ * N/A
+ * {@value #METRICS_SCAN_TABLET_METADATA_CACHE}
+ * Cache
+ * scan server tablet cache metrics
+ * 
  * 
  * 
  * scan
@@ -418,12 +409,36 @@ import io.micrometer.core.instrument.MeterRegistry;
  * 
  * 
  * 
- * N/A
- * N/A
- * {@value #METRICS_SCAN_BUSY_TIMEOUT}
- * Counter
+ * queries
+ * Gauge
+ * {@value #METRICS_SCAN_QUERIES}
+ * Gauge
  * 
  * 
+ * 
+ * scannedRate
+ * Gauge
+ * {@value #METRICS_SCAN_SCANNED_ENTRIES}
+ * Gauge
+ * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
+ * derived
+ * 
+ * 
+ * queryRate
+ * Gauge
+ * {@value #METRICS_SCAN_QUERY_SCAN_RESULTS}
+ * Gauge
+ * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
+ * derived
+ * 
+ * 
+ * queryByteRate
+ * Gauge
+ * {@value #METRICS_SCAN_QUERY_SCAN_RESULTS_BYTES}
+ * Gauge
+ * Prior to 2.1.0 this metric was reported as a rate, it is now the count 
and the rate can be
+ * derived
+ * 
  * 
  * 
  * {i|e}_{compactionServiceName}_{executor_name}_queued
@@ -605,7 +620,7 @@ public interface MetricsProducer {
   String METRICS_REPLICATION_PEERS = METRICS_REPLICATION_PREFIX + "peers";
   String METRICS_REPLICATION_THREADS = METRICS_REPLICATION_PREFIX + "threads";
 
-  String METRICS_SCAN_PREFIX = "accumulo.tserver.scans.";
+  String METRICS_SCAN_PREFIX = "accumulo.scan.";
   String METRICS_SCAN_TIMES = METRICS_SCAN_PREFIX + "times";
   String METRICS_SCAN_OPEN_FILES = METRICS_SCAN_PREFIX + "files.open";
   String METRICS_SCAN_RESULTS = METRICS_SCAN_PREFIX + "result";
@@ -613,7 +628,14 @@ public interface MetricsProducer {
   String METRICS_SCAN_START = METRICS_SCAN_PREFIX + "start";
   String METRICS_SCAN_CONTINUE = METRICS_SCAN_PREFIX + "continue";
   String METRICS_SCAN_CLOSE = METRICS_SCAN_PREFIX + "close";
-  String METRICS_SCAN_BUSY_TIMEOUT = METRICS_SCAN_PREFIX + "busy.timeout";
+  String METRICS_SCAN_BUSY_TIMEOUT_COUNTER

(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit a198c1fbc45dbe6203bc662cf667010eb8f8d50d
Merge: 76fffdedf3 09adb11491
Author: Ed Coleman 
AuthorDate: Mon Apr 29 19:32:29 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../accumulo/test/compaction/ExternalCompactionMetricsIT.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)




(accumulo) branch elasticity updated (76fffdedf3 -> a198c1fbc4)

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 76fffdedf3 Modified Tablet Mutator implementations to always update 
srv:lock (#4421)
 add 09adb11491 enable metrics log to file for ExternalCompactionMetricsIT 
(#4502)
 new a198c1fbc4 Merge remote-tracking branch 'upstream/main' into elasticity

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/test/compaction/ExternalCompactionMetricsIT.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)



(accumulo) branch main updated: enable metrics log to file for ExternalCompactionMetricsIT (#4502)

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 09adb11491 enable metrics log to file for ExternalCompactionMetricsIT 
(#4502)
09adb11491 is described below

commit 09adb11491afc2e4343efabb0911f047de8846cb
Author: EdColeman 
AuthorDate: Mon Apr 29 15:32:12 2024 -0400

enable metrics log to file for ExternalCompactionMetricsIT (#4502)
---
 .../accumulo/test/compaction/ExternalCompactionMetricsIT.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
index 459fc8b2d4..ff54253869 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
@@ -41,6 +41,7 @@ import 
org.apache.accumulo.core.metadata.schema.Ample.DataLevel;
 import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
 import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
 import org.apache.accumulo.core.metrics.MetricsProducer;
+import org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFactory;
 import org.apache.accumulo.core.util.UtilWaitThread;
 import org.apache.accumulo.core.util.threads.Threads;
 import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
@@ -70,8 +71,11 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
   // Tell the server processes to use a StatsDMeterRegistry that will be 
configured
   // to push all metrics to the sink we started.
   cfg.setProperty(Property.GENERAL_MICROMETER_ENABLED, "true");
-  cfg.setProperty(Property.GENERAL_MICROMETER_FACTORY,
-  TestStatsDRegistryFactory.class.getName());
+  cfg.setProperty("general.custom.metrics.opts.logging.step", "5s");
+  String clazzList = LoggingMeterRegistryFactory.class.getName() + ","
+  + TestStatsDRegistryFactory.class.getName();
+  cfg.setProperty(Property.GENERAL_MICROMETER_FACTORY, clazzList);
+
   Map sysProps = 
Map.of(TestStatsDRegistryFactory.SERVER_HOST, "127.0.0.1",
   TestStatsDRegistryFactory.SERVER_PORT, 
Integer.toString(sink.getPort()));
   cfg.setSystemProperties(sysProps);



(accumulo) branch elasticity updated (03d3a6d911 -> 13bb871ac5)

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 03d3a6d911 Merge remote-tracking branch 'upstream/main' into elasticity
 add 6c8e175eab address obsolete hadoop 2 metrics references. Removes 
deprecated properties and a comment (#4503)
 add 252b46bab3 Merge remote-tracking branch 'upstream/2.1'
 new 13bb871ac5 Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java| 2 --
 1 file changed, 2 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 13bb871ac52613d5ca42127b6c36b3e36e23ccb0
Merge: 03d3a6d911 252b46bab3
Author: Ed Coleman 
AuthorDate: Mon Apr 29 16:54:34 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java| 2 --
 1 file changed, 2 deletions(-)




(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 252b46bab311676ea567df65f7c8577c5921dde3
Merge: e682a2f229 6c8e175eab
Author: Ed Coleman 
AuthorDate: Mon Apr 29 16:37:01 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java| 2 --
 1 file changed, 2 deletions(-)



(accumulo) branch main updated (e682a2f229 -> 252b46bab3)

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from e682a2f229 Fix test failures after metrics merge (#4500)
 add 6c8e175eab address obsolete hadoop 2 metrics references. Removes 
deprecated properties and a comment (#4503)
 new 252b46bab3 Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java| 2 --
 1 file changed, 2 deletions(-)



(accumulo) branch 2.1 updated: address obsolete hadoop 2 metrics references. Removes deprecated properties and a comment (#4503)

2024-04-29 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new 6c8e175eab address obsolete hadoop 2 metrics references. Removes 
deprecated properties and a comment (#4503)
6c8e175eab is described below

commit 6c8e175eab871428e0340d65bdcedbef0d332c42
Author: EdColeman 
AuthorDate: Mon Apr 29 12:24:41 2024 -0400

address obsolete hadoop 2 metrics references. Removes deprecated properties 
and a comment (#4503)
---
 core/src/main/java/org/apache/accumulo/core/conf/Property.java  | 6 --
 .../apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java| 2 --
 2 files changed, 8 deletions(-)

diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index 80a9b21b33..fc5a52f239 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
@@ -382,9 +382,6 @@ public enum Property {
   MANAGER_WALOG_CLOSER_IMPLEMETATION("manager.walog.closer.implementation",
   "org.apache.accumulo.server.manager.recovery.HadoopLogCloser", 
PropertyType.CLASSNAME,
   "A class that implements a mechanism to steal write access to a 
write-ahead log.", "1.5.0"),
-  @Deprecated
-  MANAGER_FATE_METRICS_ENABLED("manager.fate.metrics.enabled", "true", 
PropertyType.BOOLEAN,
-  "Enable reporting of FATE metrics in JMX (and logging with Hadoop 
Metrics2).", "1.9.3"),
   
MANAGER_FATE_METRICS_MIN_UPDATE_INTERVAL("manager.fate.metrics.min.update.interval",
 "60s",
   PropertyType.TIMEDURATION, "Limit calls from metric sinks to zookeeper 
to update interval.",
   "1.9.3"),
@@ -924,9 +921,6 @@ public enum Property {
   + " and possibly compacted. Legal values are: compact - which both 
flushes and compacts the"
   + " metadata; flush - which flushes only (compactions may be 
triggered if required); or none.",
   "1.10.0"),
-  @Deprecated
-  GC_METRICS_ENABLED("gc.metrics.enabled", "true", PropertyType.BOOLEAN,
-  "Enable detailed gc metrics reporting with hadoop metrics.", "1.10.0"),
 
   // properties that are specific to the monitor server behavior
   MONITOR_PREFIX("monitor.", null, PropertyType.PREFIX,
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
index f508a6871e..599065d7c7 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/metrics/TabletServerMetricsUtil.java
@@ -24,8 +24,6 @@ import org.apache.accumulo.tserver.tablet.Tablet;
 
 /**
  * Wrapper around extracting metrics from a TabletServer instance
- *
- * Necessary to support both old custom JMX metrics and Hadoop Metrics2
  */
 public class TabletServerMetricsUtil {
 



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

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

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

commit 03d3a6d911f5711e95d5ebc990821bd2a69a85e9
Merge: 07bf1bc6fd e682a2f229
Author: Ed 
AuthorDate: Sat Apr 27 16:40:04 2024 -0400

Merge remote-tracking branch 'upstream/main' into elasticity

 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 4 ++--
 .../monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java | 1 +
 .../src/main/java/org/apache/accumulo/tserver/TabletServer.java| 2 +-
 .../org/apache/accumulo/test/functional/MemoryStarvedScanIT.java   | 7 +--
 .../java/org/apache/accumulo/test/functional/ZombieTServer.java| 7 +++
 5 files changed, 16 insertions(+), 5 deletions(-)

diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 0d99ea3f0f,6c07e9bb32..74ec7b89a5
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@@ -488,8 -492,9 +488,9 @@@ public class Monitor extends AbstractSe
  log.debug("Using {} to advertise monitor location in ZooKeeper", 
advertiseHost);
  
  MetricsInfo metricsInfo = getContext().getMetricsInfo();
 -metricsInfo.addServiceTags(getApplicationName(),
 -HostAndPort.fromParts(advertiseHost, livePort));
 +metricsInfo.addServiceTags(getApplicationName(), 
HostAndPort.fromParts(advertiseHost, livePort),
 +getResourceGroup());
+ metricsInfo.addMetricsProducers(this);
  metricsInfo.init();
  
  try {
diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 9947b5e48b,409d1ecada..93f3e58def
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@@ -582,12 -711,18 +582,12 @@@ public class TabletServer extends Abstr
  updateMetrics = new TabletServerUpdateMetrics();
  scanMetrics = new TabletServerScanMetrics();
  mincMetrics = new TabletServerMinCMetrics();
 -ceMetrics = new CompactionExecutorsMetrics();
  pausedMetrics = new PausedCompactionMetrics();
  
- metricsInfo.addMetricsProducers(metrics, updateMetrics, scanMetrics, 
mincMetrics,
+ metricsInfo.addMetricsProducers(this, metrics, updateMetrics, 
scanMetrics, mincMetrics,
 -ceMetrics, pausedMetrics);
 +pausedMetrics);
  metricsInfo.init();
  
 -this.compactionManager = new CompactionManager(() -> Iterators
 -.transform(onlineTablets.snapshot().values().iterator(), 
Tablet::asCompactable),
 -getContext(), ceMetrics);
 -compactionManager.start();
 -
  announceExistence();
  
  try {
diff --cc 
test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
index 0becd57120,d2cb595b3d..0c9b08e0ab
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
@@@ -48,14 -43,9 +48,15 @@@ import org.apache.accumulo.core.conf.Pr
  import org.apache.accumulo.core.data.Key;
  import org.apache.accumulo.core.data.Range;
  import org.apache.accumulo.core.data.Value;
 +import org.apache.accumulo.core.fate.zookeeper.ZooCache;
  import org.apache.accumulo.core.iterators.WrappingIterator;
 +import org.apache.accumulo.core.lock.ServiceLock;
 +import org.apache.accumulo.core.lock.ServiceLockData;
 +import org.apache.accumulo.core.lock.ServiceLockData.ThriftService;
  import org.apache.accumulo.core.metrics.MetricsProducer;
 +import org.apache.accumulo.core.rpc.ThriftUtil;
 +import org.apache.accumulo.core.rpc.clients.ThriftClientTypes;
+ import org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFactory;
  import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
  import org.apache.accumulo.harness.SharedMiniClusterBase;
  import org.apache.accumulo.minicluster.MemoryUnit;
diff --cc 
test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
index ab90bcf870,d7562f78c1..bc10568f7c
--- a/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
@@@ -129,6 -132,11 +130,12 @@@ public class ZombieTServer 
  HostAndPort.fromParts("0.0.0.0", port));
  
  String addressString = serverPort.address.toString();
+ 
+ MetricsInfo metricsInfo = context.getMetricsInfo();
 -metricsInfo.addServiceTags("zombie.server", serverPort.address);
++metricsInfo.addServiceTags("zombie.server", serverPort.address,
++Constants.DEFAULT_RESOURCE_GROUP_NAME);
+ metricsInfo.init();
+ 
  var zLockPath =
  ServiceLock.path(context.getZooKeeperRoot() + Constants.ZTSERVERS + 
"/" + addressString);
  ZooReaderWriter zoo = context.getZooReaderWriter();



(accumulo) branch elasticity updated (07bf1bc6fd -> 03d3a6d911)

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

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


from 07bf1bc6fd Merge branch 'main' into elasticity
 add e682a2f229 Fix test failures after metrics merge (#4500)
 new 03d3a6d911 Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 4 ++--
 .../monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java | 1 +
 .../src/main/java/org/apache/accumulo/tserver/TabletServer.java| 2 +-
 .../org/apache/accumulo/test/functional/MemoryStarvedScanIT.java   | 7 +--
 .../java/org/apache/accumulo/test/functional/ZombieTServer.java| 7 +++
 5 files changed, 16 insertions(+), 5 deletions(-)



(accumulo) branch main updated: Fix test failures after metrics merge (#4500)

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

edcoleman 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 e682a2f229 Fix test failures after metrics merge (#4500)
e682a2f229 is described below

commit e682a2f2296cf95a32d58250aeef612b61147936
Author: EdColeman 
AuthorDate: Sat Apr 27 15:58:24 2024 -0400

Fix test failures after metrics merge (#4500)
---
 .../java/org/apache/accumulo/core/metrics/MetricsProducer.java | 4 ++--
 .../org/apache/accumulo/coordinator/CompactionCoordinator.java | 1 +
 .../monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java | 1 +
 .../src/main/java/org/apache/accumulo/tserver/TabletServer.java| 4 ++--
 .../org/apache/accumulo/test/functional/MemoryStarvedScanIT.java   | 7 +--
 .../java/org/apache/accumulo/test/functional/ZombieTServer.java| 6 ++
 6 files changed, 17 insertions(+), 6 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java 
b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
index e50d2d9c03..5e43b2a938 100644
--- a/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
+++ b/core/src/main/java/org/apache/accumulo/core/metrics/MetricsProducer.java
@@ -610,8 +610,8 @@ public interface MetricsProducer {
   String METRICS_SCAN_CONTINUE = METRICS_SCAN_PREFIX + "continue";
   String METRICS_SCAN_CLOSE = METRICS_SCAN_PREFIX + "close";
   String METRICS_SCAN_BUSY_TIMEOUT = METRICS_SCAN_PREFIX + "busy.timeout";
-  String METRICS_SCAN_PAUSED_FOR_MEM = METRICS_SCAN_PREFIX + 
".paused.for.memory";
-  String METRICS_SCAN_RETURN_FOR_MEM = METRICS_SCAN_PREFIX + 
".return.early.for.memory";
+  String METRICS_SCAN_PAUSED_FOR_MEM = METRICS_SCAN_PREFIX + 
"paused.for.memory";
+  String METRICS_SCAN_RETURN_FOR_MEM = METRICS_SCAN_PREFIX + 
"return.early.for.memory";
 
   String METRICS_TSERVER_PREFIX = "accumulo.tserver.";
   String METRICS_TSERVER_ENTRIES = METRICS_TSERVER_PREFIX + "entries";
diff --git 
a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
 
b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
index ec8cdc514c..45570110d6 100644
--- 
a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
+++ 
b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
@@ -264,6 +264,7 @@ public class CompactionCoordinator extends AbstractServer
 
 MetricsInfo metricsInfo = getContext().getMetricsInfo();
 metricsInfo.addServiceTags(getApplicationName(), clientAddress);
+metricsInfo.addMetricsProducers(this);
 metricsInfo.init();
 
 // On a re-start of the coordinator it's possible that external 
compactions are in-progress.
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 fde338f422..6c07e9bb32 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
@@ -494,6 +494,7 @@ public class Monitor extends AbstractServer implements 
HighlyAvailableService {
 MetricsInfo metricsInfo = getContext().getMetricsInfo();
 metricsInfo.addServiceTags(getApplicationName(),
 HostAndPort.fromParts(advertiseHost, livePort));
+metricsInfo.addMetricsProducers(this);
 metricsInfo.init();
 
 try {
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 89d503ef58..409d1ecada 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -714,8 +714,8 @@ public class TabletServer extends AbstractServer implements 
TabletHostingServer
 ceMetrics = new CompactionExecutorsMetrics();
 pausedMetrics = new PausedCompactionMetrics();
 
-metricsInfo.addMetricsProducers(metrics, updateMetrics, scanMetrics, 
mincMetrics, ceMetrics,
-pausedMetrics);
+metricsInfo.addMetricsProducers(this, metrics, updateMetrics, scanMetrics, 
mincMetrics,
+ceMetrics, pausedMetrics);
 metricsInfo.init();
 
 this.compactionManager = new CompactionManager(() -> Iterators
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
index 59b9a535b8..d2cb595b3d 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
++

(accumulo) branch main updated: Fix PausedCompactionMetrics caused by merge issue (#4491)

2024-04-25 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 65dd34fad4 Fix PausedCompactionMetrics caused by merge issue (#4491)
65dd34fad4 is described below

commit 65dd34fad42590197cb242c9cb44a7a382dbccae
Author: EdColeman 
AuthorDate: Thu Apr 25 08:15:18 2024 -0400

Fix PausedCompactionMetrics caused by merge issue (#4491)
---
 .../src/main/java/org/apache/accumulo/compactor/Compactor.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 6b0931b3d4..ebd195a22f 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
@@ -135,7 +135,7 @@ public class Compactor extends AbstractServer implements 
MetricsProducer, Compac
 
   private ServiceLock compactorLock;
   private ServerAddress compactorAddress = null;
-  private PausedCompactionMetrics pausedMetrics;
+  private final PausedCompactionMetrics pausedMetrics = new 
PausedCompactionMetrics();
 
   // Exposed for tests
   protected volatile boolean shutdown = false;



(accumulo) branch main updated: Merge branch '2.1'

2024-04-24 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 6c1e453f53 Merge branch '2.1'
6c1e453f53 is described below

commit 6c1e453f5399dc21bf9889bb78e0ff541ad95878
Author: Ed Coleman 
AuthorDate: Wed Apr 24 18:47:12 2024 +

Merge branch '2.1'

 - excludes changes to the grep iterator and grep shell command.
---
 core/pom.xml   |   1 +
 .../org/apache/accumulo/core/conf/Property.java|  11 +-
 .../core/metrics/MeterRegistryFactory.java |   5 +
 .../apache/accumulo/core/metrics/MetricsInfo.java  | 114 
 .../accumulo/core/metrics/MetricsProducer.java |  43 ---
 .../apache/accumulo/core/metrics/MetricsUtil.java  | 132 -
 .../spi/metrics/LoggingMeterRegistryFactory.java   |  81 ++
 .../core/spi/metrics/MeterRegistryFactory.java |  72 +
 .../accumulo/core/util/threads/ThreadPools.java|  38 ++-
 .../metrics/LoggingMeterRegistryFactoryTest.java   |  52 
 .../miniclusterImpl/MiniAccumuloConfigImpl.java|   3 +
 .../org/apache/accumulo/server/AbstractServer.java |   9 +-
 .../org/apache/accumulo/server/ServerContext.java  |  13 +
 .../server/compaction/PausedCompactionMetrics.java |   5 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |  18 +-
 .../server/conf/store/impl/PropStoreMetrics.java   |  92 --
 .../server/conf/store/impl/ZooPropLoader.java  |  19 +-
 .../server/conf/store/impl/ZooPropStore.java   |  15 +-
 .../server/metrics/MeterRegistryEnvPropImpl.java   |  75 +
 .../accumulo/server/metrics/MetricsInfoImpl.java   | 319 +
 .../apache/accumulo/server/rpc/TServerUtils.java   |  11 +-
 .../apache/accumulo/server/rpc/TimedProcessor.java |   6 +-
 .../conf/store/impl/PropCacheCaffeineImplTest.java |   6 +-
 .../server/conf/store/impl/PropStoreEventTest.java |   8 +-
 .../server/conf/store/impl/ZooPropLoaderTest.java  |  78 ++---
 .../metrics/MeterRegistryEnvPropImplTest.java  |  50 
 .../server/metrics/MetricsInfoImplTest.java|  84 ++
 .../accumulo/server/rpc/TServerUtilsTest.java  |  19 +-
 .../coordinator/CompactionCoordinator.java |  15 +-
 .../org/apache/accumulo/compactor/Compactor.java   |  18 +-
 .../apache/accumulo/gc/SimpleGarbageCollector.java |  19 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  20 +-
 .../accumulo/manager/metrics/ManagerMetrics.java   |  24 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |  49 ++--
 .../java/org/apache/accumulo/monitor/Monitor.java  |   6 +
 .../org/apache/accumulo/tserver/ScanServer.java|  19 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |  34 +--
 .../tserver/TabletServerResourceManager.java   |  35 +--
 .../tserver/metrics/TabletServerMinCMetrics.java   |   8 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  24 +-
 .../accumulo/tserver/tablet/CompactableImpl.java   |   9 +
 .../test/conf/store/PropCacheCaffeineImplZkIT.java |  10 +-
 .../accumulo/test/functional/ZombieTServer.java|   2 +-
 .../apache/accumulo/test/metrics/MetricsIT.java|  16 +-
 .../test/metrics/TestStatsDRegistryFactory.java|   6 +-
 .../accumulo/test/performance/NullTserver.java |   2 +-
 test/src/main/resources/log4j2-test.properties |  23 --
 47 files changed, 1109 insertions(+), 609 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index 05d9a02c69..5d70035fab 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -271,6 +271,7 @@
   
   
   
+
io[.]micrometer[.]core[.]instrument[.]MeterRegistry
 io[.]opentelemetry[.]api[.]OpenTelemetry
 org[.]apache[.]hadoop[.]io[.]Text
 org[.]apache[.]accumulo[.]core[.]client[.].*
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 7d48c05ae1..6dc56205ba 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
@@ -322,8 +322,15 @@ public enum Property {
   "Enables metrics functionality using Micrometer.", "2.1.0"),
   
GENERAL_MICROMETER_JVM_METRICS_ENABLED("general.micrometer.jvm.metrics.enabled",
 "false",
   PropertyType.BOOLEAN, "Enables JVM metrics functionality using 
Micrometer.", "2.1.0"),
-  GENERAL_MICROMETER_FACTORY("general.micrometer.factory", "", 
PropertyType.CLASSNAME,
-  "Name of class that implements MeterRegistryFactory.", "2.1.0"),
+  GENERAL_MICROMETER_FACTORY("general.micrometer.factory",
+  "org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFac

(accumulo) branch 2.1 updated: Additional metrics changes (#4459)

2024-04-24 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new 6d0b476852 Additional metrics changes (#4459)
6d0b476852 is described below

commit 6d0b4768522187d8c43b9bf0850034d80a684235
Author: EdColeman 
AuthorDate: Wed Apr 24 08:55:21 2024 -0400

Additional metrics changes (#4459)

* Completes removal of static MetricsUtils class (this completes changes 
started in #4384)
* Adds metric initialization to ServiceContext
  - provides consistent use of tags and service metrics initialization so  
service name and ip address are applied as common tags.
* Provide a metrics SPI to enable metric provider extensions by users
  - Adds the MeterRegistryFactory to ..core.spi.metrics and deprecates
  .core.metrics.MeterRegistryFactory
  - Modified the GENERAL_MICROMETER_FACTORY to be a list of class names. 
This allows multiple providers to be used. For example, logging and statsd.
  - Provides a sample metrics implementation using a LoggingProvider
* Provides general method that can be used to pass parameters using 
standard properties, with `general.custom.metrics.opts prefix`  to allow for 
user runtime customization
* Removes prop store metrics
---
 core/pom.xml   |   1 +
 .../org/apache/accumulo/core/conf/Property.java|  11 +-
 .../core/metrics/MeterRegistryFactory.java |   5 +
 .../apache/accumulo/core/metrics/MetricsInfo.java  | 114 
 .../accumulo/core/metrics/MetricsProducer.java |  43 ---
 .../apache/accumulo/core/metrics/MetricsUtil.java  | 149 --
 .../spi/metrics/LoggingMeterRegistryFactory.java   |  81 ++
 .../core/spi/metrics/MeterRegistryFactory.java |  72 +
 .../accumulo/core/util/threads/ThreadPools.java|  38 ++-
 .../metrics/LoggingMeterRegistryFactoryTest.java   |  52 
 .../miniclusterImpl/MiniAccumuloConfigImpl.java|   3 +
 .../org/apache/accumulo/server/AbstractServer.java |   9 +-
 .../org/apache/accumulo/server/ServerContext.java  |  13 +
 .../conf/store/impl/PropCacheCaffeineImpl.java |  18 +-
 .../server/conf/store/impl/PropStoreMetrics.java   |  92 --
 .../server/conf/store/impl/ZooPropLoader.java  |  19 +-
 .../server/conf/store/impl/ZooPropStore.java   |  15 +-
 .../server/metrics/MeterRegistryEnvPropImpl.java   |  75 +
 .../accumulo/server/metrics/MetricsInfoImpl.java   | 319 +
 .../apache/accumulo/server/rpc/TServerUtils.java   |  11 +-
 .../apache/accumulo/server/rpc/TimedProcessor.java |   6 +-
 .../conf/store/impl/PropCacheCaffeineImplTest.java |   6 +-
 .../server/conf/store/impl/PropStoreEventTest.java |   8 +-
 .../server/conf/store/impl/ZooPropLoaderTest.java  |  78 ++---
 .../metrics/MeterRegistryEnvPropImplTest.java  |  50 
 .../server/metrics/MetricsInfoImplTest.java|  84 ++
 .../accumulo/server/rpc/TServerUtilsTest.java  |  19 +-
 .../coordinator/CompactionCoordinator.java |  14 +-
 .../coordinator/CompactionCoordinatorTest.java |  11 +
 .../org/apache/accumulo/compactor/Compactor.java   |  17 +-
 .../apache/accumulo/compactor/CompactorTest.java   |  10 +
 .../apache/accumulo/gc/SimpleGarbageCollector.java |  19 +-
 .../java/org/apache/accumulo/manager/Manager.java  |  19 +-
 .../accumulo/manager/metrics/ManagerMetrics.java   |  17 +-
 .../manager/metrics/ReplicationMetrics.java|  12 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |  49 ++--
 .../java/org/apache/accumulo/monitor/Monitor.java  |   6 +
 .../org/apache/accumulo/tserver/ScanServer.java|  17 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |  17 +-
 .../tserver/TabletServerResourceManager.java   |  35 +--
 .../tserver/metrics/TabletServerMinCMetrics.java   |   8 +-
 .../tserver/metrics/TabletServerScanMetrics.java   |  19 +-
 .../test/conf/store/PropCacheCaffeineImplZkIT.java |  10 +-
 .../accumulo/test/functional/ZombieTServer.java|   2 +-
 .../apache/accumulo/test/metrics/MetricsIT.java|  16 +-
 .../test/metrics/TestStatsDRegistryFactory.java|   6 +-
 .../accumulo/test/performance/NullTserver.java |   2 +-
 test/src/main/resources/log4j2-test.properties |  23 --
 48 files changed, 1112 insertions(+), 608 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index d8cc050b33..6e4ffc9883 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -277,6 +277,7 @@
   
   
   
+
io[.]micrometer[.]core[.]instrument[.]MeterRegistry
 io[.]opentelemetry[.]api[.]OpenTelemetry
 org[.]apache[.]hadoop[.]io[.]Text
 org[.]apache[.]accumulo[.]core[.]client[.].*
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
b/core/src/main/java/org/apache/accumulo/core/conf

(accumulo) branch elasticity updated (8c68e4732e -> 14645fcd87)

2024-04-09 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 8c68e4732e Fixed NPE in CompactionDriver when null passed to Text 
constructor (#4443)
 add ac80267fcb Add utility to create an empty wal file. (#4116)
 add 14645fcd87 Merge remote-tracking branch 'upstream/main' into elasticity

No new revisions were added by this update.

Summary of changes:
 .../accumulo/core/file/rfile/CreateEmpty.java  | 113 -
 .../apache/accumulo/tserver/util/CreateEmpty.java  | 198 
 .../accumulo/tserver/util/CreateEmptyTest.java | 263 +
 .../test/functional/RecoveryWithEmptyRFileIT.java  |   3 +-
 .../apache/accumulo/test/start/KeywordStartIT.java |   2 +-
 5 files changed, 464 insertions(+), 115 deletions(-)
 delete mode 100644 
core/src/main/java/org/apache/accumulo/core/file/rfile/CreateEmpty.java
 create mode 100644 
server/tserver/src/main/java/org/apache/accumulo/tserver/util/CreateEmpty.java
 create mode 100644 
server/tserver/src/test/java/org/apache/accumulo/tserver/util/CreateEmptyTest.java



(accumulo) branch main updated: Add utility to create an empty wal file. (#4116)

2024-04-09 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 ac80267fcb Add utility to create an empty wal file. (#4116)
ac80267fcb is described below

commit ac80267fcb797dd57c5fead1cdd4e96d8a480a00
Author: EdColeman 
AuthorDate: Tue Apr 9 11:24:18 2024 -0400

Add utility to create an empty wal file. (#4116)

Updated the CreateEmpty utility with an option to create empty wal file(s).
---
 .../accumulo/core/file/rfile/CreateEmpty.java  | 113 -
 .../apache/accumulo/tserver/util/CreateEmpty.java  | 198 
 .../accumulo/tserver/util/CreateEmptyTest.java | 263 +
 .../test/functional/RecoveryWithEmptyRFileIT.java  |   3 +-
 .../apache/accumulo/test/start/KeywordStartIT.java |   2 +-
 5 files changed, 464 insertions(+), 115 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/file/rfile/CreateEmpty.java 
b/core/src/main/java/org/apache/accumulo/core/file/rfile/CreateEmpty.java
deleted file mode 100644
index 5a8d4dc104..00
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/CreateEmpty.java
+++ /dev/null
@@ -1,113 +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
- *
- *   https://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.core.file.rfile;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.accumulo.core.cli.Help;
-import org.apache.accumulo.core.conf.DefaultConfiguration;
-import org.apache.accumulo.core.file.FileSKVWriter;
-import org.apache.accumulo.core.file.rfile.bcfile.Compression;
-import org.apache.accumulo.core.metadata.UnreferencedTabletFile;
-import org.apache.accumulo.core.spi.crypto.NoCryptoServiceFactory;
-import org.apache.accumulo.core.spi.file.rfile.compression.NoCompression;
-import org.apache.accumulo.start.spi.KeywordExecutable;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.beust.jcommander.IParameterValidator;
-import com.beust.jcommander.Parameter;
-import com.beust.jcommander.ParameterException;
-import com.google.auto.service.AutoService;
-
-/**
- * Create an empty RFile for use in recovering from data loss where Accumulo 
still refers internally
- * to a path.
- */
-@AutoService(KeywordExecutable.class)
-public class CreateEmpty implements KeywordExecutable {
-  private static final Logger log = LoggerFactory.getLogger(CreateEmpty.class);
-
-  public static class NamedLikeRFile implements IParameterValidator {
-@Override
-public void validate(String name, String value) throws ParameterException {
-  if (!value.endsWith(".rf")) {
-throw new ParameterException("File must end with .rf and '" + value + 
"' does not.");
-  }
-}
-  }
-
-  public static class IsSupportedCompressionAlgorithm implements 
IParameterValidator {
-@Override
-public void validate(String name, String value) throws ParameterException {
-  List algorithms = Compression.getSupportedAlgorithms();
-  if (!algorithms.contains(value)) {
-throw new ParameterException("Compression codec must be one of " + 
algorithms);
-  }
-}
-  }
-
-  static class Opts extends Help {
-@Parameter(names = {"-c", "--codec"}, description = "the compression codec 
to use.",
-validateWith = IsSupportedCompressionAlgorithm.class)
-String codec = new NoCompression().getName();
-@Parameter(
-description = "  {  ... } Each path given is a URL."
-+ " Relative paths are resolved according to the default 
filesystem defined in"
-+ " your Hadoop configuration, which is usually an HDFS instance.",
-required = true, validateWith = NamedLikeRFile.class)
-List files = new ArrayList<>();
-  }
-
-  public static void main(String[] args) throws Exception {
-new CreateEmpty().execute(args);
-  }
-
-  @Override
-  public String keyword() {
-return "crea

(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-03-19 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 2f4b0372512b3cf677e7a66d4b5ee8482a36a0da
Merge: ce83488245 0ad96b1dc0
Author: Ed Coleman 
AuthorDate: Tue Mar 19 20:31:36 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../accumulo/core/clientImpl/ClientContext.java|   9 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../core/clientImpl/InstanceOperationsImpl.java|   4 +-
 .../core/clientImpl/TableOperationsImpl.java   |   4 +-
 .../core/clientImpl/TabletServerBatchReader.java   |   5 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   8 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   8 +-
 .../accumulo/core/file/BloomFilterLayer.java   |   5 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   4 +-
 .../blockfile/cache/tinylfu/TinyLfuBlockCache.java |   2 +-
 .../util/compaction/ExternalCompactionUtil.java|   9 +-
 .../accumulo/core/util/threads/ThreadPools.java| 379 +
 .../core/file/rfile/MultiThreadedRFileTest.java|   7 +-
 .../threads/ThreadPoolExecutorBuilderTest.java |  79 +
 .../server/conf/ServerConfigurationFactory.java|   4 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |   7 +-
 .../server/conf/store/impl/PropStoreWatcher.java   |   5 +-
 .../accumulo/server/fs/VolumeManagerImpl.java  |   4 +-
 .../accumulo/server/problems/ProblemReports.java   |   7 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   7 +-
 .../server/util/RemoveEntriesForMissingFiles.java  |   4 +-
 .../server/util/VerifyTabletAssignments.java   |   5 +-
 .../server/conf/store/impl/ReadyMonitorTest.java   |   4 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   2 +-
 .../compaction/coordinator/QueueMetrics.java   |   4 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |   4 +-
 .../accumulo/manager/recovery/RecoveryManager.java |   4 +-
 .../apache/accumulo/manager/split/Splitter.java|   5 +-
 .../manager/tableOps/bulkVer2/TabletRefresher.java |   2 +-
 .../manager/upgrade/UpgradeCoordinator.java|   8 +-
 .../tserver/TabletServerResourceManager.java   |  21 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |   5 +-
 .../accumulo/tserver/log/TabletServerLogger.java   |   4 +-
 .../accumulo/test/BalanceWithOfflineTableIT.java   |   5 +-
 .../test/functional/BatchWriterFlushIT.java|   2 +-
 35 files changed, 409 insertions(+), 229 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
index c009e14b14,02aeef6bf6..bf650a077f
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
@@@ -372,8 -372,8 +372,8 @@@ public class ConditionalWriterImpl impl
  this.auths = config.getAuthorizations();
  this.ve = new VisibilityEvaluator(config.getAuthorizations());
  this.threadPool = context.threadPools().createScheduledExecutorService(
- config.getMaxWriteThreads(), this.getClass().getSimpleName(), false);
+ config.getMaxWriteThreads(), this.getClass().getSimpleName());
 -this.locator = new SyncingTabletLocator(context, tableId);
 +this.locator = new SyncingClientTabletCache(context, tableId);
  this.serverQueues = new HashMap<>();
  this.tableId = tableId;
  this.tableName = tableName;
diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
index 297ed70495,6b94fd81cf..2ea43612f1
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
@@@ -448,74 -422,109 +448,76 @@@ public class TableOperationsImpl extend
  }
}
  
 -  private static class SplitEnv {
 -private final String tableName;
 -private final TableId tableId;
 -private final ExecutorService executor;
 -private final CountDownLatch latch;
 -private final AtomicReference exception;
 -
 -SplitEnv(String tableName, TableId tableId, ExecutorService executor, 
CountDownLatch latch,
 -AtomicReference exception) {
 -  this.tableName = tableName;
 -  this.tableId = tableId;
 -  this.executor = executor;
 -  this.latch = latch;
 -  this.exception = exception;
 -}
 -  }
 -
 -  private class SplitTask implements Runnable {
 -
 -private List splits;
 -private SplitEnv env;
 +  /**
 +   * On the server side the fate operation will exit w/o an error if the 
tablet requested to split
 +   * does not exist. When this happens it will also return an empty string. 
In the case where the
 +   * fate operation successfully splits the tablet it will return the 
following string. This code
 +   * uses this return value 

(accumulo) branch elasticity updated (ce83488245 -> 2f4b037251)

2024-03-19 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from ce83488245 Reduced number of compactions in CompactionConfigChangeIT 
(#4402)
 add ec8ae122ed Use fluent-style builder for pool creation, replacing 
overloaded methods (#4384)
 add 0ad96b1dc0 Merge remote-tracking branch 'upstream/2.1'
 new 2f4b037251 Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/clientImpl/ClientContext.java|   9 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../core/clientImpl/InstanceOperationsImpl.java|   4 +-
 .../core/clientImpl/TableOperationsImpl.java   |   4 +-
 .../core/clientImpl/TabletServerBatchReader.java   |   5 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   8 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   8 +-
 .../accumulo/core/file/BloomFilterLayer.java   |   5 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   4 +-
 .../blockfile/cache/tinylfu/TinyLfuBlockCache.java |   2 +-
 .../util/compaction/ExternalCompactionUtil.java|   9 +-
 .../accumulo/core/util/threads/ThreadPools.java| 379 +
 .../core/file/rfile/MultiThreadedRFileTest.java|   7 +-
 .../threads/ThreadPoolExecutorBuilderTest.java |  79 +
 .../server/conf/ServerConfigurationFactory.java|   4 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |   7 +-
 .../server/conf/store/impl/PropStoreWatcher.java   |   5 +-
 .../accumulo/server/fs/VolumeManagerImpl.java  |   4 +-
 .../accumulo/server/problems/ProblemReports.java   |   7 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   7 +-
 .../server/util/RemoveEntriesForMissingFiles.java  |   4 +-
 .../server/util/VerifyTabletAssignments.java   |   5 +-
 .../server/conf/store/impl/ReadyMonitorTest.java   |   4 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   2 +-
 .../compaction/coordinator/QueueMetrics.java   |   4 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |   4 +-
 .../accumulo/manager/recovery/RecoveryManager.java |   4 +-
 .../apache/accumulo/manager/split/Splitter.java|   5 +-
 .../manager/tableOps/bulkVer2/TabletRefresher.java |   2 +-
 .../manager/upgrade/UpgradeCoordinator.java|   8 +-
 .../tserver/TabletServerResourceManager.java   |  21 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |   5 +-
 .../accumulo/tserver/log/TabletServerLogger.java   |   4 +-
 .../accumulo/test/BalanceWithOfflineTableIT.java   |   5 +-
 .../test/functional/BatchWriterFlushIT.java|   2 +-
 35 files changed, 409 insertions(+), 229 deletions(-)
 create mode 100644 
core/src/test/java/org/apache/accumulo/core/util/threads/ThreadPoolExecutorBuilderTest.java



(accumulo) branch main updated (8b0262d5b3 -> 0ad96b1dc0)

2024-03-19 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 8b0262d5b3 Deprecated MiniAccumuloConfig setNumServer methods (#4374)
 add ec8ae122ed Use fluent-style builder for pool creation, replacing 
overloaded methods (#4384)
 new 0ad96b1dc0 Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../accumulo/core/clientImpl/ClientContext.java|   9 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../core/clientImpl/InstanceOperationsImpl.java|   4 +-
 .../core/clientImpl/TableOperationsImpl.java   |   3 +-
 .../core/clientImpl/TabletServerBatchReader.java   |   5 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   8 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   8 +-
 .../accumulo/core/file/BloomFilterLayer.java   |   5 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   4 +-
 .../blockfile/cache/tinylfu/TinyLfuBlockCache.java |   2 +-
 .../util/compaction/ExternalCompactionUtil.java|  10 +-
 .../accumulo/core/util/threads/ThreadPools.java| 386 +
 .../core/file/rfile/MultiThreadedRFileTest.java|   7 +-
 .../threads/ThreadPoolExecutorBuilderTest.java |  79 +
 .../server/conf/ServerConfigurationFactory.java|   4 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |   7 +-
 .../server/conf/store/impl/PropStoreWatcher.java   |   5 +-
 .../accumulo/server/fs/VolumeManagerImpl.java  |   4 +-
 .../accumulo/server/problems/ProblemReports.java   |   7 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   7 +-
 .../server/util/RemoveEntriesForMissingFiles.java  |   4 +-
 .../server/util/VerifyTabletAssignments.java   |   5 +-
 .../server/conf/store/impl/ReadyMonitorTest.java   |   4 +-
 .../coordinator/CompactionCoordinator.java |   4 +-
 .../accumulo/coordinator/CompactionFinalizer.java  |  11 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   2 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |   4 +-
 .../accumulo/manager/recovery/RecoveryManager.java |   4 +-
 .../manager/upgrade/UpgradeCoordinator.java|   8 +-
 .../tserver/TabletServerResourceManager.java   |  31 +-
 .../tserver/compactions/CompactionService.java |   6 +-
 .../compactions/InternalCompactionExecutor.java|   9 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |   5 +-
 .../accumulo/tserver/log/TabletServerLogger.java   |   4 +-
 .../metrics/CompactionExecutorsMetrics.java|   2 +-
 .../accumulo/test/BalanceWithOfflineTableIT.java   |   5 +-
 .../test/functional/BatchWriterFlushIT.java|   2 +-
 .../accumulo/test/functional/BulkFailureIT.java|   4 +-
 38 files changed, 433 insertions(+), 247 deletions(-)
 create mode 100644 
core/src/test/java/org/apache/accumulo/core/util/threads/ThreadPoolExecutorBuilderTest.java



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-03-19 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 0ad96b1dc088070486ccc92a170545a6c91fab7f
Merge: 8b0262d5b3 ec8ae122ed
Author: Ed Coleman 
AuthorDate: Tue Mar 19 19:02:30 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../accumulo/core/clientImpl/ClientContext.java|   9 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../core/clientImpl/InstanceOperationsImpl.java|   4 +-
 .../core/clientImpl/TableOperationsImpl.java   |   3 +-
 .../core/clientImpl/TabletServerBatchReader.java   |   5 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   8 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   8 +-
 .../accumulo/core/file/BloomFilterLayer.java   |   5 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   4 +-
 .../blockfile/cache/tinylfu/TinyLfuBlockCache.java |   2 +-
 .../util/compaction/ExternalCompactionUtil.java|  10 +-
 .../accumulo/core/util/threads/ThreadPools.java| 386 +
 .../core/file/rfile/MultiThreadedRFileTest.java|   7 +-
 .../threads/ThreadPoolExecutorBuilderTest.java |  79 +
 .../server/conf/ServerConfigurationFactory.java|   4 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |   7 +-
 .../server/conf/store/impl/PropStoreWatcher.java   |   5 +-
 .../accumulo/server/fs/VolumeManagerImpl.java  |   4 +-
 .../accumulo/server/problems/ProblemReports.java   |   7 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   7 +-
 .../server/util/RemoveEntriesForMissingFiles.java  |   4 +-
 .../server/util/VerifyTabletAssignments.java   |   5 +-
 .../server/conf/store/impl/ReadyMonitorTest.java   |   4 +-
 .../coordinator/CompactionCoordinator.java |   4 +-
 .../accumulo/coordinator/CompactionFinalizer.java  |  11 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   2 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |   4 +-
 .../accumulo/manager/recovery/RecoveryManager.java |   4 +-
 .../manager/upgrade/UpgradeCoordinator.java|   8 +-
 .../tserver/TabletServerResourceManager.java   |  31 +-
 .../tserver/compactions/CompactionService.java |   6 +-
 .../compactions/InternalCompactionExecutor.java|   9 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |   5 +-
 .../accumulo/tserver/log/TabletServerLogger.java   |   4 +-
 .../metrics/CompactionExecutorsMetrics.java|   2 +-
 .../accumulo/test/BalanceWithOfflineTableIT.java   |   5 +-
 .../test/functional/BatchWriterFlushIT.java|   2 +-
 .../accumulo/test/functional/BulkFailureIT.java|   4 +-
 38 files changed, 433 insertions(+), 247 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
index 12adfc5c98,147f19e5dd..334fb46a53
--- a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
@@@ -243,46 -264,105 +261,82 @@@ public class ThreadPools 
 * @return ExecutorService impl
 * @throws IllegalArgumentException if property is not handled
 */
 -  @SuppressWarnings("deprecation")
public ThreadPoolExecutor createExecutorService(final AccumuloConfiguration 
conf,
final Property p, boolean emitThreadPoolMetrics) {
- 
+ ThreadPoolExecutorBuilder builder;
  switch (p) {
 -  case GENERAL_SIMPLETIMER_THREADPOOL_SIZE:
 -return createScheduledExecutorService(conf.getCount(p), 
"SimpleTimer");
case GENERAL_THREADPOOL_SIZE:
  return createScheduledExecutorService(conf.getCount(p), 
"GeneralExecutor",
  emitThreadPoolMetrics);
 -  case MANAGER_BULK_THREADPOOL_SIZE:
 -builder = getPoolBuilder("bulk 
import").numCoreThreads(conf.getCount(p)).withTimeOut(
 -conf.getTimeInMillis(Property.MANAGER_BULK_THREADPOOL_TIMEOUT), 
MILLISECONDS);
 -if (emitThreadPoolMetrics) {
 -  builder.enableThreadPoolMetrics();
 -}
 -return builder.build();
 -  case MANAGER_RENAME_THREADS:
 -builder = getPoolBuilder("bulk 
move").numCoreThreads(conf.getCount(p));
 -if (emitThreadPoolMetrics) {
 -  builder.enableThreadPoolMetrics();
 -}
 -return builder.build();
case MANAGER_FATE_THREADPOOL_SIZE:
- return createFixedThreadPool(conf.getCount(p), "Repo Runner", 
emitThreadPoolMetrics);
+ builder = getPoolBuilder("Repo 
Runner").numCoreThreads(conf.getCount(p));
+ if (emitThreadPoolMetrics) {
+   builder.enableThreadPoolMetrics();
+ }
+ return builder.build();
case MANAGER_STATUS_THREAD_POOL_SIZE:
+ builder = getPoolBuilder("GatherTableInformation");
  int threads = conf.getCount(p);
  if (thread

(accumulo) branch 2.1 updated: Use fluent-style builder for pool creation, replacing overloaded methods (#4384)

2024-03-19 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new ec8ae122ed Use fluent-style builder for pool creation, replacing 
overloaded methods (#4384)
ec8ae122ed is described below

commit ec8ae122edfd5c25601694d107f18af014e28383
Author: EdColeman 
AuthorDate: Tue Mar 19 13:31:38 2024 -0400

Use fluent-style builder for pool creation, replacing overloaded methods 
(#4384)

* Use fluent-style builder for pool creation, replacing overloaded methods

* Replaces overloaded createThreadPool methods with a fluent-style builder 
(ThreadPoolExecutorBuilderTest).
* Adds ThreadPoolExecutorBuilderTest test,
* Adds `createExecutorService` method that does not have an option to enable
metrics and replaces all occurrences in the code that was calling the 
alternate
method with emitThreadPoolMetrics=false to use it.

The `createScheduledExecutorService` will be refactored in a future PR when 
service
initialization is reworked.  See PR #4342 for an example.

This change isolates where metrics can be enabled and makes finding them
easier.  It also will make reviewing future changes easier because those
changes will be isolated to places that currently enable thread pool
metrics.
---
 .../accumulo/core/clientImpl/ClientContext.java|   9 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../core/clientImpl/InstanceOperationsImpl.java|   4 +-
 .../core/clientImpl/TableOperationsImpl.java   |   3 +-
 .../core/clientImpl/TabletServerBatchReader.java   |   5 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   8 +-
 .../accumulo/core/clientImpl/bulk/BulkImport.java  |   8 +-
 .../accumulo/core/file/BloomFilterLayer.java   |   5 +-
 .../file/blockfile/cache/lru/LruBlockCache.java|   4 +-
 .../blockfile/cache/tinylfu/TinyLfuBlockCache.java |   2 +-
 .../util/compaction/ExternalCompactionUtil.java|  10 +-
 .../accumulo/core/util/threads/ThreadPools.java| 419 +
 .../core/file/rfile/MultiThreadedRFileTest.java|   7 +-
 .../threads/ThreadPoolExecutorBuilderTest.java |  79 
 .../accumulo/server/client/BulkImporter.java   |  10 +-
 .../server/conf/ServerConfigurationFactory.java|   4 +-
 .../conf/store/impl/PropCacheCaffeineImpl.java |   7 +-
 .../server/conf/store/impl/PropStoreWatcher.java   |   5 +-
 .../accumulo/server/fs/VolumeManagerImpl.java  |   4 +-
 .../accumulo/server/problems/ProblemReports.java   |   7 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   7 +-
 .../server/util/RemoveEntriesForMissingFiles.java  |   4 +-
 .../server/util/VerifyTabletAssignments.java   |   5 +-
 .../server/conf/store/impl/ReadyMonitorTest.java   |   4 +-
 .../coordinator/CompactionCoordinator.java |   4 +-
 .../accumulo/coordinator/CompactionFinalizer.java  |  11 +-
 .../main/java/org/apache/accumulo/gc/GCRun.java|   2 +-
 .../java/org/apache/accumulo/manager/Manager.java  |   2 +-
 .../manager/metrics/ReplicationMetrics.java|   2 +-
 .../accumulo/manager/metrics/fate/FateMetrics.java |   4 +-
 .../accumulo/manager/recovery/RecoveryManager.java |   4 +-
 .../manager/tableOps/bulkVer1/BulkImport.java  |   6 +-
 .../manager/upgrade/UpgradeCoordinator.java|   9 +-
 .../org/apache/accumulo/tserver/TabletServer.java  |   2 +-
 .../tserver/TabletServerResourceManager.java   |  31 +-
 .../tserver/compactions/CompactionService.java |   6 +-
 .../compactions/InternalCompactionExecutor.java|   9 +-
 .../org/apache/accumulo/tserver/log/LogSorter.java |   5 +-
 .../accumulo/tserver/log/TabletServerLogger.java   |   4 +-
 .../metrics/CompactionExecutorsMetrics.java|   2 +-
 .../accumulo/test/BalanceWithOfflineTableIT.java   |   5 +-
 .../test/functional/BatchWriterFlushIT.java|   2 +-
 42 files changed, 465 insertions(+), 267 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
index 8f7993812a..d02a2c743e 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
@@ -260,8 +260,9 @@ public class ClientContext implements AccumuloClient {
   submitScannerReadAheadTask(Callable> c) {
 ensureOpen();
 if (scannerReadaheadPool == null) {
-  scannerReadaheadPool = clientThreadPools.createThreadPool(0, 
Integer.MAX_VALUE, 3L, SECONDS,
-  "Accumulo scanner read ahead thread", new SynchronousQueue<>(), 
true);
+  scannerReadaheadPool = clientThreadPools.getPoolBuilder("Accumulo 
scanner read ahead thread")
+  .numCoreThreads(0).numMaxThreads(Inte

(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-03-15 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 61ce280c8ebbfe92961bedf76500e59c1f935cf6
Merge: f1914da45a a3616bf46f
Author: Ed Coleman 
AuthorDate: Fri Mar 15 21:21:51 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

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




(accumulo) branch elasticity updated (f1914da45a -> 61ce280c8e)

2024-03-15 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from f1914da45a Merge branch 'main' into elasticity
 add f26a110292 bump zookeeper version from 3.9.1 to 3.9.2 (#4387)
 add a3616bf46f Merge remote-tracking branch 'upstream/2.1'
 new 61ce280c8e Merge remote-tracking branch 'upstream/main' into elasticity

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(accumulo) branch main updated (fe552af0dd -> a3616bf46f)

2024-03-15 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from fe552af0dd Merge branch '2.1'
 add f26a110292 bump zookeeper version from 3.9.1 to 3.9.2 (#4387)
 new a3616bf46f Merge remote-tracking branch 'upstream/2.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-03-15 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit a3616bf46f218d6b6cb39864f334f7c99acef258
Merge: fe552af0dd f26a110292
Author: Ed Coleman 
AuthorDate: Fri Mar 15 20:33:07 2024 +

Merge remote-tracking branch 'upstream/2.1'

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




(accumulo) branch 2.1 updated: bump zookeeper version from 3.9.1 to 3.9.2 (#4387)

2024-03-15 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new f26a110292 bump zookeeper version from 3.9.1 to 3.9.2 (#4387)
f26a110292 is described below

commit f26a110292a8ec57bee7470ae5942612399f4a54
Author: EdColeman 
AuthorDate: Fri Mar 15 16:12:45 2024 -0400

bump zookeeper version from 3.9.1 to 3.9.2 (#4387)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f0191cdaca..5648b4f859 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,7 +155,7 @@
 2.0.9
 2.0.11
 0.17.0
-3.9.1
+3.9.2
   
   
 



(accumulo) branch elasticity updated (3fe1115014 -> 8b0d235581)

2024-03-11 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 3fe1115014 Updates merge code to handle all tablet metadata columns 
(#4352)
 add 45bcbd44b9 Change to use ServerContext to get scheduled thread pool 
(#4353)
 add 9d9bcc1d48 Merge remote-tracking branch 'upstream/2.1'
 new 8b0d235581 Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../src/main/java/org/apache/accumulo/manager/ManagerTime.java | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-03-11 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 8b0d2355813300ed09b45920fc1cd7cf091df1be
Merge: 3fe1115014 9d9bcc1d48
Author: Ed Coleman 
AuthorDate: Mon Mar 11 13:05:13 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../src/main/java/org/apache/accumulo/manager/ManagerTime.java | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)



(accumulo) branch main updated (311c5fe821 -> 9d9bcc1d48)

2024-03-11 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 311c5fe821 Merge remote-tracking branch 'upstream/2.1'
 add 45bcbd44b9 Change to use ServerContext to get scheduled thread pool 
(#4353)
 new 9d9bcc1d48 Merge remote-tracking branch 'upstream/2.1'

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:
 .../src/main/java/org/apache/accumulo/manager/ManagerTime.java | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-03-11 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 9d9bcc1d4875dfd1405f36ea2fc87eec24b62b4a
Merge: 311c5fe821 45bcbd44b9
Author: Ed Coleman 
AuthorDate: Mon Mar 11 13:03:15 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../src/main/java/org/apache/accumulo/manager/ManagerTime.java | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)



(accumulo) branch 2.1 updated: Change to use ServerContext to get scheduled thread pool (#4353)

2024-03-11 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new 45bcbd44b9 Change to use ServerContext to get scheduled thread pool 
(#4353)
45bcbd44b9 is described below

commit 45bcbd44b9ae43a69552d2f1863490e75a376a32
Author: EdColeman 
AuthorDate: Mon Mar 11 09:01:24 2024 -0400

Change to use ServerContext to get scheduled thread pool (#4353)
---
 .../src/main/java/org/apache/accumulo/manager/ManagerTime.java | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerTime.java 
b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerTime.java
index c7eac43ff0..8bd842fc9d 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerTime.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerTime.java
@@ -64,10 +64,9 @@ public class ManagerTime {
   throw new IOException("Error updating manager time", ex);
 }
 
-ThreadPools.watchCriticalScheduledTask(
-
ThreadPools.getServerThreadPools().createGeneralScheduledExecutorService(conf)
-.scheduleWithFixedDelay(Threads.createNamedRunnable("Manager time 
keeper", () -> run()),
-0, SECONDS.toMillis(10), MILLISECONDS));
+
ThreadPools.watchCriticalScheduledTask(manager.getContext().getScheduledExecutor()
+.scheduleWithFixedDelay(Threads.createNamedRunnable("Manager time 
keeper", () -> run()), 0,
+SECONDS.toMillis(10), MILLISECONDS));
   }
 
   /**



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-03-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 0148294e35dbcf502fb0f9df6a178d669e4c8f3f
Merge: 7b3e52f1ae 311c5fe821
Author: Ed Coleman 
AuthorDate: Fri Mar 8 19:02:50 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

Additional changes from merge
 * Unused type variable in initializeFateInstance
 * unneeded initialization

 .../java/org/apache/accumulo/manager/Manager.java  | 23 +++---
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --cc server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index 95fb00777e,bdf73b9191..6758acfc1f
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@@ -243,20 -231,6 +243,20 @@@ public class Manager extends AbstractSe
  return state;
}
  
 +  // ELASTICITIY_TODO it would be nice if this method could take DataLevel as 
an argument and only
 +  // retrieve information about compactions in that data level. Attempted 
this and a lot of
 +  // refactoring was needed to get that small bit of information to this 
method. Would be best to
 +  // address this after issue. May be best to attempt this after #3576.
 +  public Map> getCompactionHints() {
- Map allConfig = null;
++Map allConfig;
 +try {
 +  allConfig = CompactionConfigStorage.getAllConfig(getContext(), tableId 
-> true);
 +} catch (InterruptedException | KeeperException e) {
 +  throw new RuntimeException(e);
 +}
 +return Maps.transformValues(allConfig, 
CompactionConfig::getExecutionHints);
 +  }
 +
public boolean stillManager() {
  return getManagerState() != ManagerState.STOP;
}
@@@ -620,9 -757,9 +620,9 @@@
  
  @Override
  public void run() {
 -  EventCoordinator.Listener eventListener = nextEvent.getListener();
 +  EventCoordinator.Tracker eventTracker = nextEvent.getTracker();
while (stillManager()) {
- long wait = DEFAULT_WAIT_FOR_WATCHER;
+ long wait;
  try {
switch (getManagerGoalState()) {
  case NORMAL:
@@@ -960,7 -1088,7 +960,7 @@@
  log.info("Started Manager client service at {}", sa.address);
  
  // block until we can obtain the ZK lock for the manager
--ServiceLockData sld = null;
++ServiceLockData sld;
  try {
sld = getManagerLock(ServiceLock.path(zroot + Constants.ZMANAGER_LOCK));
  } catch (KeeperException | InterruptedException e) {
@@@ -1072,17 -1197,17 +1072,17 @@@
  }
  
  try {
-   var metaInstance = initializeFateInstance(context, 
FateInstanceType.META,
 -  final AgeOffStore store = new AgeOffStore<>(
 -  new org.apache.accumulo.core.fate.ZooStore<>(getZooKeeperRoot() + 
Constants.ZFATE,
 -  context.getZooReaderWriter()),
 -  HOURS.toMillis(8), System::currentTimeMillis);
 -
 -  Fate f = new Fate<>(this, store, TraceRepo::toLogString, 
getConfiguration());
 -  fateRef.set(f);
++  var metaInstance = initializeFateInstance(context,
 +  new ZooStore<>(getZooKeeperRoot() + Constants.ZFATE, 
context.getZooReaderWriter()));
-   var userInstance = initializeFateInstance(context, 
FateInstanceType.USER,
++  var userInstance = initializeFateInstance(context,
 +  new AccumuloStore<>(context, AccumuloTable.FATE.tableName()));
 +
 +  if (!fateRefs.compareAndSet(null,
 +  Map.of(FateInstanceType.META, metaInstance, FateInstanceType.USER, 
userInstance))) {
 +throw new IllegalStateException(
 +"Unexpected previous fate reference map already initialized");
 +  }
fateReadyLatch.countDown();
 -
 -  ThreadPools.watchCriticalScheduledTask(context.getScheduledExecutor()
 -  .scheduleWithFixedDelay(store::ageOff, 63000, 63000, MILLISECONDS));
  } catch (KeeperException | InterruptedException e) {
throw new IllegalStateException("Exception setting up FaTE cleanup 
thread", e);
  }
@@@ -1117,15 -1242,9 +1117,15 @@@
  }
  
  String address = sa.address.toString();
 -sld = new ServiceLockData(sld.getServerUUID(ThriftService.MANAGER), 
address,
 -ThriftService.MANAGER);
 -log.info("Setting manager lock data to {}", sld.toString());
 +UUID uuid = sld.getServerUUID(ThriftService.MANAGER);
 +ServiceDescriptors descriptors = new ServiceDescriptors();
 +for (ThriftService svc : new ThriftService[] {ThriftService.MANAGER, 
ThriftService.COORDINATOR,
 +ThriftService.FATE}) {
 +  descriptors.addService(new ServiceDescriptor(uuid, svc, address, 
this.getResourceGroup()));
 +}
 +
 +sld = new ServiceLockData(descriptors);
- log.info("Setting manager lock data to {}&quo

(accumulo) branch elasticity updated (7b3e52f1ae -> 0148294e35)

2024-03-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 7b3e52f1ae Merge remote-tracking branch 'upstream/main' into elasticity
 add d3f8a8b2b5 fixes minor qualtity check issues (#4351)
 add 311c5fe821 Merge remote-tracking branch 'upstream/2.1'
 new 0148294e35 Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../java/org/apache/accumulo/manager/Manager.java  | 23 +++---
 1 file changed, 12 insertions(+), 11 deletions(-)



(accumulo) branch main updated (dcb09a726b -> 311c5fe821)

2024-03-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from dcb09a726b Merge remote-tracking branch 'upstream/2.1'
 add d3f8a8b2b5 fixes minor qualtity check issues (#4351)
 new 311c5fe821 Merge remote-tracking branch 'upstream/2.1'

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:
 .../src/main/java/org/apache/accumulo/manager/Manager.java| 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-03-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 311c5fe821e19f886334fb58e1b79b46aa4957e0
Merge: dcb09a726b d3f8a8b2b5
Author: Ed Coleman 
AuthorDate: Fri Mar 8 18:10:56 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../src/main/java/org/apache/accumulo/manager/Manager.java| 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)




(accumulo) branch 2.1 updated: fixes minor qualtity check issues (#4351)

2024-03-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new d3f8a8b2b5 fixes minor qualtity check issues (#4351)
d3f8a8b2b5 is described below

commit d3f8a8b2b587bed44c978fc6b742e7bfe286148f
Author: EdColeman 
AuthorDate: Fri Mar 8 13:09:02 2024 -0500

fixes minor qualtity check issues (#4351)
---
 .../src/main/java/org/apache/accumulo/manager/Manager.java| 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java 
b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index 9d71e542f9..1b63f18381 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@ -595,7 +595,6 @@ public class Manager extends AbstractServer
 }
 return TabletGoalState.UNASSIGNED;
   case UNLOAD_ROOT_TABLET:
-return TabletGoalState.UNASSIGNED;
   case STOP:
 return TabletGoalState.UNASSIGNED;
   default:
@@ -766,7 +765,7 @@ public class Manager extends AbstractServer
 public void run() {
   EventCoordinator.Listener eventListener = nextEvent.getListener();
   while (stillManager()) {
-long wait = DEFAULT_WAIT_FOR_WATCHER;
+long wait;
 try {
   switch (getManagerGoalState()) {
 case NORMAL:
@@ -1497,7 +1496,7 @@ public class Manager extends AbstractServer
   }
 
   if (acquiredLock) {
-Halt.halt("Zoolock in unexpected state FAL " + acquiredLock + " " + 
failedToAcquireLock,
+Halt.halt("Zoolock in unexpected state acquiredLock true with FAL " + 
failedToAcquireLock,
 -1);
   }
 
@@ -1509,7 +1508,9 @@ public class Manager extends AbstractServer
   while (!acquiredLock && !failedToAcquireLock) {
 try {
   wait();
-} catch (InterruptedException e) {}
+} catch (InterruptedException e) {
+  // empty
+}
   }
 }
   }
@@ -1655,7 +1656,7 @@ public class Manager extends AbstractServer
 
 for (TableId tableId : context.getTableIdToNameMap().keySet()) {
   TableState state = manager.getTableState(tableId);
-  if ((state != null) && (state == TableState.ONLINE)) {
+  if (state == TableState.ONLINE) {
 result.add(tableId);
   }
 }



(accumulo) branch elasticity updated (c7ae69b881 -> 7b3e52f1ae)

2024-03-07 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from c7ae69b881 fixes bug and removes unneeded wait in delete table (#4346)
 add efdc4fc3d7 Remove pool metrics instrumentation from LRU caches (#4345)
 add dcb09a726b Merge remote-tracking branch 'upstream/2.1'
 new 7b3e52f1ae Merge remote-tracking branch 'upstream/main' into elasticity

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:
 .../core/file/blockfile/cache/lru/LruBlockCache.java   | 14 --
 .../file/blockfile/cache/tinylfu/TinyLfuBlockCache.java|  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/main' into elasticity

2024-03-07 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 7b3e52f1ae0f1a02d0804744137db521e96cf201
Merge: c7ae69b881 dcb09a726b
Author: Ed Coleman 
AuthorDate: Thu Mar 7 19:42:42 2024 +

Merge remote-tracking branch 'upstream/main' into elasticity

 .../core/file/blockfile/cache/lru/LruBlockCache.java   | 14 --
 .../file/blockfile/cache/tinylfu/TinyLfuBlockCache.java|  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
index feb6a1b5c1,04cab1a38c..3656b99815
--- 
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
@@@ -63,15 -62,15 +63,15 @@@ public final class TinyLfuBlockCache im
private final Policy.Eviction policy;
private final int maxSize;
private final ScheduledExecutorService statsExecutor = 
ThreadPools.getServerThreadPools()
-   .createScheduledExecutorService(1, "TinyLfuBlockCacheStatsExecutor", 
true);
+   .createScheduledExecutorService(1, "TinyLfuBlockCacheStatsExecutor", 
false);
  
public TinyLfuBlockCache(Configuration conf, CacheType type) {
 -cache = Caffeine.newBuilder()
 +cache = 
Caches.getInstance().createNewBuilder(CacheName.TINYLFU_BLOCK_CACHE, false)
  .initialCapacity((int) Math.ceil(1.2 * conf.getMaxSize(type) / 
conf.getBlockSize()))
 -.weigher((String blockName, Block block) -> {
 +.recordStats().weigher((String blockName, Block block) -> {
int keyWeight = ClassSize.align(blockName.length()) + 
ClassSize.STRING;
return keyWeight + block.weight();
 -}).maximumWeight(conf.getMaxSize(type)).recordStats().build();
 +}).maximumWeight(conf.getMaxSize(type)).build();
  policy = cache.policy().eviction().orElseThrow();
  maxSize = (int) Math.min(Integer.MAX_VALUE, policy.getMaximum());
  ScheduledFuture future = 
statsExecutor.scheduleAtFixedRate(this::logStats, STATS_PERIOD_SEC,



(accumulo) branch main updated (f3d5fb01d7 -> dcb09a726b)

2024-03-07 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from f3d5fb01d7 Merge branch '2.1'
 add efdc4fc3d7 Remove pool metrics instrumentation from LRU caches (#4345)
 new dcb09a726b Merge remote-tracking branch 'upstream/2.1'

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:
 .../core/file/blockfile/cache/lru/LruBlockCache.java   | 14 --
 .../file/blockfile/cache/tinylfu/TinyLfuBlockCache.java|  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-03-07 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit dcb09a726be6a3bb868cbff13f53e91cf1ac26b8
Merge: f3d5fb01d7 efdc4fc3d7
Author: Ed Coleman 
AuthorDate: Thu Mar 7 19:41:01 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../core/file/blockfile/cache/lru/LruBlockCache.java   | 14 --
 .../file/blockfile/cache/tinylfu/TinyLfuBlockCache.java|  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)




(accumulo) branch 2.1 updated: Remove pool metrics instrumentation from LRU caches (#4345)

2024-03-07 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new efdc4fc3d7 Remove pool metrics instrumentation from LRU caches (#4345)
efdc4fc3d7 is described below

commit efdc4fc3d725d9bb2c364db6548c9251ea793a6d
Author: EdColeman 
AuthorDate: Thu Mar 7 14:38:40 2024 -0500

Remove pool metrics instrumentation from LRU caches (#4345)

* The LRU metrics use a thread pool with 1 thread to generate cache
  statistics. The pool size is not configurable. It seems unnecessary
  to produce detail pool metrics for these caches.
* resolve missing isPresent check for weighted size, default to 0 if not
  present in TinyLfuBlockCache
* other minor quality check improvements. (final varibles, unneeded
  initializations.)
---
 .../core/file/blockfile/cache/lru/LruBlockCache.java   | 14 --
 .../file/blockfile/cache/tinylfu/TinyLfuBlockCache.java|  4 ++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
 
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
index e3c399ec58..01972f8ffe 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
@@ -103,7 +103,7 @@ public class LruBlockCache extends 
SynchronousLoadingBlockCache implements Block
 
   /** Statistics thread schedule pool (for heavy debugging, could remove) */
   private final ScheduledExecutorService scheduleThreadPool = 
ThreadPools.getServerThreadPools()
-  .createScheduledExecutorService(1, "LRUBlockCacheStats", true);
+  .createScheduledExecutorService(1, "LRUBlockCacheStats", false);
 
   /** Current size of cache */
   private final AtomicLong size;
@@ -391,9 +391,9 @@ public class LruBlockCache extends 
SynchronousLoadingBlockCache implements Block
*/
   private class BlockBucket implements Comparable {
 
-private CachedBlockQueue queue;
-private long totalSize = 0;
-private long bucketSize;
+private final CachedBlockQueue queue;
+private long totalSize;
+private final long bucketSize;
 
 public BlockBucket(long bytesToFree, long blockSize, long bucketSize) {
   this.bucketSize = bucketSize;
@@ -512,7 +512,7 @@ public class LruBlockCache extends 
SynchronousLoadingBlockCache implements Block
* Thread is triggered into action by {@link LruBlockCache#runEviction()}
*/
   private static class EvictionThread extends AccumuloDaemonThread {
-private WeakReference cache;
+private final WeakReference cache;
 private boolean running = false;
 
 public EvictionThread(LruBlockCache cache) {
@@ -532,7 +532,9 @@ public class LruBlockCache extends 
SynchronousLoadingBlockCache implements Block
   running = true;
   try {
 this.wait();
-  } catch (InterruptedException e) {}
+  } catch (InterruptedException e) {
+// empty
+  }
 }
 LruBlockCache cache = this.cache.get();
 if (cache == null) {
diff --git 
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
 
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
index beabe5a7ad..04cab1a38c 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/tinylfu/TinyLfuBlockCache.java
@@ -62,7 +62,7 @@ public final class TinyLfuBlockCache implements BlockCache {
   private final Policy.Eviction policy;
   private final int maxSize;
   private final ScheduledExecutorService statsExecutor = 
ThreadPools.getServerThreadPools()
-  .createScheduledExecutorService(1, "TinyLfuBlockCacheStatsExecutor", 
true);
+  .createScheduledExecutorService(1, "TinyLfuBlockCacheStatsExecutor", 
false);
 
   public TinyLfuBlockCache(Configuration conf, CacheType type) {
 cache = Caffeine.newBuilder()
@@ -118,7 +118,7 @@ public final class TinyLfuBlockCache implements BlockCache {
 
   private void logStats() {
 double maxMB = ((double) policy.getMaximum()) / ((double) (1024 * 1024));
-double sizeMB = ((double) policy.weightedSize().getAsLong()) / ((double) 
(1024 * 1024));
+double sizeMB = ((double) policy.weightedSize().orElse(0)) / ((double) 
(1024 * 1024));
 double freeMB = maxMB - sizeMB;
 log.debug("Cache Size={}MB, Free={}MB, Max={}MB, Blocks={}", sizeMB, 
freeMB, maxMB,
 cache.estimatedSize());



(accumulo) branch elasticity updated (f75dbf8c5b -> 401237dba1)

2024-02-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from f75dbf8c5b Remove unused argument to setOperationIdOnce (#4294)
 add c72bf8c00c Remove unneeded SuppressFBWarnings annotation from 
ZooPropStore (#4304)
 add c853f64908 Merge remote-tracking branch 'upstream/2.1'
 add 401237dba1 Merge remote-tracking branch 'upstream/main' into elasticity

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java | 4 
 1 file changed, 4 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-02-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit c853f6490856f21db39aab7ce80cf8cf820a455c
Merge: ea5afb9d85 c72bf8c00c
Author: Ed Coleman 
AuthorDate: Mon Feb 26 14:59:57 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java | 4 
 1 file changed, 4 deletions(-)




(accumulo) branch main updated (ea5afb9d85 -> c853f64908)

2024-02-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from ea5afb9d85 Merge branch '2.1'
 add c72bf8c00c Remove unneeded SuppressFBWarnings annotation from 
ZooPropStore (#4304)
 new c853f64908 Merge remote-tracking branch 'upstream/2.1'

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:
 .../java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java | 4 
 1 file changed, 4 deletions(-)



(accumulo) branch 2.1 updated: Remove unneeded SuppressFBWarnings annotation from ZooPropStore (#4304)

2024-02-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new c72bf8c00c Remove unneeded SuppressFBWarnings annotation from 
ZooPropStore (#4304)
c72bf8c00c is described below

commit c72bf8c00cb196d048d1aa35077327c55d6e58e2
Author: EdColeman 
AuthorDate: Mon Feb 26 09:58:19 2024 -0500

Remove unneeded SuppressFBWarnings annotation from ZooPropStore (#4304)
---
 .../java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java | 4 
 1 file changed, 4 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
index aed65fdbbe..a345b58c46 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
@@ -49,8 +49,6 @@ import org.slf4j.LoggerFactory;
 
 import com.github.benmanes.caffeine.cache.Ticker;
 
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
 public class ZooPropStore implements PropStore, PropChangeListener {
 
   private final static Logger log = 
LoggerFactory.getLogger(ZooPropStore.class);
@@ -83,8 +81,6 @@ public class ZooPropStore implements PropStore, 
PropChangeListener {
* @param watcher a watcher. Optional, if null, one is created.
* @param ticker a synthetic clock used for testing. Optional, if null, one 
is created.
*/
-  @SuppressFBWarnings(value = "PREDICTABLE_RANDOM",
-  justification = "random number not used in secure context")
   ZooPropStore(final InstanceId instanceId, final ZooReaderWriter zrw, final 
ReadyMonitor monitor,
   final PropStoreWatcher watcher, final Ticker ticker) {
 



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-02-21 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit e3d62043051d22f57b7bd71760bec52352eb160c
Merge: 4886e821ed 00bac7ae56
Author: Ed Coleman 
AuthorDate: Wed Feb 21 22:17:04 2024 +

Merge remote-tracking branch 'upstream/2.1'

 - merge FateIT into main
 - includes minor quality check fixes

 .../accumulo/test/fate/zookeeper/FateIT.java   | 160 ++---
 1 file changed, 139 insertions(+), 21 deletions(-)

diff --cc test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
index d4da1ebae4,2dde8fabca..a392313bd0
--- a/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
@@@ -121,12 -177,17 +176,17 @@@ public class FateIT 
  
private static ZooKeeperTestingServer szk = null;
private static ZooReaderWriter zk = null;
--  private static final String ZK_ROOT = "/accumulo/" + 
UUID.randomUUID().toString();
++  private static final String ZK_ROOT = "/accumulo/" + UUID.randomUUID();
private static final NamespaceId NS = NamespaceId.of("testNameSpace");
private static final TableId TID = TableId.of("testTable");
  
private static CountDownLatch callStarted;
private static CountDownLatch finishCall;
+   private static CountDownLatch undoLatch;
+ 
+   private enum ExceptionLocation {
+ CALL, IS_READY
 -  };
++  }
  
@BeforeAll
public static void setup() throws Exception {
@@@ -148,9 -209,9 +208,8 @@@
@Timeout(30)
public void testTransactionStatus() throws Exception {
  
--final ZooStore zooStore = new ZooStore(ZK_ROOT + 
Constants.ZFATE, zk);
--final AgeOffStore store =
--new AgeOffStore(zooStore, 3000, System::currentTimeMillis);
++final ZooStore zooStore = new ZooStore<>(ZK_ROOT + 
Constants.ZFATE, zk);
++final AgeOffStore store = new AgeOffStore<>(zooStore, 3000, 
System::currentTimeMillis);
  
  Manager manager = createMock(Manager.class);
  ServerContext sctx = createMock(ServerContext.class);
@@@ -159,15 -220,12 +218,12 @@@
  expect(sctx.getZooReaderWriter()).andReturn(zk).anyTimes();
  replay(manager, sctx);
  
 -Fate fate = new Fate(manager, store, 
TraceRepo::toLogString);
 +ConfigurationCopy config = new ConfigurationCopy();
 +config.set(Property.GENERAL_THREADPOOL_SIZE, "2");
 +config.set(Property.MANAGER_FATE_THREADPOOL_SIZE, "1");
- Fate fate = new Fate(manager, store, 
TraceRepo::toLogString, config);
++Fate fate = new Fate<>(manager, store, TraceRepo::toLogString, 
config);
  try {
 -  ConfigurationCopy config = new ConfigurationCopy();
 -  config.set(Property.GENERAL_THREADPOOL_SIZE, "2");
 -  config.set(Property.MANAGER_FATE_THREADPOOL_SIZE, "1");
  
-   // Wait for the transaction runner to be scheduled.
-   Thread.sleep(3000);
- 
callStarted = new CountDownLatch(1);
finishCall = new CountDownLatch(1);
  
@@@ -175,6 -233,11 +231,10 @@@
assertEquals(TStatus.NEW, getTxStatus(zk, txid));
fate.seedTransaction("TestOperation", txid, new TestOperation(NS, TID), 
true, "Test Op");
assertEquals(TStatus.SUBMITTED, getTxStatus(zk, txid));
+ 
 -  fate.startTransactionRunners(config);
+   // Wait for the transaction runner to be scheduled.
 -  UtilWaitThread.sleep(3000);
++  Thread.sleep(3000);
+ 
// wait for call() to be called
callStarted.await();
assertEquals(IN_PROGRESS, getTxStatus(zk, txid));
@@@ -208,9 -271,9 +268,8 @@@
  
@Test
public void testCancelWhileNew() throws Exception {
--final ZooStore zooStore = new ZooStore(ZK_ROOT + 
Constants.ZFATE, zk);
--final AgeOffStore store =
--new AgeOffStore(zooStore, 3000, System::currentTimeMillis);
++final ZooStore zooStore = new ZooStore<>(ZK_ROOT + 
Constants.ZFATE, zk);
++final AgeOffStore store = new AgeOffStore<>(zooStore, 3000, 
System::currentTimeMillis);
  
  Manager manager = createMock(Manager.class);
  ServerContext sctx = createMock(ServerContext.class);
@@@ -219,14 -282,15 +278,13 @@@
  expect(sctx.getZooReaderWriter()).andReturn(zk).anyTimes();
  replay(manager, sctx);
  
 -Fate fate = new Fate(manager, store, 
TraceRepo::toLogString);
 +ConfigurationCopy config = new ConfigurationCopy();
 +config.set(Property.GENERAL_THREADPOOL_SIZE, "2");
 +config.set(Property.MANAGER_FATE_THREADPOOL_SIZE, "1");
- Fate fate = new Fate(manager, store, 
TraceRepo::toLogString, config);
++Fate fate = new Fate<>(manager, store, TraceRepo::toLogString, 
config);
  try {
 -  ConfigurationCopy config = new ConfigurationCopy();
 -  config.set(Property.GEN

(accumulo) branch main updated (4886e821ed -> e3d6204305)

2024-02-21 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 4886e821ed Remove unused var added by merge
 add 00bac7ae56 FateIT Repo Error Test (#4282)
 new e3d6204305 Merge remote-tracking branch 'upstream/2.1'

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/test/fate/zookeeper/FateIT.java   | 160 ++---
 1 file changed, 139 insertions(+), 21 deletions(-)



(accumulo-website) branch main updated: Adding myself to contributor. PR apache/accumulo#4192 (#414)

2024-02-08 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 8883c65c Adding myself to contributor. PR apache/accumulo#4192 (#414)
8883c65c is described below

commit 8883c65ca400e2879ee3fb4758a8f6f7f63a39f4
Author: Arbaaz Khan 
AuthorDate: Thu Feb 8 15:34:13 2024 -0500

Adding myself to contributor. PR apache/accumulo#4192 (#414)
---
 pages/people.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pages/people.md b/pages/people.md
index a9a85d95..a8378bf4 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -83,6 +83,7 @@ GitHub also has a [contributor list][github-contributors] 
based on commits.
 | Ali Mustafa | [FAST-NU][FAST-NU] 
   | [PKT][PKT]|
 | Amisha Sahu |
   | [IST][IST-India]  |
 | Andrew George Wells | [ClearEdgeIT][CLEAREDGE]   
   | [ET][ET]  |
+| Arbaaz Khan | [Arctic Slope Regional Corp.][ASRC]
   | [ET][ET]  |
 | Arshak Navruzyan| [Argyle Data][ARGYLE]  
   |   |
 | Ben Kelly   | [Microsoft][MICROSOFT] 
   | [GMT][GMT]/[IST][IST-Ireland] |
 | Ben Manes   |
   | [PT][PT]  |



(accumulo) branch main updated: Update export version to handle imports of files without fenced ranges (#4122)

2024-01-31 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 1db892b00d Update export version to handle imports of files without 
fenced ranges (#4122)
1db892b00d is described below

commit 1db892b00dfca083882ef8f90d3baa43dbb59181
Author: EdColeman 
AuthorDate: Wed Jan 31 17:58:54 2024 -0500

Update export version to handle imports of files without fenced ranges 
(#4122)

Update export version to handle imports of files without fenced ranges

 - adds specific export version
 - adds import test with 2.1.3 create files (no fenced ranges)

Co-authored-by: Christopher Tubbs 
---
 core/pom.xml   |   2 -
 .../accumulo/core/metadata/StoredTabletFile.java   |  15 
 .../core/metadata/StoredTabletFileTest.java|  40 +++
 pom.xml|   2 +
 .../manager/tableOps/tableExport/ExportTable.java  |  10 ++-
 .../tableOps/tableExport/WriteExportFiles.java |   2 +-
 .../manager/tableOps/tableImport/ImportTable.java  |   8 +--
 .../tableOps/tableImport/ImportedTableInfo.java|   1 +
 .../tableImport/PopulateMetadataTable.java |  16 -
 .../accumulo/manager/upgrade/Upgrader11to12.java   |  20 ++
 .../manager/upgrade/Upgrader11to12Test.java|  25 ++-
 test/pom.xml   |  17 +
 .../org/apache/accumulo/test/ImportExportIT.java   |  53 ++
 test/src/main/resources/v2_import_test/README.md   |  78 +
 .../main/resources/v2_import_test/data/A008.rf | Bin 0 -> 229 bytes
 .../main/resources/v2_import_test/data/A009.rf | Bin 0 -> 229 bytes
 .../main/resources/v2_import_test/data/A00a.rf | Bin 0 -> 228 bytes
 .../main/resources/v2_import_test/data/A00b.rf | Bin 0 -> 212 bytes
 .../main/resources/v2_import_test/data/distcp.txt  |   5 ++
 .../v2_import_test/data/exportMetadata.zip | Bin 0 -> 934 bytes
 20 files changed, 246 insertions(+), 48 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index 3b1ec42ea6..05d9a02c69 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -193,7 +193,6 @@
   
src/main/java/org/apache/accumulo/core/bloomfilter/*.java
   
src/main/java/org/apache/accumulo/core/util/HostAndPort.java
   src/test/resources/*.jceks
-  
src/test/resources/org/apache/accumulo/core/file/rfile/*.rf
 
   
 
@@ -206,7 +205,6 @@
 
   
src/main/java/org/apache/accumulo/core/bloomfilter/*.java
   src/test/resources/*.jceks
-  
src/test/resources/org/apache/accumulo/core/file/rfile/*.rf
 
   
 
diff --git 
a/core/src/main/java/org/apache/accumulo/core/metadata/StoredTabletFile.java 
b/core/src/main/java/org/apache/accumulo/core/metadata/StoredTabletFile.java
index daae673e75..16bb0458a9 100644
--- a/core/src/main/java/org/apache/accumulo/core/metadata/StoredTabletFile.java
+++ b/core/src/main/java/org/apache/accumulo/core/metadata/StoredTabletFile.java
@@ -33,7 +33,9 @@ import 
org.apache.accumulo.core.util.json.ByteArrayToBase64TypeAdapter;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.DataInputBuffer;
 import org.apache.hadoop.io.Text;
+import org.checkerframework.checker.nullness.qual.NonNull;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.gson.Gson;
 
 /**
@@ -263,6 +265,19 @@ public class StoredTabletFile extends 
AbstractTabletFile {
 }
   }
 
+  /**
+   * Quick validation to see if value has been converted by checking if the 
candidate looks like
+   * json by checking the candidate starts with "{" and ends with "}".
+   *
+   * @param candidate a possible file: reference.
+   * @return false if a likely a json object, true if not a likely json object
+   */
+  @VisibleForTesting
+  public static boolean fileNeedsConversion(@NonNull final String candidate) {
+String trimmed = candidate.trim();
+return !trimmed.startsWith("{") || !trimmed.endsWith("}");
+  }
+
   private static class TabletFileCq {
 public final Path path;
 public final Range range;
diff --git 
a/core/src/test/java/org/apache/accumulo/core/metadata/StoredTabletFileTest.java
 
b/core/src/test/java/org/apache/accumulo/core/metadata/StoredTabletFileTest.java
new file mode 100644
index 00..998c9eab11
--- /dev/null
+++ 
b/core/src/test/java/org/apache/accumulo/core/metadata/StoredTabletFileTest.java
@@ -0,0 +1,40 @@
+/*
+ * 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 

(accumulo) branch main updated (bce2ef2bfc -> 9911fc1576)

2024-01-31 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from bce2ef2bfc Merge branch '2.1'
 add b90422cb7e set max files to fix ExternalCompaction4_IT test (#4205)
 add 9911fc1576 Merge remote-tracking branch 'upstream/2.1'

No new revisions were added by this update.

Summary of changes:
 .../accumulo/test/compaction/ExternalCompaction4_IT.java  | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)



(accumulo) branch 2.1 updated (1531fe5d7e -> b90422cb7e)

2024-01-31 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from 1531fe5d7e Fix intermittent failure in 
AuthenticationTokenSecretManagerTest (#4203)
 add b90422cb7e set max files to fix ExternalCompaction4_IT test (#4205)

No new revisions were added by this update.

Summary of changes:
 .../test/compaction/ExternalCompaction4_IT.java| 41 +-
 1 file changed, 25 insertions(+), 16 deletions(-)



(accumulo) 01/01: Merge remote-tracking branch 'upstream/2.1'

2024-01-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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

commit 97f9cf80cbc89fefb46aa96ae1cec56af7aeff02
Merge: b701918ec0 e69456534b
Author: Ed Coleman 
AuthorDate: Fri Jan 26 19:55:38 2024 +

Merge remote-tracking branch 'upstream/2.1'

 .../accumulo/tserver/tablet/CompactableImpl.java | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
index 28d6b11977,89c68c5b55..4d29f953eb
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
@@@ -101,13 -106,17 +101,13 @@@ public class CompactableImpl implement
  
private final FileManager fileMgr;
  
-   private Set runningJobs = new HashSet<>();
+   private final Set runningJobs = new HashSet<>();
private volatile boolean compactionRunning = false;
  
-   private Supplier> servicesInUse;
+   private final Supplier> servicesInUse;
  
-   private Set servicesUsed = new 
ConcurrentSkipListSet<>();
+   private final Set servicesUsed = new 
ConcurrentSkipListSet<>();
  
 -  enum ChopSelectionStatus {
 -SELECTING, SELECTED, NOT_ACTIVE, MARKING
 -  }
 -
// status of special compactions
enum FileSelectionStatus {
  NEW, SELECTING, SELECTED, RESERVED, NOT_ACTIVE, CANCELED



(accumulo) branch main updated (b701918ec0 -> 97f9cf80cb)

2024-01-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


from b701918ec0 Trivial - give variable name to test constant
 add e69456534b CompactableImpl sync fix and message update (#4198)
 new 97f9cf80cb Merge remote-tracking branch 'upstream/2.1'

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/tserver/tablet/CompactableImpl.java | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)



(accumulo) branch 2.1 updated: CompactableImpl sync fix and message update (#4198)

2024-01-26 Thread edcoleman
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/2.1 by this push:
 new e69456534b CompactableImpl sync fix and message update (#4198)
e69456534b is described below

commit e69456534b12f33178d6372f4905a32f023217f6
Author: EdColeman 
AuthorDate: Fri Jan 26 14:30:12 2024 -0500

CompactableImpl sync fix and message update (#4198)

* remove unnecessary sync, clarify error messages
---
 .../accumulo/tserver/tablet/CompactableImpl.java   | 34 +++---
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
index 73a2efa0e4..89c68c5b55 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java
@@ -106,12 +106,12 @@ public class CompactableImpl implements Compactable {
 
   private final FileManager fileMgr;
 
-  private Set runningJobs = new HashSet<>();
+  private final Set runningJobs = new HashSet<>();
   private volatile boolean compactionRunning = false;
 
-  private Supplier> servicesInUse;
+  private final Supplier> servicesInUse;
 
-  private Set servicesUsed = new 
ConcurrentSkipListSet<>();
+  private final Set servicesUsed = new 
ConcurrentSkipListSet<>();
 
   enum ChopSelectionStatus {
 SELECTING, SELECTED, NOT_ACTIVE, MARKING
@@ -126,21 +126,21 @@ public class CompactableImpl implements Compactable {
   private Long compactionId;
   private CompactionConfig compactionConfig;
 
-  private CompactionManager manager;
+  private final CompactionManager manager;
 
   AtomicLong lastSeenCompactionCancelId = new AtomicLong(Long.MIN_VALUE);
 
   private volatile boolean closed = false;
 
-  private Map externalCompactions 
=
+  private final Map 
externalCompactions =
   new ConcurrentHashMap<>();
 
-  private Set externalCompactionsCommitting = new 
HashSet<>();
+  private final Set externalCompactionsCommitting = new 
HashSet<>();
 
   // This interface exists for two purposes. First it allows abstraction of 
new and old
   // implementations for user pluggable file selection code. Second it 
facilitates placing code
   // outside of this class.
-  public static interface CompactionHelper {
+  public interface CompactionHelper {
 Set 
selectFiles(SortedMap allFiles);
 
 Set getFilesToDrop();
@@ -195,17 +195,17 @@ public class CompactableImpl implements Compactable {
 // important to track this in order to know if the last compaction is a 
full compaction and
 // should not propagate deletes.
 private boolean initiallySelectedAll = false;
-private Set selectedFiles = new HashSet<>();
+private final Set selectedFiles = new HashSet<>();
 
 protected Set allCompactingFiles = new HashSet<>();
 
 // track files produced by compactions of this tablet, those are 
considered chopped
-private Set choppedFiles = new HashSet<>();
+private final Set choppedFiles = new HashSet<>();
 private ChopSelectionStatus chopStatus = ChopSelectionStatus.NOT_ACTIVE;
-private Set allFilesWhenChopStarted = new HashSet<>();
+private final Set allFilesWhenChopStarted = new 
HashSet<>();
 
 private final KeyExtent extent;
-private Deriver selectionExpirationDeriver;
+private final Deriver selectionExpirationDeriver;
 
 public FileManager(KeyExtent extent, Collection 
extCompactingFiles,
 Optional extSelInfo, Deriver 
selectionExpirationDeriver) {
@@ -314,8 +314,8 @@ public class CompactableImpl implements Compactable {
 }
 
 class ChopSelector {
-  private Set allFiles;
-  private Set filesToExamine;
+  private final Set allFiles;
+  private final Set filesToExamine;
 
   private ChopSelector(Set allFiles, 
Set filesToExamine) {
 this.allFiles = allFiles;
@@ -1485,7 +1485,7 @@ public class CompactableImpl implements Compactable {
 
   if (dispatcher == null) {
 log.error(
-"Failed to dispatch compaction {} kind:{} hints:{}, falling back 
to {} service. Unable to instantiate dispatcher plugin. Check server log.",
+"Failed to dispatch compaction, no dispatcher. extent:{} kind:{} 
hints:{}, falling back to {} service. Unable to instantiate dispatcher plugin. 
Check server log.",
 getExtent(), kind, debugHints, 
CompactionServicesConfig.DEFAULT_SERVICE);
 return CompactionServicesConfig.DEFAULT_SERVICE;
   }
@@ -1532,7 +1532,8 @@ public class CompactableImpl implements Compactable {
 
   return dispatch.getService();
 } c

  1   2   3   4   >