-
Notifications
You must be signed in to change notification settings - Fork 220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf: set MDB_NOLOCK for peer and blockchain database #3473
perf: set MDB_NOLOCK for peer and blockchain database #3473
Conversation
17e6d25
to
e6b9759
Compare
Testing this, appears to work but DNM for now |
Interesting idea |
e6b9759
to
3e80977
Compare
Double checked that LMDB transaction rollbacks still work. I ran a single test (
|
Can merge after #3460 |
* development: (46 commits) refactor: remove tari_common dependency from tari_comms (tari-project#3580) feat: language detection for mnemonic seed words (tari-project#3590) chore: minor clippy fixes (tari-project#3576) fix: be more permissive of responses for the incorrect request_id (tari-project#3588) feat: track ping failures and disconnect (tari-project#3597) chore: upgrade tokio deps tari-project#3581 (tari-project#3595) feat: standardize output hash for unblinded output, transaction output and transaction input (tari-project#3592) fix: allow bullet proof value only rewinding off one-sided transaction (tari-project#3587) refactor: update miningcore repository links (tari-project#3593) refactor: clean up unwraps in wallet_ffi (tari-project#3585) fix: update daily test start times and seed phrase (tari-project#3584) fix: allow bullet proof value only rewinding in atomic swaps (tari-project#3586) v0.21.2 feat: add atomic swap refund transaction handling (tari-project#3573) feat: improve wallet connectivity status for console wallet (tari-project#3577) v0.21.1 feat: add error codes to LibWallet for CipherSeed errors (tari-project#3578) ci: split cucumber job into two (tari-project#3583) feat(wallet): import utxo’s as EncumberedToBeReceived rather than Unspent (tari-project#3575) docs: rfc 0250_Covenants (tari-project#3574) ...
* development: (29 commits) fix(pruned mode)!: prune inputs, allow horizon sync resume and other fixes (tari-project#3521) feat!: sending one-sided transactions in wallet_ffi (tari-project#3634) fix: use json 5 for tor identity (regression) (tari-project#3624) test: add operation_id to log messages (tari-project#3633) fix!: multiple monerod addresses in tari merge mining proxy (tari-project#3628) fix: get-peer command works with public key again (tari-project#3636) fix!: separate peer seeds to common.network (tari-project#3635) test: removed stress test log target (tari-project#3631) feat: removed transaction validation redundant events (tari-project#3630) feat: improve wallet responsiveness (tari-project#3625) feat: add bulletproof rewind profiling (tari-project#3618) fix!: console wallet grpc_console_wallet_addresss config (tari-project#3619) test: increase timeout in cucumber (tari-project#3621) chore: change status line (tari-project#3610) feat!: add tcp bypass settings for tor in wallet_ffi (tari-project#3615) feat: only trigger UTXO scanning when a new block event is received (tari-project#3620) feat: implement dht pooled db connection (tari-project#3596) feat: add page for detailed mempool in explorer (tari-project#3613) chore: add pub key in the dailes notify (tari-project#3612) feat: display network for console wallet (tari-project#3611) ...
* development: chore: add eslint to explorer (tari-project#3648) v0.22.0 perf: set MDB_NOLOCK for peer and blockchain database (tari-project#3473) feat: prevent banning of connected base node in wallet (tari-project#3642)
* development: chore: add eslint to explorer (tari-project#3648) v0.22.0 perf: set MDB_NOLOCK for peer and blockchain database (tari-project#3473) feat: prevent banning of connected base node in wallet (tari-project#3642)
Description --- The lock.mdb was disabled in [3473](#3473) How Has This Been Tested? --- `npm test -- --name "Blockchain database recovery"`
Description
MDB_NOLOCK
flag for LMDB environment for peer db and blockchain dbMotivation and Context
In both cases we use
RwLock
s to manage concurrent access so any overhead on locking on LMDB is not requiredFrom lmdb-zero:
How Has This Been Tested?
Existing tests and manually