On 01/22/2017 09:16 AM, Sela, Guy wrote: > Hi > I totally agree with you that it might indicate there is a cleanup code that > runs in an un-coordinated fashion. > There is no value in explaining what causes this problem in this specific > case, because it is probably solvable. > My point was the bigger picture, should we even solve this ? Is this even a > problem that a developer needs to think of? > If you allow "permissive" mode to delete operations, you basically allow the > developer to say - I don't care if someone else is concurrently cleaning up > the same part I'm cleaning, it's doesn't matter to me. As long as it will be > deleted in the end, that's fine by me. > This will not be the default mode, default mode would behave as today.
Hello, If the shutdown is uncoordinated, you can have a situation where that other component starts up, and your cleanup will delete its state. It is not a question of 'default mode' or a 'flag'. To solve what you are asking for is to prove that the two deletes were deleting the same data -- and that means we would have to retain complete version history (for as long as there is any snapshots can reference it). This particular call site does not cover deletes only, but rather any subtree overlaps, including unattached subtrees (you are writing /a/b/c/d, /a/b was deleted, what is the result?). See code surrounding https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java for details. Regards, Robert
signature.asc
Description: OpenPGP digital signature
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev