@@ -692,7 +692,13 @@ public String getCheckpointPath(long timestamp)
692692
693693 public void deleteRecord (long fileId , int rgId , int rgRowOffset , long timestamp ) throws RetinaException
694694 {
695- checkRGVisibility (fileId , rgId ).deleteRecord (rgRowOffset , timestamp );
695+ deleteRecord (fileId , rgId , rgRowOffset , timestamp , RGVisibility .ReplayMode .NORMAL );
696+ }
697+
698+ public void deleteRecord (long fileId , int rgId , int rgRowOffset , long timestamp ,
699+ RGVisibility .ReplayMode replayMode ) throws RetinaException
700+ {
701+ checkRGVisibility (fileId , rgId ).deleteRecord (rgRowOffset , timestamp , replayMode );
696702
697703 if (!isDualWriteActive )
698704 {
@@ -719,7 +725,7 @@ public void deleteRecord(long fileId, int rgId, int rgRowOffset, long timestamp)
719725 int oldGlobal = bwdMapping [rgRowOffset ];
720726 int oldRgId = rgIdForGlobalRowOffset (oldGlobal , bwd .oldFileRgRowStart );
721727 int oldRgOff = oldGlobal - bwd .oldFileRgRowStart [oldRgId ];
722- checkRGVisibility (bwd .oldFileId , oldRgId ).deleteRecord (oldRgOff , timestamp );
728+ checkRGVisibility (bwd .oldFileId , oldRgId ).deleteRecord (oldRgOff , timestamp , replayMode );
723729 }
724730 }
725731 }
@@ -733,7 +739,7 @@ public void deleteRecord(long fileId, int rgId, int rgRowOffset, long timestamp)
733739 int newGlobal = fwdMapping [rgRowOffset ];
734740 int newRgId = rgIdForGlobalRowOffset (newGlobal , result .newFileRgRowStart );
735741 int newRgOff = newGlobal - result .newFileRgRowStart [newRgId ];
736- checkRGVisibility (result .newFileId , newRgId ).deleteRecord (newRgOff , timestamp );
742+ checkRGVisibility (result .newFileId , newRgId ).deleteRecord (newRgOff , timestamp , replayMode );
737743 }
738744 }
739745 }
@@ -748,6 +754,14 @@ public void deleteRecord(IndexProto.RowLocation rowLocation, long timestamp) thr
748754 deleteRecord (rowLocation .getFileId (), rowLocation .getRgId (), rowLocation .getRgRowOffset (), timestamp );
749755 }
750756
757+ public void deleteRecord (IndexProto .RowLocation rowLocation , long timestamp ,
758+ RGVisibility .ReplayMode replayMode )
759+ throws RetinaException
760+ {
761+ deleteRecord (rowLocation .getFileId (), rowLocation .getRgId (), rowLocation .getRgRowOffset (),
762+ timestamp , replayMode );
763+ }
764+
751765 /**
752766 * Registers dual-write redirection so that {@link #deleteRecord} propagates
753767 * deletes between old and new files. The write lock acts as a barrier: all
0 commit comments