public final class IndexDeletionPolicyWrapper extends IndexDeletionPolicy
Provides features for looking up IndexCommit given a version. Allows reserving index commit points for certain amounts of time to support features such as index replication or snapshooting directly out of a live index directory.
NOTE: The Object.clone()
method returns this in order to make
this IndexDeletionPolicy
instance trackable across IndexWriter
instantiations. This is correct because each core has its own
IndexDeletionPolicy
and never has more than one open IndexWriter
.
IndexDeletionPolicy
Constructor and Description |
---|
IndexDeletionPolicyWrapper(IndexDeletionPolicy deletionPolicy,
SolrSnapshotMetaDataManager snapshotMgr) |
Modifier and Type | Method and Description |
---|---|
IndexCommit |
getCommitPoint(Long gen) |
Map<Long,IndexCommit> |
getCommits()
Gets the commit points for the index.
|
static long |
getCommitTimestamp(IndexCommit commit) |
IndexCommit |
getLatestCommit()
Gets the most recent commit point
|
IndexDeletionPolicy |
getWrappedDeletionPolicy() |
void |
onCommit(List<? extends IndexCommit> list)
Internal use for Lucene...
|
void |
onInit(List<? extends IndexCommit> list)
Internal use for Lucene...
|
void |
releaseCommitPoint(Long indexCommitGen)
Release a previously saved commit point
|
void |
saveCommitPoint(Long indexCommitGen)
Permanently prevent this commit point from being deleted.
|
void |
setReserveDuration(Long indexGen,
long reserveTime)
Set the duration for which commit point is to be reserved by the deletion policy.
|
public IndexDeletionPolicyWrapper(IndexDeletionPolicy deletionPolicy, SolrSnapshotMetaDataManager snapshotMgr)
public IndexCommit getLatestCommit()
It is recommended to reserve a commit point for the duration of usage so that it is not deleted by the underlying deletion policy
public IndexDeletionPolicy getWrappedDeletionPolicy()
public void setReserveDuration(Long indexGen, long reserveTime)
indexGen
- gen of the commit point to be reservedreserveTime
- time in milliseconds for which the commit point is to be reservedpublic void saveCommitPoint(Long indexCommitGen)
public void releaseCommitPoint(Long indexCommitGen)
public void onInit(List<? extends IndexCommit> list) throws IOException
onInit
in class IndexDeletionPolicy
IOException
public void onCommit(List<? extends IndexCommit> list) throws IOException
onCommit
in class IndexDeletionPolicy
IOException
public IndexCommit getCommitPoint(Long gen)
gen
- the gen of the commit pointpublic Map<Long,IndexCommit> getCommits()
public static long getCommitTimestamp(IndexCommit commit) throws IOException
IOException
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.