[Netconf] New draft-ietf-netconf-partial-lock-08.txt goes to AD and IETF Last Call
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Netconf] New draft-ietf-netconf-partial-lock-08.txt goes to AD and IETF Last Call



WG particpants,
 
Unfortunately, not too many people have given a clear statement of their
opinion on the question if they could accept Balazs' reasoning w.r.t. the
partial lock issues (see below).
 
But, based on the comments received, We (WG chairs) have asked
Balazs to do a new rev that explains as much as possible what can
and cannot be done and what impacts it has?
 
Balazs has now done so and revision draft-ietf-netconf-partial-lock-08.txt
is now available. Revision 7 was already handed to our AD for review
and IETF Last Call, and we believe that this new revision addresses
(or at least explains) the last issues that came up before our AD could
do an IETF LC for rev 07.
 
We have asked Dan (our AD) to pick up revision 08 for IETF Last Call.
 
I assume all WG members are now OK with this revision. We have
(in the WG chairs views) consensus (at least rough) consensus.
If anyone still has concerns, you can always post them to our NETCONF
mailing list and.or raise them during IETF Last Call.
 
Thanks you all.
Bert and Mehmet
 
 
----- Original Message -----
Sent: Tuesday, May 19, 2009 8:51 PM
Subject: Re: [Netconf] Partial-lock issues

Thanks Balazs for summarizing.
 
I believe I (as a technical contributer) can accept your reasoning.
 
Speaking as document shepherd and WG co-chair I would like to
urge all WG members to state their opinion (or comments) as well.
 
Bert
----- Original Message -----
Sent: Tuesday, May 19, 2009 12:01 PM
Subject: [Netconf] Partial-lock issues

Hello,
Some people brought it up that partial-locking without partial commit is not a good solution as
it can lead to dead-locks. For one last time I try to list the reasons why we included candidate.

Please state if you can accept the reasoning below or whether you think we should allow
partial-locking ONLY for the running configuration?

1) As Washam pointed out just by having access control and without using any locks we face a
dead-lock problems:
- A only has access to /foo, and edits it in candidate
- B only has access to /bar, and edits it in candidate
- A terminates it's session
- Now B can not issue <discard-changes> because it can not modify /foo in the candidate
- B can not issue <commit> because it can not modify /foo in the running
If A and/or B uses partial-locking that will NOT make this situation WORSE, as the lock is
automatically released at the end of the session. The real problem is caused by access control.

2) When partial-locking is used correctly, there is no danger of dead-lock, and locking does
help to protect the individual operator's activities. (In the next sequence we presume access
control will not block any of the actions.)

- Operator A locks everything it needs both in candidate and running in one operation e.g. /foo
- A edits the locked part in the candidate
- A issues commit, if this fails due to lock conflicts, it simply releases the lock, and let's
any concurrent operator (e.g. B) work on candidate; B will later commit changes done by A as
well. Lock conflicts can include operator B locking /bar in the running configuration
- Operator B works the same way on another area e.g. /bar
- The operator that finishes editing last will successfully commit all changes to running (by
this time there are no other locks)

3) Later we might introduce partial commit, in which case partial-locking would be very much
needed/useful

4) Partial-locking does no evil

5) It is nice to have the feature available on all three datastores

So we propose to keep partial-locking on candidate, but as this is only secondary use-case if
the workgroup decides it can be removed.

This question has already been raised a number of times, so we would like to establish the
workgroup
consensus and follow it. PLEASE INDICATE WHETHER PARTIAL-LOCKING ON CANDIDATE SHOULD STAY OR
SHOULD BE REMOVED !!!!

Balazs



Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.