Interface RetainedCollector
public interface RetainedCollector
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceRetainedCollector.ProgressListener<O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj> -
Method Summary
Modifier and TypeMethodDescriptiondefault <V> voidindexRetain(org.apache.polaris.persistence.nosql.api.index.IndexContainer<V> indexContainer) default booleanrealm()ID of the realm being processed.org.apache.polaris.persistence.nosql.api.PersistencePersistenceconfigured for the current realm.default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj>
voidrefRetain(String ref, Class<O> clazz, Predicate<O> continuePredicate, Consumer<O> retainedObjConsumer) default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj>
voidrefRetain(String ref, Class<O> clazz, Predicate<O> continuePredicate, Consumer<O> retainedObjConsumer, RetainedCollector.ProgressListener<O> progressListener) Functionality to identify the objects in aReferenceto retain by walking the commit log.default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj>
voidrefRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj) default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj>
voidrefRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj, Consumer<O> retainedObjConsumer) default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj>
voidrefRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj, RetainedCollector.ProgressListener<O> progressListener, Consumer<org.apache.polaris.persistence.nosql.api.obj.ObjRef> indexedObjRefConsumer) Similar torefRetain(String, Class, Predicate, Consumer), with convenience to iterate over anIndexContainerhavingObjRefindex-element values to mark those as to-be-retained.voidretainObject(org.apache.polaris.persistence.nosql.api.obj.ObjRef objRef) Instruct the maintenance service to retain the reference with the given object ID.voidretainReference(String name) Instruct the maintenance service to retain the reference with the given name.
-
Method Details
-
realm
ID of the realm being processed. -
isSystemRealm
default boolean isSystemRealm() -
realmPersistence
@Nonnull org.apache.polaris.persistence.nosql.api.Persistence realmPersistence()Persistenceconfigured for the current realm.References and objects that are read or written via this
Persistenceare automatically retained.The returned
Persistencebypasses the cache to avoid polluting the production cache with accesses from the maintenance service.If the reference name(s) and object IDs are known in advance, it is more efficient to just call the
retainReference(String)/retainObject(ObjRef)functions, because those will not access the backend database. -
retainReference
Instruct the maintenance service to retain the reference with the given name.References that are fetched via
realmPersistence()are automatically marked to be retained. -
retainObject
void retainObject(@Nonnull org.apache.polaris.persistence.nosql.api.obj.ObjRef objRef) Instruct the maintenance service to retain the reference with the given object ID.Objects that are fetched via
realmPersistence()are automatically marked to be retained. -
indexRetain
default <V> void indexRetain(org.apache.polaris.persistence.nosql.api.index.IndexContainer<V> indexContainer) -
refRetain
-
refRetain
default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj> void refRetain(String ref, Class<O> clazz, Predicate<O> continuePredicate, Consumer<O> retainedObjConsumer, RetainedCollector.ProgressListener<O> progressListener) Functionality to identify the objects in aReferenceto retain by walking the commit log.For flexibility, consider using
CelReferenceContinuePredicate.- Type Parameters:
O- type of the referenced objects- Parameters:
ref- reference name, automatically marked as to-be-retainedclazz- type of the referenced objectscontinuePredicate- predicate to test whether to continue processing the referenceretainedObjConsumer- called for every retained object
-
refRetainIndexToSingleObj
default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj> void refRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj, Consumer<O> retainedObjConsumer) -
refRetainIndexToSingleObj
default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj> void refRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj) -
refRetainIndexToSingleObj
default <O extends org.apache.polaris.persistence.nosql.api.obj.BaseCommitObj> void refRetainIndexToSingleObj(String ref, Class<O> clazz, Predicate<O> continuePredicate, Function<O, org.apache.polaris.persistence.nosql.api.index.IndexContainer<org.apache.polaris.persistence.nosql.api.obj.ObjRef>> indexToObjIdFromRetainedObj, RetainedCollector.ProgressListener<O> progressListener, Consumer<org.apache.polaris.persistence.nosql.api.obj.ObjRef> indexedObjRefConsumer) Similar torefRetain(String, Class, Predicate, Consumer), with convenience to iterate over anIndexContainerhavingObjRefindex-element values to mark those as to-be-retained.For flexibility, consider using
CelReferenceContinuePredicate.- Type Parameters:
O- type of the referenced objects- Parameters:
ref- reference nameclazz- type of the referenced objectscontinuePredicate- predicate to test whether to continue processing the referenceindexToObjIdFromRetainedObj- function to extract theIndexContainerfrom objects
-