A coprocessor or coprocessors (which implement RegionObserver) could implement 
propagation constraints in a pluggable manner, is one possibility. Coprocessors 
also get an ioctl-like interface which could be the channel for attaching 
constraints to KVs.

> [...]
> First, what about attaching metadata (itself KVs) to KVs in
> the store, in a way that it is efficient to look up the
> metadata for a given KV or set of KVs?
> 
> Second, what about the notion of references? For the case
> above specifically, metadata on an "inode" KV that consists
> of a list of pointers to other KVs. When deleting the
> "inode" KV -- one that fell off the tail of a stack of
> versions -- at compaction time, then the store could follow
> the pointers and delete the referenced values also. Or
> better, decrement a specified Long encoded KV and then take
> the delete action on another specified KV (or set of KVs) if
> the result <= 0.

   - Andy



      

Reply via email to