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;