This is an automated email from the ASF dual-hosted git repository.

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

commit aada55ef50bf6de51e440d9a8162c0a34424a7a9
Merge: ef213b520b 221259e12e
Author: Dave Marion <dlmar...@apache.org>
AuthorDate: Fri May 24 16:55:20 2024 +0000

    Merge branch '2.1'

 core/pom.xml                                       |  16 ++
 .../accumulo/core/logging/ConditionalLogger.java   | 194 +++++++++++++++++++++
 .../core/logging/DeduplicatingLoggerTest.java      |  69 ++++++++
 .../core/logging/EscalatingLoggerTest.java         |  77 ++++++++
 .../accumulo/manager/TabletGroupWatcher.java       |  11 +-
 .../accumulo/tserver/UnloadTabletHandler.java      |   1 -
 .../org/apache/accumulo/tserver/tablet/Tablet.java |  22 ++-
 7 files changed, 385 insertions(+), 5 deletions(-)

diff --cc 
server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
index 7adba90fe0,662fca40d4..443df6c8f3
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
@@@ -18,10 -18,11 +18,11 @@@
   */
  package org.apache.accumulo.manager;
  
 +import static 
com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
  import static java.lang.Math.min;
 -import static 
org.apache.accumulo.core.util.UtilWaitThread.sleepUninterruptibly;
  
  import java.io.IOException;
+ import java.time.Duration;
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.HashMap;
@@@ -107,16 -102,17 +109,19 @@@ import org.apache.accumulo.server.table
  import org.apache.hadoop.fs.Path;
  import org.apache.hadoop.io.Text;
  import org.apache.thrift.TException;
+ import org.slf4j.Logger;
+ import org.slf4j.event.Level;
  
 +import com.google.common.annotations.VisibleForTesting;
  import com.google.common.base.Preconditions;
  import com.google.common.collect.ImmutableSortedSet;
  import com.google.common.collect.Iterators;
 +import com.google.common.collect.Sets;
  
  abstract class TabletGroupWatcher extends AccumuloDaemonThread {
-   // Constants used to make sure assignment logging isn't excessive in 
quantity or size
  
+   private static final Logger TABLET_UNLOAD_LOGGER =
+       new EscalatingLogger(Manager.log, Duration.ofMinutes(5), 1000, 
Level.INFO);
    private final Manager manager;
    private final TabletStateStore store;
    private final TabletGroupWatcher dependentWatcher;
@@@ -352,10 -350,10 +357,10 @@@
                      
manager.tserverSet.getConnection(location.getServerInstance());
                  if (client != null) {
                    try {
-                     Manager.log.trace("[{}] Requesting TabletServer {} unload 
{} {}", store.name(),
-                         location.getServerInstance(), tls.extent, 
goal.howUnload());
+                     TABLET_UNLOAD_LOGGER.trace("[{}] Requesting TabletServer 
{} unload {} {}",
+                         store.name(), location.getServerInstance(), 
tls.extent, goal.howUnload());
                      client.unloadTablet(manager.managerLock, tls.extent, 
goal.howUnload(),
 -                        manager.getSteadyTime());
 +                        manager.getSteadyTime().getMillis());
                      unloaded++;
                      totalUnloaded++;
                    } catch (TException tException) {
diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
index 26a2204a08,b6ad6150cb..4ea148046b
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
@@@ -63,16 -64,17 +64,17 @@@ import org.apache.accumulo.core.data.Mu
  import org.apache.accumulo.core.data.Range;
  import org.apache.accumulo.core.data.Value;
  import org.apache.accumulo.core.dataImpl.KeyExtent;
 -import org.apache.accumulo.core.dataImpl.thrift.MapFileInfo;
  import org.apache.accumulo.core.file.FileOperations;
 +import org.apache.accumulo.core.file.FilePrefix;
  import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
  import org.apache.accumulo.core.iteratorsImpl.system.SourceSwitchingIterator;
+ import org.apache.accumulo.core.logging.ConditionalLogger.DeduplicatingLogger;
  import org.apache.accumulo.core.logging.TabletLogger;
  import org.apache.accumulo.core.manager.state.tables.TableState;
 -import org.apache.accumulo.core.master.thrift.BulkImportState;
 -import org.apache.accumulo.core.metadata.MetadataTable;
 +import org.apache.accumulo.core.manager.thrift.BulkImportState;
 +import org.apache.accumulo.core.metadata.AccumuloTable;
 +import org.apache.accumulo.core.metadata.ReferencedTabletFile;
  import org.apache.accumulo.core.metadata.StoredTabletFile;
 -import org.apache.accumulo.core.metadata.TabletFile;
  import org.apache.accumulo.core.metadata.schema.DataFileValue;
  import org.apache.accumulo.core.metadata.schema.ExternalCompactionId;
  import org.apache.accumulo.core.metadata.schema.ExternalCompactionMetadata;

Reply via email to