Hi, That sounds good to me.
The disadvantage is, when a node is added, either: - then the parent needs to be checked whether is already has this flag set (if it is in the cache), or - the parent needs to be updated to set the flag I wouldn't worry too much about resetting the flag, except when deleting the node with the flag itself. Regards, Thomas On 10/24/13 9:35 AM, "Marcel Reutegger" <mreut...@adobe.com> wrote: >Hi, > >yesterday Chetan, Thomas and I discussed an access pattern Chetan >saw with the MongoMK. Installing a vlt package shows many reads on >MongoDB for children of nodes that do not have child nodes. these >nodes are the leafs of the tree. due to the current content model, >the MongoMK does not know if a node has children, by just looking >at the NodeDocument for that node. we then quickly discussed that >we could mark the leaf nodes once we discover that it is a leaf. > >I was thinking about this a bit more and came to the conclusion that >it is probably better to mark the nodes with children, instead of the >leaf nodes. there are a number of advantages: > >- it works better with concurrent writes. once set, it usually does not >change back unless the MongoMK GC actually removes a document >in MongoDB. >- less storage overhead. there are usually fewer parents than leaf nodes. >- it does not have to be 100% accurate. false positives are OK (document >says it has children, but then returns none). > >WDYT? > >Regards > Marcel