[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Comments on Partial Locking -01



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

--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>