Class ObservingBackend
java.lang.Object
org.apache.polaris.persistence.nosql.quarkus.backend.ObservingBackend
- All Implemented Interfaces:
AutoCloseable,org.apache.polaris.persistence.nosql.api.backend.Backend
@ApplicationScoped
@Default
public class ObservingBackend
extends Object
implements org.apache.polaris.persistence.nosql.api.backend.Backend
Provides telemetry and tracing for all persistence backend operations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.polaris.persistence.nosql.api.backend.Backend
org.apache.polaris.persistence.nosql.api.backend.Backend.ObjScanCallback, org.apache.polaris.persistence.nosql.api.backend.Backend.ReferenceScanCallback -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionObservingBackend(org.apache.polaris.persistence.nosql.api.backend.Backend backend) -
Method Summary
Modifier and TypeMethodDescriptionvoidbatchDeleteObjs(Map<String, Set<org.apache.polaris.persistence.nosql.api.backend.PersistId>> realmObjs) voidbatchDeleteRefs(Map<String, Set<String>> realmRefs) voidclose()booleanconditionalDelete(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, @NonNull String expectedToken) booleanconditionalInsert(@NonNull String realmId, String objTypeId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, long createdAtMicros, @NonNull String versionToken, @org.jspecify.annotations.NonNull byte[] serializedValue) booleanconditionalUpdate(@NonNull String realmId, String objTypeId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, long createdAtMicros, @NonNull String updateToken, @NonNull String expectedToken, @org.jspecify.annotations.NonNull byte[] serializedValue) booleancreateReference(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.ref.Reference newRef) voidcreateReferences(@NonNull String realmId, @NonNull List<org.apache.polaris.persistence.nosql.api.ref.Reference> newRefs) voiddelete(@NonNull String realmId, @NonNull Set<org.apache.polaris.persistence.nosql.api.backend.PersistId> ids) voiddeleteRealms(Set<String> realmIds) @NonNull Map<org.apache.polaris.persistence.nosql.api.backend.PersistId, org.apache.polaris.persistence.nosql.api.backend.FetchedObj> fetch(@NonNull String realmId, @NonNull Set<org.apache.polaris.persistence.nosql.api.backend.PersistId> ids) @NonNull org.apache.polaris.persistence.nosql.api.ref.ReferencefetchReference(@NonNull String realmId, @NonNull String name) @NonNull org.apache.polaris.persistence.nosql.api.PersistencenewPersistence(Function<org.apache.polaris.persistence.nosql.api.backend.Backend, org.apache.polaris.persistence.nosql.api.backend.Backend> backendWrapper, @NonNull org.apache.polaris.persistence.nosql.api.PersistenceParams persistenceParams, String realmId, org.apache.polaris.ids.api.MonotonicClock monotonicClock, org.apache.polaris.ids.api.IdGenerator idGenerator) io.micrometer.core.instrument.config.MeterFiltervoidscanBackend(@NonNull org.apache.polaris.persistence.nosql.api.backend.Backend.ReferenceScanCallback referenceConsumer, @NonNull org.apache.polaris.persistence.nosql.api.backend.Backend.ObjScanCallback objConsumer) boolean@NonNull Stringtype()booleanupdateReference(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.ref.Reference updatedRef, @NonNull Optional<org.apache.polaris.persistence.nosql.api.obj.ObjRef> expectedPointer) voidwrite(@NonNull String realmId, @NonNull List<org.apache.polaris.persistence.nosql.api.backend.WriteObj> writes)
-
Field Details
-
TELEMETRY_PREFIX
- See Also:
-
-
Constructor Details
-
ObservingBackend
public ObservingBackend(@NotObserved org.apache.polaris.persistence.nosql.api.backend.Backend backend)
-
-
Method Details
-
type
- Specified by:
typein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
newPersistence
public @NonNull org.apache.polaris.persistence.nosql.api.Persistence newPersistence(Function<org.apache.polaris.persistence.nosql.api.backend.Backend, org.apache.polaris.persistence.nosql.api.backend.Backend> backendWrapper, @NonNull org.apache.polaris.persistence.nosql.api.PersistenceParams persistenceParams, String realmId, org.apache.polaris.ids.api.MonotonicClock monotonicClock, org.apache.polaris.ids.api.IdGenerator idGenerator) - Specified by:
newPersistencein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
supportsRealmDeletion
public boolean supportsRealmDeletion()- Specified by:
supportsRealmDeletionin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
setupSchema
- Specified by:
setupSchemain interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
deleteRealms
- Specified by:
deleteRealmsin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
batchDeleteRefs
- Specified by:
batchDeleteRefsin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
batchDeleteObjs
public void batchDeleteObjs(Map<String, Set<org.apache.polaris.persistence.nosql.api.backend.PersistId>> realmObjs) - Specified by:
batchDeleteObjsin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
scanBackend
public void scanBackend(@NonNull org.apache.polaris.persistence.nosql.api.backend.Backend.ReferenceScanCallback referenceConsumer, @NonNull org.apache.polaris.persistence.nosql.api.backend.Backend.ObjScanCallback objConsumer) - Specified by:
scanBackendin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
createReference
public boolean createReference(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.ref.Reference newRef) - Specified by:
createReferencein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
createReferences
public void createReferences(@NonNull String realmId, @NonNull List<org.apache.polaris.persistence.nosql.api.ref.Reference> newRefs) - Specified by:
createReferencesin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
updateReference
public boolean updateReference(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.ref.Reference updatedRef, @NonNull Optional<org.apache.polaris.persistence.nosql.api.obj.ObjRef> expectedPointer) - Specified by:
updateReferencein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
fetchReference
public @NonNull org.apache.polaris.persistence.nosql.api.ref.Reference fetchReference(@NonNull String realmId, @NonNull String name) - Specified by:
fetchReferencein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
fetch
public @NonNull Map<org.apache.polaris.persistence.nosql.api.backend.PersistId,org.apache.polaris.persistence.nosql.api.backend.FetchedObj> fetch(@NonNull String realmId, @NonNull Set<org.apache.polaris.persistence.nosql.api.backend.PersistId> ids) - Specified by:
fetchin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
write
public void write(@NonNull String realmId, @NonNull List<org.apache.polaris.persistence.nosql.api.backend.WriteObj> writes) - Specified by:
writein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
delete
public void delete(@NonNull String realmId, @NonNull Set<org.apache.polaris.persistence.nosql.api.backend.PersistId> ids) - Specified by:
deletein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
conditionalInsert
public boolean conditionalInsert(@NonNull String realmId, String objTypeId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, long createdAtMicros, @NonNull String versionToken, @org.jspecify.annotations.NonNull byte[] serializedValue) - Specified by:
conditionalInsertin interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
conditionalUpdate
public boolean conditionalUpdate(@NonNull String realmId, String objTypeId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, long createdAtMicros, @NonNull String updateToken, @NonNull String expectedToken, @org.jspecify.annotations.NonNull byte[] serializedValue) - Specified by:
conditionalUpdatein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
conditionalDelete
public boolean conditionalDelete(@NonNull String realmId, @NonNull org.apache.polaris.persistence.nosql.api.backend.PersistId persistId, @NonNull String expectedToken) - Specified by:
conditionalDeletein interfaceorg.apache.polaris.persistence.nosql.api.backend.Backend
-
renameApplicationMeters
@Produces @Singleton public io.micrometer.core.instrument.config.MeterFilter renameApplicationMeters()
-