You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2023/10/19 15:53:23 UTC
[accumulo] branch elasticity updated: Use prevEndRow from Extent in ConditionalTabletMutator (#3870)
This is an automated email from the ASF dual-hosted git repository.
dlmarion 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 2244f01eb0 Use prevEndRow from Extent in ConditionalTabletMutator (#3870)
2244f01eb0 is described below
commit 2244f01eb09a5a22d55f51d6bec2fe924603c64b
Author: Dave Marion <dl...@apache.org>
AuthorDate: Thu Oct 19 11:53:17 2023 -0400
Use prevEndRow from Extent in ConditionalTabletMutator (#3870)
Fixes #3356
Co-authored-by: Keith Turner <kt...@apache.org>
---
.../accumulo/core/metadata/schema/Ample.java | 5 -----
.../manager/state/AbstractTabletStateStore.java | 9 ++++-----
.../server/manager/state/MetaDataStateStore.java | 3 +--
.../metadata/ConditionalTabletMutatorImpl.java | 22 +++++++++-------------
.../manager/ManagerClientServiceHandler.java | 3 +--
.../coordinator/CompactionCoordinator.java | 6 +++---
.../manager/tableOps/bulkVer2/LoadFiles.java | 4 ++--
.../accumulo/manager/tableOps/compact/CleanUp.java | 2 +-
.../manager/tableOps/compact/CompactionDriver.java | 8 ++++----
.../accumulo/manager/tableOps/split/PreSplit.java | 2 +-
.../accumulo/manager/tableOps/split/SplitInfo.java | 2 --
.../manager/tableOps/split/UpdateTablets.java | 2 +-
.../test/functional/AmpleConditionalWriterIT.java | 15 +++++++--------
13 files changed, 34 insertions(+), 49 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java b/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java
index d665ea977e..793e5b5d9b 100644
--- a/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java
+++ b/core/src/main/java/org/apache/accumulo/core/metadata/schema/Ample.java
@@ -448,11 +448,6 @@ public interface Ample {
*/
ConditionalTabletMutator requireLocation(Location location);
- /**
- * Require that a tablet has the specified previous end row.
- */
- ConditionalTabletMutator requirePrevEndRow(Text per);
-
/**
* Requires the tablet to have the specified hosting goal before any changes are made.
*/
diff --git a/server/base/src/main/java/org/apache/accumulo/server/manager/state/AbstractTabletStateStore.java b/server/base/src/main/java/org/apache/accumulo/server/manager/state/AbstractTabletStateStore.java
index e84748f324..f1fa558dd1 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/manager/state/AbstractTabletStateStore.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/manager/state/AbstractTabletStateStore.java
@@ -51,7 +51,6 @@ public abstract class AbstractTabletStateStore implements TabletStateStore {
for (Assignment assignment : assignments) {
var conditionalMutator = tabletsMutator.mutateTablet(assignment.tablet)
.requireLocation(TabletMetadata.Location.future(assignment.server))
- .requirePrevEndRow(assignment.tablet.prevEndRow())
.putLocation(TabletMetadata.Location.current(assignment.server))
.deleteLocation(TabletMetadata.Location.future(assignment.server)).deleteSuspension();
@@ -81,8 +80,8 @@ public abstract class AbstractTabletStateStore implements TabletStateStore {
try (var tabletsMutator = ample.conditionallyMutateTablets()) {
for (Assignment assignment : assignments) {
tabletsMutator.mutateTablet(assignment.tablet).requireAbsentOperation()
- .requireAbsentLocation().requirePrevEndRow(assignment.tablet.prevEndRow())
- .deleteSuspension().putLocation(TabletMetadata.Location.future(assignment.server))
+ .requireAbsentLocation().deleteSuspension()
+ .putLocation(TabletMetadata.Location.future(assignment.server))
.submit(tabletMetadata -> {
Preconditions.checkArgument(tabletMetadata.getExtent().equals(assignment.tablet));
return tabletMetadata.getLocation() != null && tabletMetadata.getLocation()
@@ -127,8 +126,8 @@ public abstract class AbstractTabletStateStore implements TabletStateStore {
continue;
}
- var tabletMutator = tabletsMutator.mutateTablet(tm.getExtent())
- .requireLocation(tm.getLocation()).requirePrevEndRow(tm.getExtent().prevEndRow());
+ var tabletMutator =
+ tabletsMutator.mutateTablet(tm.getExtent()).requireLocation(tm.getLocation());
if (tm.hasCurrent()) {
diff --git a/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataStateStore.java b/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataStateStore.java
index d69c114f5b..2a2ee11c09 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataStateStore.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataStateStore.java
@@ -71,8 +71,7 @@ class MetaDataStateStore extends AbstractTabletStateStore implements TabletState
}
// ELASTICITY_TODO pending #3314, add conditional mutation check that tls.suspend exists
- tabletsMutator.mutateTablet(tm.getExtent()).requireAbsentOperation()
- .requirePrevEndRow(tm.getExtent().prevEndRow()).deleteSuspension()
+ tabletsMutator.mutateTablet(tm.getExtent()).requireAbsentOperation().deleteSuspension()
.submit(tabletMetadata -> tabletMetadata.getSuspend() == null);
}
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletMutatorImpl.java b/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletMutatorImpl.java
index fb3d1dc9e5..a77a357d1f 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletMutatorImpl.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletMutatorImpl.java
@@ -57,7 +57,6 @@ import org.apache.accumulo.server.metadata.iterators.LocationExistsIterator;
import org.apache.accumulo.server.metadata.iterators.PresentIterator;
import org.apache.accumulo.server.metadata.iterators.SetEqualityIterator;
import org.apache.accumulo.server.metadata.iterators.TabletExistsIterator;
-import org.apache.hadoop.io.Text;
import com.google.common.base.Preconditions;
@@ -75,6 +74,7 @@ public class ConditionalTabletMutatorImpl extends TabletMutatorBase<Ample.Condit
private final KeyExtent extent;
private boolean sawOperationRequirement = false;
+ private boolean checkPrevEndRow = true;
protected ConditionalTabletMutatorImpl(Ample.ConditionalTabletsMutator parent,
ServerContext context, KeyExtent extent, Consumer<ConditionalMutation> mutationConsumer,
@@ -108,16 +108,6 @@ public class ConditionalTabletMutatorImpl extends TabletMutatorBase<Ample.Condit
return this;
}
- @Override
- public Ample.ConditionalTabletMutator requirePrevEndRow(Text per) {
- Preconditions.checkState(updatesEnabled, "Cannot make updates after calling mutate.");
- Condition c =
- new Condition(PREV_ROW_COLUMN.getColumnFamily(), PREV_ROW_COLUMN.getColumnQualifier())
- .setValue(encodePrevEndRow(per).get());
- mutation.addCondition(c);
- return this;
- }
-
@Override
public Ample.ConditionalTabletMutator requireHostingGoal(TabletHostingGoal goal) {
Preconditions.checkState(updatesEnabled, "Cannot make updates after calling mutate.");
@@ -144,6 +134,7 @@ public class ConditionalTabletMutatorImpl extends TabletMutatorBase<Ample.Condit
Condition c = new Condition("", "").setIterators(is);
mutation.addCondition(c);
sawOperationRequirement = true;
+ checkPrevEndRow = false;
return this;
}
@@ -169,8 +160,7 @@ public class ConditionalTabletMutatorImpl extends TabletMutatorBase<Ample.Condit
private void requireSameSingle(TabletMetadata tabletMetadata, ColumnType type) {
switch (type) {
case PREV_ROW:
- requirePrevEndRow(tabletMetadata.getPrevEndRow());
- break;
+ throw new IllegalStateException("PREV_ROW already set from Extent");
case COMPACT_ID: {
Condition c =
new Condition(COMPACT_COLUMN.getColumnFamily(), COMPACT_COLUMN.getColumnQualifier());
@@ -261,6 +251,12 @@ public class ConditionalTabletMutatorImpl extends TabletMutatorBase<Ample.Condit
public void submit(Ample.RejectionHandler rejectionCheck) {
Preconditions.checkState(updatesEnabled, "Cannot make updates after calling mutate.");
Preconditions.checkState(sawOperationRequirement, "No operation requirements were seen");
+ if (checkPrevEndRow) {
+ Condition c =
+ new Condition(PREV_ROW_COLUMN.getColumnFamily(), PREV_ROW_COLUMN.getColumnQualifier())
+ .setValue(encodePrevEndRow(extent.prevEndRow()).get());
+ mutation.addCondition(c);
+ }
getMutation();
mutationConsumer.accept(mutation);
rejectionHandlerConsumer.accept(extent, rejectionCheck);
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
index 81215dbdd6..97b9a07682 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
@@ -630,8 +630,7 @@ public class ManagerClientServiceHandler implements ManagerClientService.Iface {
if (recentHostingRequest.getIfPresent(ke) == null) {
mutator.mutateTablet(ke).requireAbsentOperation()
.requireHostingGoal(TabletHostingGoal.ONDEMAND).requireAbsentLocation()
- .requirePrevEndRow(ke.prevEndRow()).setHostingRequested()
- .submit(TabletMetadata::getHostingRequested);
+ .setHostingRequested().submit(TabletMetadata::getHostingRequested);
} else {
log.trace("Ignoring hosting request because it was recently requested {}", ke);
}
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
index eb2cf605fd..329f57b24a 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
@@ -563,7 +563,7 @@ public class CompactionCoordinator implements CompactionCoordinatorService.Iface
// any data that is read from the tablet to make a decision about if it can compact or not
// must be included in the requireSame call
var tabletMutator = tabletsMutator.mutateTablet(extent).requireAbsentOperation()
- .requireSame(tabletMetadata, PREV_ROW, FILES, SELECTED, ECOMP);
+ .requireSame(tabletMetadata, FILES, SELECTED, ECOMP);
var ecid = ExternalCompactionId.of(externalCompactionId);
tabletMutator.putExternalCompaction(ecid, ecm);
@@ -926,7 +926,7 @@ public class CompactionCoordinator implements CompactionCoordinatorService.Iface
try (var tabletsMutator = ctx.getAmple().conditionallyMutateTablets()) {
var tabletMutator = tabletsMutator.mutateTablet(extent).requireAbsentOperation()
- .requireCompaction(ecid).requireSame(tablet, PREV_ROW, FILES, LOCATION);
+ .requireCompaction(ecid).requireSame(tablet, FILES, LOCATION);
if (ecm.getKind() == CompactionKind.USER || ecm.getKind() == CompactionKind.SELECTOR) {
tabletMutator.requireSame(tablet, SELECTED, COMPACTED);
@@ -1050,7 +1050,7 @@ public class CompactionCoordinator implements CompactionCoordinatorService.Iface
try {
ctx.requireNotDeleted(extent.tableId());
tabletsMutator.mutateTablet(extent).requireAbsentOperation().requireCompaction(ecid)
- .requirePrevEndRow(extent.prevEndRow()).deleteExternalCompaction(ecid)
+ .deleteExternalCompaction(ecid)
.submit(tabletMetadata -> !tabletMetadata.getExternalCompactions().containsKey(ecid));
} catch (TableDeletedException e) {
LOG.warn("Table {} was deleted, unable to update metadata for compaction failure.",
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
index 60738c0475..15109b9a44 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
@@ -144,9 +144,9 @@ class LoadFiles extends ManagerRepo {
conditionalMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation();
if (setTime) {
- tabletMutator.requireSame(tablet, PREV_ROW, LOADED, TIME, LOCATION);
+ tabletMutator.requireSame(tablet, LOADED, TIME, LOCATION);
} else {
- tabletMutator.requireSame(tablet, PREV_ROW, LOADED);
+ tabletMutator.requireSame(tablet, LOADED);
}
filesToLoad.forEach((f, v) -> {
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CleanUp.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CleanUp.java
index cef3b05dca..9b864e3f3f 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CleanUp.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CleanUp.java
@@ -68,7 +68,7 @@ public class CleanUp extends ManagerRepo {
for (TabletMetadata tablet : tablets) {
if (tablet.getCompacted().contains(tid)) {
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
- .requireSame(tablet, PREV_ROW, COMPACTED).deleteCompacted(tid)
+ .requireSame(tablet, COMPACTED).deleteCompacted(tid)
.submit(tabletMetadata -> !tabletMetadata.getCompacted().contains(tid));
}
}
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
index 7868aee84c..21d0f05902 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
@@ -171,7 +171,7 @@ class CompactionDriver extends ManagerRepo {
FateTxId.formatTid(tid), tablet.getExtent());
// this tablet has no files try to mark it as done
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
- .requireSame(tablet, PREV_ROW, FILES, COMPACTED).putCompacted(tid)
+ .requireSame(tablet, FILES, COMPACTED).putCompacted(tid)
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(tid));
} else if (tablet.getSelectedFiles() == null && tablet.getExternalCompactions().isEmpty()) {
// there are no selected files
@@ -201,11 +201,11 @@ class CompactionDriver extends ManagerRepo {
if (filesToCompact.isEmpty()) {
// no files were selected so mark the tablet as compacted
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
- .requireSame(tablet, PREV_ROW, FILES, SELECTED, ECOMP, COMPACTED).putCompacted(tid)
+ .requireSame(tablet, FILES, SELECTED, ECOMP, COMPACTED).putCompacted(tid)
.submit(tabletMetadata -> tabletMetadata.getCompacted().contains(tid));
} else {
var mutator = tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
- .requireSame(tablet, PREV_ROW, FILES, SELECTED, ECOMP, COMPACTED);
+ .requireSame(tablet, FILES, SELECTED, ECOMP, COMPACTED);
var selectedFiles =
new SelectedFiles(filesToCompact, tablet.getFiles().equals(filesToCompact), tid);
@@ -309,7 +309,7 @@ class CompactionDriver extends ManagerRepo {
if (needsUpdate.test(tablet)) {
var mutator = tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
- .requireSame(tablet, PREV_ROW, COMPACTED, SELECTED);
+ .requireSame(tablet, COMPACTED, SELECTED);
if (tablet.getSelectedFiles() != null
&& tablet.getSelectedFiles().getFateTxId() == tid) {
mutator.deleteSelectedFiles();
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/PreSplit.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/PreSplit.java
index 5e6505f58d..6704ef6d54 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/PreSplit.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/PreSplit.java
@@ -98,7 +98,7 @@ public class PreSplit extends ManagerRepo {
try (var tabletsMutator = manager.getContext().getAmple().conditionallyMutateTablets()) {
tabletsMutator.mutateTablet(splitInfo.getOriginal()).requireAbsentOperation()
- .requireSame(tabletMetadata, LOCATION, PREV_ROW).putOperation(opid)
+ .requireSame(tabletMetadata, LOCATION).putOperation(opid)
.submit(tmeta -> opid.equals(tmeta.getOperationId()));
Map<KeyExtent,Ample.ConditionalResult> results = tabletsMutator.process();
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/SplitInfo.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/SplitInfo.java
index 52051a0dc0..b8f8c7adff 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/SplitInfo.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/SplitInfo.java
@@ -73,8 +73,6 @@ public class SplitInfo implements Serializable {
TreeSet<KeyExtent> tablets = new TreeSet<>();
- double sum = 0;
-
for (var split : getSplits()) {
var extent = new KeyExtent(getOriginal().tableId(), split, prev);
prev = split;
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/UpdateTablets.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/UpdateTablets.java
index 28131f795e..246c73d8ce 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/UpdateTablets.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/split/UpdateTablets.java
@@ -217,7 +217,7 @@ public class UpdateTablets extends ManagerRepo {
var newExtent = newTablets.last();
var mutator = tabletsMutator.mutateTablet(splitInfo.getOriginal()).requireOperation(opid)
- .requirePrevEndRow(splitInfo.getOriginal().prevEndRow()).requireAbsentLocation();
+ .requireAbsentLocation();
mutator.putPrevEndRow(newExtent.prevEndRow());
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/AmpleConditionalWriterIT.java b/test/src/main/java/org/apache/accumulo/test/functional/AmpleConditionalWriterIT.java
index 452ee25dcc..3c59eac337 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/AmpleConditionalWriterIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/AmpleConditionalWriterIT.java
@@ -26,7 +26,6 @@ import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType
import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.FLUSH_ID;
import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.LOADED;
import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.LOCATION;
-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.TIME;
import static org.apache.accumulo.core.util.LazySingletons.GSON;
@@ -203,7 +202,7 @@ public class AmpleConditionalWriterIT extends AccumuloClusterHarness {
var tm1 = TabletMetadata.builder(e1).putFile(stf1, dfv).putFile(stf2, dfv).putFile(stf3, dfv)
.build();
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, PREV_ROW, FILES)
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, FILES)
.putFile(stf4, new DataFileValue(0, 0)).submit(tm -> false);
var results = ctmi.process();
assertEquals(Status.REJECTED, results.get(e1).getStatus());
@@ -339,15 +338,15 @@ public class AmpleConditionalWriterIT extends AccumuloClusterHarness {
// simulate a compaction where the tablet location is not set
var ctmi = new ConditionalTabletsMutatorImpl(context);
var tm1 = TabletMetadata.builder(e1).build(FILES, SELECTED);
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, PREV_ROW, FILES)
- .putFile(stf1, dfv).putFile(stf2, dfv).putFile(stf3, dfv).submit(tm -> false);
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, FILES).putFile(stf1, dfv)
+ .putFile(stf2, dfv).putFile(stf3, dfv).submit(tm -> false);
var results = ctmi.process();
assertEquals(Status.ACCEPTED, results.get(e1).getStatus());
assertEquals(Set.of(stf1, stf2, stf3), context.getAmple().readTablet(e1).getFiles());
ctmi = new ConditionalTabletsMutatorImpl(context);
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, PREV_ROW, FILES, SELECTED)
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm1, FILES, SELECTED)
.putSelectedFiles(new SelectedFiles(Set.of(stf1, stf2, stf3), true, 2L))
.submit(tm -> false);
results = ctmi.process();
@@ -359,7 +358,7 @@ public class AmpleConditionalWriterIT extends AccumuloClusterHarness {
var tm2 = TabletMetadata.builder(e1).putFile(stf1, dfv).putFile(stf2, dfv).putFile(stf3, dfv)
.build(SELECTED);
ctmi = new ConditionalTabletsMutatorImpl(context);
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm2, PREV_ROW, FILES, SELECTED)
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm2, FILES, SELECTED)
.putSelectedFiles(new SelectedFiles(Set.of(stf1, stf2, stf3), true, 2L))
.submit(tm -> false);
results = ctmi.process();
@@ -382,7 +381,7 @@ public class AmpleConditionalWriterIT extends AccumuloClusterHarness {
var tm3 = TabletMetadata.builder(e1).putFile(stf1, dfv).putFile(stf2, dfv).putFile(stf3, dfv)
.putSelectedFiles(selectedFiles).build();
ctmi = new ConditionalTabletsMutatorImpl(context);
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm3, PREV_ROW, FILES, SELECTED)
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm3, FILES, SELECTED)
.deleteSelectedFiles().submit(tm -> false);
results = ctmi.process();
assertEquals(Status.REJECTED, results.get(e1).getStatus());
@@ -395,7 +394,7 @@ public class AmpleConditionalWriterIT extends AccumuloClusterHarness {
var tm5 = TabletMetadata.builder(e1).putFile(stf1, dfv).putFile(stf2, dfv).putFile(stf3, dfv)
.putSelectedFiles(new SelectedFiles(Set.of(stf1, stf2, stf3), true, 2L)).build();
ctmi = new ConditionalTabletsMutatorImpl(context);
- ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm5, PREV_ROW, FILES, SELECTED)
+ ctmi.mutateTablet(e1).requireAbsentOperation().requireSame(tm5, FILES, SELECTED)
.deleteSelectedFiles().submit(tm -> false);
results = ctmi.process();
assertEquals(Status.ACCEPTED, results.get(e1).getStatus());