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 <dlmar...@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 <ktur...@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());

Reply via email to