thesis: the database locking is failing, and I need to roll my own hello pthread mutexes, my old friend...
-
-
This Tweet is unavailable.
-
Replying to @MagickalFarmCat
LMDB header file even makes vague references
1 reply 0 retweets 0 likes -
This Tweet is unavailable.
-
Replying to @MagickalFarmCat
I init the db with the flag for locking enabled. I fork 10 threads and do 10 writes in parallel. I have evidence that the writes are all getting called, and the data is all correct when it goes into the LMDB API. a random number (e.g. 6 of the 10 entries ) are found via read
2 replies 0 retweets 0 likes -
Replying to @MorlockP @MagickalFarmCat
.h files includes a large section: ----------- * *@section caveats_sec Caveats *Troubleshooting the lock file, plus semaphores on BSD systems: * ...
1 reply 0 retweets 0 likes -
This Tweet is unavailable.
-
Replying to @MagickalFarmCat
Been doing it for 25 years. Have written multithreaded apps, embedded apps, web apps, etc.
1 reply 0 retweets 1 like -
This Tweet is unavailable.
-
Replying to @MagickalFarmCat
go here https://github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/lmdb.h … search for "lock" it's complicated, it varies across OSes, it's got a flag to turn on or off (so you can manage it yourself, if you want). I'm turning it off and then rolling my own with pthread_mutexes, just to see what happens
1 reply 0 retweets 1 like
my theory is not "well OBVIOUSLY they have a bug in their code". My theory is "well, SOMETHING about this is not right, and since the docs specifically mention turning off locking and doing it yourself, let me give that a shot and see what I learn"
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.