Filter for metadata change
listen for changes local store
Keep track of internal changes to object
Track 3 different changes (spec,status,meta)
Epoch Map with separate mapping
Keep track of changes to object using epoch
for every changes to objects, epoch counter must be incremented
use epoch counter for every value in the hashmap
if value are deleted, it is moved to thrash can (deleted)
using epoch counter, level changes can be calculated
Idempotent local memory cache of meta objects.
There are only 2 write operations are permitted: sync and apply changes which are idempotent.
For read, read guards are provided which provide hash map API using deref.
Hash values are wrapped in EpochCounter. EpochCounter is also deref.
Using async lock to ensure read/write are thread safe.
inefficient but simple concurrent hashmap
this should be only used in a test
it locks for every write