[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Lock queues and avoiding races

From: <Daniel_Patterson_at_national.com.au>
Date: 2004-10-14 02:14:03 CEST

While we're talking about locks, I just imagined this scenario:

  1) User A locks a file and starts work (several hours worth)
  2) User B tries to lock file 10 minutes later, only to find that it's
already locked.
  3) User B asks user A when they're going to be finished, user B will try
again later.
  4) User A tells user B that they've finished.
  5) User B tries to lock the file, and find that user C has beaten them to
it! User C wasn't waiting
       for the lock, but managed to slip in the window of opportunity.

To mitigate this, could the following be implemented?

  svn lock --wait dir/file1

where it only returns after a lock is granted. This would give us both
non-blocking
(which is what has been proposed so far, unless I've missed something), and
blocking
lock functionality.

I'm imagining something like:

  $ svn lock --wait dir/file1
  svn: dir/file1 is already locked <by user X>. Waiting for lock.
  ....time period of time....
  svn: dir/file1 unlocked <by user X>. Other lock requests still exist.
  svn: dir/file1 locked <by user Y>
  ... some period of time....
  svn: dir/file1 unlocked <by user Y>
  svn: lock token dkfg23894 granted on dir/file1
  $

I'm not sure how long webdav clients will wait for a lock to be returned.
I'm not sure
how/where to configure how WebDAV locking returns (blocking or
non-blocking).

Thoughts?

daniel
This email is sent by or on behalf of the named sender identified above. If
you do not wish to receive any email marketing material from this person in
the future, please forward the contents of this email to
unsubscriptions@national.com.au with the word "unsubscribe" in the subject
box. If you do not forward the contents of this email with your
unsubscription then it may not be able to be implemented. If you wish to
unsubscribe from all central email marketing lists used by our business,
please forward the contents of this email to
unsubscriptions@national.com.au with the message "unsubscribe from all
central email marketing lists" in the subject box. If you do not forward
the contents of this email with your unsubscription then it may not be able
to be implemented.

The information contained in this email communication may be confidential.
You should only disclose, re-transmit, copy, distribute, act in reliance on
or commercialise the information if you are authorised to do so. Any views
expressed in this email communication are those of the individual sender,
except where the sender specifically states them to be the views of a
member of the National Australia Bank Group of companies. Any advice
contained in this e-mail has been prepared without taking into account your
objectives, financial situation or needs. Before acting on any advice in
this e-mail, National Australia Bank Limited recommends that you consider
whether it is appropriate for your circumstances. If this e-mail contains
reference to any financial products, the National recommends you consider
the Product Disclosure Statement (PDS) or other disclosure document before
making any decisions regarding any products. The National Australia Bank
Group of companies does not represent, warrant or guarantee that the
integrity of this communication has been maintained nor that the
communication is free of errors, virus or interference.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Oct 14 02:14:26 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.