You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2025/02/08 20:04:35 UTC
(accumulo) branch main updated: Filter columns in CompactionReservationCheck (#5317)
This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push:
new ec779446cf Filter columns in CompactionReservationCheck (#5317)
ec779446cf is described below
commit ec779446cfd926ae10bb0a4362f1ed65ab76925d
Author: Christopher L. Shannon <cs...@apache.org>
AuthorDate: Sat Feb 8 15:04:30 2025 -0500
Filter columns in CompactionReservationCheck (#5317)
Only load required columns for check to avoid reading unnecessary data
into memory
Re #5254
---
.../metadata/iterators/TabletMetadataCheckIterator.java | 2 +-
.../compaction/coordinator/CompactionReservationCheck.java | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metadata/iterators/TabletMetadataCheckIterator.java b/server/base/src/main/java/org/apache/accumulo/server/metadata/iterators/TabletMetadataCheckIterator.java
index 83c06cd8c9..ba08be04a7 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metadata/iterators/TabletMetadataCheckIterator.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metadata/iterators/TabletMetadataCheckIterator.java
@@ -102,7 +102,7 @@ public class TabletMetadataCheckIterator implements SortedKeyValueIterator<Key,V
if (source.hasTop()) {
var tabletMetadata = TabletMetadata.convertRow(new IteratorAdapter(source),
- EnumSet.allOf(TabletMetadata.ColumnType.class), false, false);
+ EnumSet.copyOf(colsToRead), false, false);
// TODO checking the prev end row here is redundant w/ other checks that ample currently
// does.. however we could try to make all checks eventually use this class
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionReservationCheck.java b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionReservationCheck.java
index 214aa24f79..f9c2d5841c 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionReservationCheck.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionReservationCheck.java
@@ -18,6 +18,13 @@
*/
package org.apache.accumulo.manager.compaction.coordinator;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.ECOMP;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.FILES;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.OPID;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.PREV_ROW;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.SELECTED;
+import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.USER_COMPACTION_REQUESTED;
+
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -28,6 +35,7 @@ import java.util.stream.Collectors;
import org.apache.accumulo.core.fate.FateId;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.schema.TabletMetadata;
+import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
import org.apache.accumulo.core.metadata.schema.TabletMetadataCheck;
import org.apache.accumulo.core.spi.compaction.CompactionKind;
import org.apache.accumulo.core.util.time.SteadyTime;
@@ -153,4 +161,9 @@ public class CompactionReservationCheck implements TabletMetadataCheck {
return true;
}
+
+ @Override
+ public Set<ColumnType> columnsToRead() {
+ return Set.of(PREV_ROW, OPID, SELECTED, FILES, ECOMP, USER_COMPACTION_REQUESTED);
+ }
}