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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to