Merge "Fix config-manager activator"
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / ReplicatedLog.java
index 3de0de5131ae6c9195128b73a873cf8ca25bb9bf..e6e160bc02bf1fd72305325aefc91a1ac2a9fac0 100644 (file)
@@ -44,12 +44,28 @@ public interface ReplicatedLog {
     long lastTerm();
 
     /**
-     * Remove all the entries from the logs >= index
+     * To be called when we need to remove entries from the in-memory log.
+     * This method will remove all entries >= index. This method should be used
+     * during recovery to appropriately trim the log based on persisted
+     * information
      *
      * @param index the index of the log entry
      */
     void removeFrom(long index);
 
+
+    /**
+     * To be called when we need to remove entries from the in-memory log and we
+     * need that information persisted to disk. This method will remove all
+     * entries >= index.
+     * <p>
+     * The persisted information would then be used during recovery to properly
+     * reconstruct the state of the in-memory replicated log
+     *
+     * @param index the index of the log entry
+     */
+    void removeFromAndPersist(long index);
+
     /**
      * Append an entry to the log
      * @param replicatedLogEntry
@@ -68,6 +84,11 @@ public interface ReplicatedLog {
      */
     List<ReplicatedLogEntry> getFrom(long index);
 
+    /**
+     *
+     * @param index the index of the log entry
+     */
+    List<ReplicatedLogEntry> getFrom(long index, int max);
 
     /**
      *