Package one.microstream.storage.types
Interface StorageGCZombieOidHandler
- All Known Implementing Classes:
StorageGCZombieOidHandler.Default
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface StorageGCZombieOidHandler
Note on zombie OID / null entry during GC:
This should of course never happen and must be seen as a bug.
However the GC is not necessarily the place to break in such a case.
Currently, this can even happen regularly, if the last reference to an entity is removed, then the GC
deleted the entity and then a store reestablishes the reference to the then deleted entity.
This might be a bug in the user code or in the storer or object registry or whatever, but it should
be recognized and handled at that point, not break the GC.
For that reason, handling an encountered zombie OID is modularized with the default of ignoring it.
Note that ConstantIds for JLS constants and TypeIds are intentionally unresolvable in the persistent state.
- See Also:
Persistence.IdType.TID
,Persistence.IdType.CID
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
StorageGCZombieOidHandler.Default
-
Method Summary
Modifier and Type Method Description boolean
handleZombieOid(long objectId)
-
Method Details
-
handleZombieOid
boolean handleZombieOid(long objectId)
-