Thanks, this is what I feared.

Does LMDB have some ways to "lock the environment" (while still keeping 
MDB_NOLOCK)? This might allow me to modify that other program to "lock the 
environment" while it access the LMDB file.

With "lock the environment" I mean, blocking access for other processes. 
Something similar to MDBX_EXCLUSIVE/MDBX_BUSY in libmdbx.

(By the way, what reputation does libmdbx have in this forum? It claims to 
"improve" on LMDB but I thought I'd check here first... that project seems 
unmaintained for 2 years.)

- Zhou

Mar 11, 2024, 15:07 by [email protected]:

> [email protected] wrote:
>
>> At work we have a program that actively reads/writes into LMDB file. This 
>> program uses MDB_NOLOCK (why, I'm not sure yet).
>>
>> Can I safely read/write to this LMDB file using my own programs or mdb_ 
>> command line tools?
>>
>
> No.
>
>> I worry that those (which by default use lock files) could conflict
>> with the manual locking of the existing program and cause data corruptions.
>>
>
> You would have to use exactly the same locking code as the other program 
> uses. And the mdb_ command
> line tools don't support any other locking methods.
>
> -- 
>  -- Howard Chu
>  CTO, Symas Corp.           http://www.symas.com
>  Director, Highland Sun     http://highlandsun.com/hyc/
>  Chief Architect, OpenLDAP  http://www.openldap.org/project/
>

Reply via email to