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 <[email protected]>
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);
+ }
}