Package org.opensearch.index.translog
Class DefaultTranslogDeletionPolicy
java.lang.Object
org.opensearch.index.translog.TranslogDeletionPolicy
org.opensearch.index.translog.DefaultTranslogDeletionPolicy
public class DefaultTranslogDeletionPolicy extends TranslogDeletionPolicy
Default implementation for the
TranslogDeletionPolicy
. Plugins can override the default behaviour
via the EnginePlugin.getCustomTranslogDeletionPolicyFactory()
.
The default policy uses total number, size in bytes and maximum age for files.-
Constructor Summary
Constructors Constructor Description DefaultTranslogDeletionPolicy(long retentionSizeInBytes, long retentionAgeInMillis, int retentionTotalFiles)
-
Method Summary
Modifier and Type Method Description long
minTranslogGenRequired(java.util.List<TranslogReader> readers, TranslogWriter writer)
returns the minimum translog generation that is still required by the system.void
setRetentionAgeInMillis(long ageInMillis)
void
setRetentionSizeInBytes(long bytes)
protected void
setRetentionTotalFiles(int retentionTotalFiles)
Methods inherited from class org.opensearch.index.translog.TranslogDeletionPolicy
assertNoOpenTranslogRefs, currentTime, getLocalCheckpointOfSafeCommit, getMinTranslogGenByAge, getMinTranslogGenBySize, getMinTranslogGenByTotalFiles, getMinTranslogGenRequiredByLocks, setLocalCheckpointOfSafeCommit
-
Constructor Details
-
DefaultTranslogDeletionPolicy
public DefaultTranslogDeletionPolicy(long retentionSizeInBytes, long retentionAgeInMillis, int retentionTotalFiles)
-
-
Method Details
-
minTranslogGenRequired
public long minTranslogGenRequired(java.util.List<TranslogReader> readers, TranslogWriter writer) throws java.io.IOExceptionDescription copied from class:TranslogDeletionPolicy
returns the minimum translog generation that is still required by the system. Any generation below the returned value may be safely deleted- Specified by:
minTranslogGenRequired
in classTranslogDeletionPolicy
- Parameters:
readers
- current translog readerswriter
- current translog writer- Throws:
java.io.IOException
-
setRetentionSizeInBytes
public void setRetentionSizeInBytes(long bytes)- Specified by:
setRetentionSizeInBytes
in classTranslogDeletionPolicy
-
setRetentionAgeInMillis
public void setRetentionAgeInMillis(long ageInMillis)- Specified by:
setRetentionAgeInMillis
in classTranslogDeletionPolicy
-
setRetentionTotalFiles
protected void setRetentionTotalFiles(int retentionTotalFiles)- Specified by:
setRetentionTotalFiles
in classTranslogDeletionPolicy
-