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.
-----Original Message----- From: Robert Varga [mailto:n...@hq.sk] Sent: Friday, January 20, 2017 12:06 PM To: Sela, Guy <guy.s...@hpe.com>; controller-dev@lists.opendaylight.org; mdsal-...@lists.opendaylight.org; Tom Pantelis <tompante...@gmail.com> Subject: Re: Deleting a node from MD-SAL that doesn't exist / already deleted On 01/20/2017 10:13 AM, Sela, Guy wrote: > My suggestion was not to change the current delete, but to add to it > another flag, which will "silence" the exceptions in the case where > the transaction started when the Node existed, and ended when it didn't exist > anymore. Default behavior would stay the same. Cleanup code can potentially > do the same deletion twice, and I think it makes sense to allow it to pass > this "permissive" flag. Sorry, an operation with a flag means the operation is split into two distinct operations. Also the scenario described means that the cleanup code is running in an un-coordinated fashion, more importantly it seems to indicate un-ordered shutdown of multiple components which trip over each others cleanup. Can you describe, best with the corresponding model, the order of operations which trigger the exception? Regards, Robert _______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev