Balazs Lengyel wrote:
Hello Mehmet,
We could propose to allow a global lock after a partial lock by the
same session, it is even logical in a way.
However the main NETCONF standard says:
" An attempt to lock the configuration MUST fail if an existing
session or other entity holds a lock on any portion of the lock
target."
This means we can not allow the global lock. I think what you propose
does not violate the spirit of the RFC4741, but it does violate the
exact rule in the RFC.
If you change the way global locks work, then RFC 4741 needs to be
obsoleted and a new RFC published to replace it.
The WG decided way back when <lock> was designed that it
is usually a bug when a session locks the same thing twice,
so the text above forces the agent to grant and release a lock
just once per lock usage.
This 'feature' implies over-lapping partial locks, which seems complicated,
and not as likely to be inter-operable as non-overlapping partial locks,
granted and released once per usage.
Also we would have to deal with some tricky cases:
1) session A issues partial-lock-A
2) session A issues global-lock
- Should the partial-lock still be kept, or does this automatically
remove all partial locks for session-A for the specified datastore?
(propose YES)
- after the successful global lock should it be possible to use a
partial lock for the same datastore by the same session ? (propose NO)
3) session-A issues global-unlock
- should the partial locks stay alive ? (propose NO)
regards Balazs
Mehmet Ersue wrote:
I wouldn't mind if the full lock does not fail when both of the locks
have been initiated by the same session.
Then the question is whether the partial lock should survive which
seems to be useful.
Cheers,
Mehmet
Andy