achow101 changed the topic of #bitcoin-core-dev to: Bitcoin Core development discussion and commit log | Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: http://www.erisian.com.au/bitcoin-core-dev/, http://gnusha.org/bitcoin-core-dev/ | Weekly Meeting Thursday @ 16:00 UTC | Meeting topics http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt
jespada has quit [Ping timeout: 245 seconds]
kevkevin has joined #bitcoin-core-dev
AtleoS has joined #bitcoin-core-dev
adil has joined #bitcoin-core-dev
adil has quit [Quit: adil]
adil has joined #bitcoin-core-dev
adil has quit [Quit: adil]
Guest27 has joined #bitcoin-core-dev
ojokne has joined #bitcoin-core-dev
bitdex has joined #bitcoin-core-dev
Guest68 has joined #bitcoin-core-dev
Guest68 has quit [Client Quit]
Guest27 has quit [Ping timeout: 240 seconds]
kevkevin has quit [Remote host closed the connection]
kevkevin has joined #bitcoin-core-dev
ojokne has quit [Ping timeout: 240 seconds]
cmirror has quit [Remote host closed the connection]
cmirror has joined #bitcoin-core-dev
spynxic has quit [Ping timeout: 265 seconds]
pyth has joined #bitcoin-core-dev
spynxic has joined #bitcoin-core-dev
pyth has quit [Remote host closed the connection]
AtleoS has quit [Ping timeout: 272 seconds]
robszarka has joined #bitcoin-core-dev
szarka has quit [Ping timeout: 248 seconds]
tarotfied has quit [Quit: WeeChat 4.1.1]
tarotfied has joined #bitcoin-core-dev
Guest82 has joined #bitcoin-core-dev
Guest82 has quit [Client Quit]
kevkevin has quit [Remote host closed the connection]
<bitcoin-git> [bitcoin] romanz opened pull request #32540: rest: fetch spent transaction outputs by blockhash (master...spent-prevouts) https://github.com/bitcoin/bitcoin/pull/32540
<bitcoin-git> [bitcoin] romanz opened pull request #32541: index: store per-block transaction locations for efficient lookups (master...locations-index) https://github.com/bitcoin/bitcoin/pull/32541
Christoph_ has joined #bitcoin-core-dev
storopoli has quit [Remote host closed the connection]
spynxic has quit [Read error: Connection reset by peer]
spynxic has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin] hebasto pushed 4 commits to master: https://github.com/bitcoin/bitcoin/compare/c461d1528758...3023d7e6ad52
<bitcoin-git> bitcoin/master e2c84b8 fanquake: Squashed 'src/leveldb/' changes from 4188247086..113db4962b
<bitcoin-git> bitcoin/master 7015052 fanquake: build: remove Wsuggest-override suppression from leveldb build
<bitcoin-git> bitcoin/master 0769c8f fanquake: Update leveldb subtree to latest upstream
<bitcoin-git> [bitcoin] hebasto merged pull request #32534: Update leveldb subtree to latest upstream (master...update_leveldb_subtree) https://github.com/bitcoin/bitcoin/pull/32534
<bitcoin-git> [bitcoin] fanquake pushed 4 commits to master: https://github.com/bitcoin/bitcoin/compare/3023d7e6ad52...b81e5076aa56
<bitcoin-git> bitcoin/master fa414ed MarcoFalke: scripted-diff: Remove unused leading newline in RPC docs
<bitcoin-git> bitcoin/master fae840e MarcoFalke: rpc: Reject beginning newline in RPC docs
<bitcoin-git> bitcoin/master fa1f10a MarcoFalke: doc: Fix minor typos in rpc help
<bitcoin-git> [bitcoin] fanquake merged pull request #32514: scripted-diff: Remove unused leading newline in RPC docs (master...2505-rpc-newline) https://github.com/bitcoin/bitcoin/pull/32514
<bitcoin-git> [bitcoin] fanquake pushed 7 commits to master: https://github.com/bitcoin/bitcoin/compare/b81e5076aa56...7710a31f0cb6
<bitcoin-git> bitcoin/master 94c87bb Ava Chow: test: Remove unnecessary importprivkey from wallet_createwallet
<bitcoin-git> bitcoin/master fcc4575 Ava Chow: test: Replace importprivkey with wallet_importprivkey
<bitcoin-git> bitcoin/master d314207 Ava Chow: test: Replace usage of importaddress
<bitcoin-git> [bitcoin] fanquake merged pull request #32452: test: Remove legacy wallet RPC overloads (master...cleanup-test-import-overload) https://github.com/bitcoin/bitcoin/pull/32452
<bitcoin-git> [bitcoincore.org] fanquake opened pull request #1133: blog: add redirect for disclose-cve-2024-52919 post (master...cve_redirect) https://github.com/bitcoin-core/bitcoincore.org/pull/1133
<bitcoin-git> [bitcoincore.org] fanquake opened pull request #1134: doc: drop text about project lead (master...drop_project_lead) https://github.com/bitcoin-core/bitcoincore.org/pull/1134
abubakarsadiq has joined #bitcoin-core-dev
Guest59 has joined #bitcoin-core-dev
Guest19 has joined #bitcoin-core-dev
Guest19 has quit [Client Quit]
maaziEmeka has joined #bitcoin-core-dev
Guest59 has quit [Ping timeout: 240 seconds]
maaziEmeka has quit [Quit: Client closed]
maaziEmeka has joined #bitcoin-core-dev
Talkless has joined #bitcoin-core-dev
Guest58 has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
Christoph_ has quit [Quit: Christoph_]
kevkevin has quit [Ping timeout: 252 seconds]
maaziEmeka has quit [Ping timeout: 240 seconds]
Guyver2 has joined #bitcoin-core-dev
Guyver2 has left #bitcoin-core-dev [#bitcoin-core-dev]
jespada has joined #bitcoin-core-dev
Guest58 has quit [Quit: Client closed]
maaziEmeka has joined #bitcoin-core-dev
maaziEmeka has quit [Remote host closed the connection]
bcdarc has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin-detached-sigs] pinheadmz pushed 1 commit to 28.x: https://github.com/bitcoin-core/bitcoin-detached-sigs/compare/da9ae6864fd7...490283601047
<bitcoin-git> bitcoin-detached-sigs/28.x 4902836 Matthew Zipkin: 28.2: osx signature for rc1
bcdarc_ has quit [Ping timeout: 260 seconds]
sdaftuar has quit [Ping timeout: 252 seconds]
sdaftuar has joined #bitcoin-core-dev
robszarka has quit [Quit: Leaving]
szarka has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
bcdarc has joined #bitcoin-core-dev
sdaftuar has joined #bitcoin-core-dev
jespada has quit [Ping timeout: 245 seconds]
Christoph_ has joined #bitcoin-core-dev
jespada has joined #bitcoin-core-dev
hensou has joined #bitcoin-core-dev
mcey_ has joined #bitcoin-core-dev
Christoph_ has quit [Quit: Christoph_]
emcy__ has quit [Ping timeout: 260 seconds]
Guest58 has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
emcy__ has joined #bitcoin-core-dev
Guest34 has joined #bitcoin-core-dev
jon_atack has joined #bitcoin-core-dev
maaziEmeka has quit [Remote host closed the connection]
kevkevin has quit [Ping timeout: 260 seconds]
mcey_ has quit [Ping timeout: 244 seconds]
maaziEmeka has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 265 seconds]
maaziEmeka has quit [Remote host closed the connection]
Guest58 has quit [Quit: Client closed]
kevkevin has joined #bitcoin-core-dev
bugs_ has joined #bitcoin-core-dev
Guest34 has quit [Quit: Client closed]
hensou has quit [Ping timeout: 248 seconds]
pyth has joined #bitcoin-core-dev
pyth has quit [Remote host closed the connection]
kevkevin_ has joined #bitcoin-core-dev
kevkevin has quit [Read error: Connection reset by peer]
Christoph_ has joined #bitcoin-core-dev
maaziEmeka has joined #bitcoin-core-dev
adil has joined #bitcoin-core-dev
adil has quit [Quit: adil]
<bitcoin-git> [bitcoin] TheCharlatan opened pull request #32543: kernel: Remove dependency on clientversion (master...kernelRmClientversion) https://github.com/bitcoin/bitcoin/pull/32543
kevkevin_ has quit [Remote host closed the connection]
kevkevin has joined #bitcoin-core-dev
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 252 seconds]
<bitcoin-git> [bitcoin] theStack opened pull request #32544: scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls (master...202505-scripted-diff-remove_descriptors_false_args) https://github.com/bitcoin/bitcoin/pull/32544
<PaperSword> Thoughts about deprecating LevelDB for something like RocksDB or LMDB/
<sipa> PaperSword: that's suggested semi frequently
<PaperSword> Has there been a dbwrapper written for either db or a pull?
<sipa> not as far as i know
<sipa> it's worth experimenting with, but it's also good to keep in mind that the database layer is effectively consensus critical, and potential bugs in it can have very severe consequences
<PaperSword> I didn't see much in the repo and was going to make this a weekend project. My concerns are
<PaperSword> - License
<PaperSword> - Forking
<PaperSword> - Is it even worth the cost?
<PaperSword> - Performance
<PaperSword> Yep lessons have been learned in the past from Berkley to Level .7 - .8
<sipa> informed by the BIP50 fiasco (bdb/leveldb locking fork)
<PaperSword> :D
<sipa> jinx
<PaperSword> My biggest question would be, lets say in terms of performance, LMDB is much better, as such the UTXO set that would not work with level works with LMDB that would be a hardfork?
<sipa> why would any UTXO set not work witrh leveldb?
<PaperSword> At somepoint the DB will just keel over right?
<PaperSword> Similar to running out of diskspace
<sipa> i don't see why that would be the case?
<sipa> you mean just by virtue of becoming too slow?
<PaperSword> Yeah
<sipa> ok, yeah - i wouldn't call that a hard fork, more a centralization pressure thing
<PaperSword> Okay.
<PaperSword> Well I am going to go write something up!
<PaperSword> Even if it's a problem would be nice to see what impact a new maintained db would have.
<PaperSword> TY for your time.
<sipa> yeah, i'm curious to see numbers
<PaperSword> Just off the cuff, are you more interested in LMDB or RocksDB?
<sipa> bitcoin core can very aggressively cache the UTXO data cache in its application-level cache though, which may or may not impact what gains are possible at all due to the database layer
<PaperSword> Or some other backend?
<sipa> rocksdb will definitely be easier, lmdb will likely be more interesting :p
<PaperSword> 10:01:36 AM - sipa: bitcoin core can very aggressively cache the UTXO data cache in its application-level cache though […]
<PaperSword> You talking about the dbcache?
<sipa> yes
<sipa> well, the dbcache setting controls both database-layer caches and application-layer caches
<sipa> by application-layer cache, i mean CCoinsViewCache
<PaperSword> Yeah, the hot cache of in-memory coins
<PaperSword> if entry is missing then you fallback to the db lookup
<sipa> its most important benefit i think is the "fresh" optimization (i may be biased, i introduced it), where a coin that is being spent before its creation was flushed out to disk, will just be removed from memory as if it never existed, having no long-term memory usage impact, and avoiding all CPU and I/O related to writing it out
Cory99 has joined #bitcoin-core-dev
Cory38 has quit [Ping timeout: 240 seconds]
maaziEmeka has quit [Remote host closed the connection]
abubakarsadiq has quit [Quit: Connection closed for inactivity]
Cory10 has joined #bitcoin-core-dev
Cory99 has quit [Ping timeout: 240 seconds]
<bitcoin-git> [bitcoin-detached-sigs] achow101 pushed 1 commit to 28.x: https://github.com/bitcoin-core/bitcoin-detached-sigs/compare/490283601047...51462d5b446c
<bitcoin-git> bitcoin-detached-sigs/28.x 51462d5 Ava Chow: 28.2: win signature for rc1
<bitcoin-git> [bitcoin-detached-sigs] achow101 pushed tag v28.2rc1: https://github.com/bitcoin-core/bitcoin-detached-sigs/compare/v28.2rc1
kevkevin has quit [Remote host closed the connection]
Christoph_ has quit [Quit: Christoph_]
Christoph_ has joined #bitcoin-core-dev
<TheCharlatan> PaperSword afaik both rocksdb and lmdb have been extensively tested as alternatives fairly recently, both proved slower in the benchmarks.
Christoph_ has quit [Ping timeout: 252 seconds]
<sipa> TheCharlatan: oh!
bugs_ has quit [Quit: Leaving]
<fjahr> TheCharlatan: Has that been documented anywhere? Would be good since it seems like this topic will surely be revisited in the future.
<TheCharlatan> yeah, not sure if something more complete has been written down.
<TheCharlatan> I think dgumberg should know more, but he does not seem to be on this channel?
<fjahr> I don't remember who's session this was, might be worth a delving post to document the finding for the future in a more coherent form that the transcripts.
conman has quit [Ping timeout: 276 seconds]
Cory10 has quit [Quit: Client closed]
cman has joined #bitcoin-core-dev
Cory10 has joined #bitcoin-core-dev
cman has quit [Ping timeout: 265 seconds]
cman has joined #bitcoin-core-dev
<gmaxwell> sipa: wumpus spent a lot of effort on lmdb a couple years ago.
<gmaxwell> rocks is basically a drops in, but yeah hasn't been faster, also really not so shocking.
<gmaxwell> the other thing to worry about is crash durability, which is annoyingly difficult to test... not that leveldb is a paragon of it, it's at least a known quantity.
<sipa> a point is also that the current application layer was heavily designed around leveldb's strengths and weaknesses, which means that just a straight up swapping out for a different database engine may understate its potential
conman has joined #bitcoin-core-dev
cman has quit [Ping timeout: 252 seconds]
<sipa> e.g. rocksdb can use asynchronous i/o on some systems, if you use a MultiGet statement, to fetch multiple keys concurrently - something the current code just cannot use
<gmaxwell> like if something is 1% more likely to get corrupted then it's probably not worth it even if it's a fair bit faster, given how costly resyncing is, and how insignificant the runtime cost for it *except* during resync.
<gmaxwell> sipa: indeed, well also in the current code I suspect all that matters for average performance is write performance because caching is effective enough.
<sipa> depends on the setting... high/low dbcache, ssd/hdd i/o profile, IDB vs steady state, ...
<sipa> pruning or not
<gmaxwell> but also average performance isnt the only metric, if you instead measure something more like 95th percentile block acceptance, it'll presumably be dominated by times when the cache was just flushed, and at that moment the database performance matters a lot more.
<gmaxwell> there are also a bunch of tunables in leveldb / other databases that were probably last tested/adjusted with a utxo set 1/5th the current size.
conman has quit [Ping timeout: 248 seconds]
<sipa> gmaxwell: there has been some benchmarking/tuning lately, actually, see #30039 for example
<corebot> https://github.com/bitcoin/bitcoin/issues/30039 | dbwrapper: Bump LevelDB max file size to 32 MiB to avoid system slowdown from high disk cache flush rate by maciejsszmigiero · Pull Request #30039 · bitcoin/bitcoin · GitHub
<sipa> also, for several types of database flushes we no longer wipe the cache
jon_atack has joined #bitcoin-core-dev
gophern has joined #bitcoin-core-dev
hensou has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 268 seconds]
gophern has quit [Client Quit]
gophern has joined #bitcoin-core-dev
conman has joined #bitcoin-core-dev
gophern has quit [Quit: Client closed]
<bitcoin-git> [leveldb-subtree] hebasto opened pull request #53: refactor: Delete unused `ScopedHandle:operator=(ScopedHandle&&)` (bitcoin-fork...250517-unused) https://github.com/bitcoin-core/leveldb-subtree/pull/53
Talkless has quit [Quit: Konversation terminated!]
robszarka has joined #bitcoin-core-dev
szarka has quit [Read error: Connection reset by peer]
codaMW has joined #bitcoin-core-dev
pyth has joined #bitcoin-core-dev
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 252 seconds]
kevkevin has joined #bitcoin-core-dev
sliv3r__ has quit [Ping timeout: 268 seconds]
sliv3r__ has joined #bitcoin-core-dev
emcy__ has quit [Quit: Leaving]
codaMW has quit [Ping timeout: 240 seconds]
mcey has joined #bitcoin-core-dev
bitdex has quit [Ping timeout: 264 seconds]
bitdex has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin] sipa opened pull request #32545: Replace cluster linearization algorithm with SFL (master...202505_sfl) https://github.com/bitcoin/bitcoin/pull/32545
kevkevin has quit [Read error: Connection reset by peer]
kevkevin has joined #bitcoin-core-dev
conman has quit [Quit: Konversation terminated!]