"hg push" hangs for one minute (exactly one minute)

Ernie Rael errael at raelity.com
Thu Apr 28 20:28:00 UTC 2022


On 4/28/22 12:46 PM, Anton Shestakov wrote:
> Looks like either another process is holding a lock on caches or the
> FS doesn't support locking mechanisms that sqlite3 needs.
>
> If you want to dig further into this, check around these files:
> .hg/cache/evoext_stablerange_v2.sqlite and
> .hg/cache/evoext_obshashrange_v2.sqlite

There's plenty of stuff online about how sqlite3 locking doesn't work 
with NAS/NFS. But I found a post with a solution (or is it a 
workaround?). It works for me.

I don't know if there are any reliability problems by doing this. But 
considering that Mercurial's evolve had this issue and finished, 
*without reporting an error*, can't be too bad.

Here's the post with the workaround:

Calibre does not take libraries on network drives. It will throw 
"Database locked" errors when you try.

But we can avoid this error by mounting the volume with nobrl option.

 From the manual:
nobrl -
Do not send byte range lock requests to the server. This is necessary 
for certain applications that break with cifs style mandatory byte range 
locks (and most cifs servers do not yet support requesting advisory byte 
range locks).

So in the /etc/fstab:

Code:

//server/nas /home/nas cifs 
nobrl,user=uid,password=xxx,uid=1001,gid=1001 0 0

Then you can use the calibre libraries on this volume without errors.



More information about the Mercurial mailing list