dash/src
UdjinM6 7724eb4f03
fix: ScanQuorums should not start cache population for outdated quorums (#5784)
## Issue being fixed or feature implemented
Cache population for old quorums is a cpu heavy operation and should be
avoided for inactive quorums _at least_ oin `ScanQuorums`. This issue is
critical for testnet and other small network because every mn
participate in almost every platform quorum and cache population for 2
months of quorums can easily block everything for 15+ minutes on a 4 cpu
node. On mainnet quorum distribution is much better but it's still a
small waste of cpu (or not so small for unlucky nodes).

#5761 follow-up

## What was done?
Do not start cache population for outdated quorums, improve logs in
`StartCachePopulatorThread` to make it easier to see what's going on.

## How Has This Been Tested?
run a mn on testnet

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-12-22 13:56:43 -06:00
..
bench Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
bls chore: Post v19 cleanup (#5622) 2023-10-19 11:33:44 -05:00
coinjoin refactor: drop circular dependency validationinterface <-> governance/object 2023-12-21 23:04:43 -06:00
compat Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
config
consensus Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
crc32c
crypto (partial) Merge #24203: doc: Fix typos pointed out by lint-spelling 2023-12-11 15:48:44 -06:00
dashbls
evo refactor: use DeploymentActiveAfter in evo/mnauth 2023-12-21 23:02:31 -06:00
governance refactor: drop circular dependency governance/object <-> governance/validators 2023-12-21 23:04:43 -06:00
gsl refactor: re-order headers and forward declarations to improve compile time (#5693) 2023-11-17 10:04:18 -06:00
immer
index Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
interfaces refactor: untie governance/object and wallet implementation 2023-12-21 23:04:40 -06:00
leveldb Merge bitcoin/bitcoin#24461: build: Minor leveldb subtree update 2023-12-07 09:14:57 -06:00
llmq fix: ScanQuorums should not start cache population for outdated quorums (#5784) 2023-12-22 13:56:43 -06:00
logging Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
masternode refactor: move out helper IsDIP3Enforced from deterministicmns 2023-12-21 23:02:31 -06:00
node refactor: new method listMNCollaterials() for chain interface 2023-12-17 12:42:45 -06:00
policy Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
primitives Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
qt Merge bitcoin-core/gui#162: Add network to peers window and peer details 2023-12-08 21:16:00 +03:00
rpc refactor: simplify comparator in rpc/governance 2023-12-21 23:04:44 -06:00
script partial (missing function GetKeyForDestination) Merge #11403: SegWit wallet support 2023-12-06 11:46:53 -06:00
secp256k1 merge bitcoin#27479: BIP324: ElligatorSwift integrations 2023-11-21 07:59:03 -06:00
support Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
test refactor: drop dependency test/evo_deterministicmns_tests on llmq::utils 2023-12-21 23:02:31 -06:00
univalue
util Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls 2023-12-08 21:16:00 +03:00
wallet refactor: untie governance/object and wallet implementation 2023-12-21 23:04:40 -06:00
zmq refactor: drop circular dependency validationinterface <-> governance/object 2023-12-21 23:04:43 -06:00
.clang-format
addrdb.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
addrdb.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
addressindex.cpp refactor: consolidate P2PK{H} types to P2PK_OR_P2PKH 2023-09-25 22:57:42 +05:30
addressindex.h refactor: consolidate P2PK{H} types to P2PK_OR_P2PKH 2023-09-25 22:57:42 +05:30
addrman.cpp Merge bitcoin/bitcoin#18722: addrman: improve performance by using more suitable containers 2023-12-03 20:32:22 -06:00
addrman.h Merge bitcoin/bitcoin#18722: addrman: improve performance by using more suitable containers 2023-12-03 20:32:22 -06:00
amount.h Merge #15054: Update copyright headers to 2018 2023-12-06 11:40:14 -06:00
arith_uint256.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
arith_uint256.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
attributes.h
banman.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
banman.h merge bitcoin#22570: Ignore banlist.dat 2023-09-24 09:50:50 -05:00
base58.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
base58.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
batchedlogger.cpp
batchedlogger.h
bech32.cpp
bech32.h
bip39_english.h
bip39.cpp
bip39.h
bitcoin-cli.cpp merge bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes 2023-11-21 07:59:03 -06:00
bitcoin-tx.cpp partial bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-11-21 07:59:03 -06:00
bitcoin-wallet.cpp partial bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-11-21 07:59:03 -06:00
bitcoind.cpp merge bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes 2023-11-21 07:59:03 -06:00
blockencodings.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
blockencodings.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
blockfilter.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
blockfilter.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
bloom.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
bloom.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
cachemap.h
cachemultimap.h
chain.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chain.h refactor: re-order headers and forward declarations to improve compile time (#5693) 2023-11-17 10:04:18 -06:00
chainparams.cpp Merge bitcoin/bitcoin#19438: Introduce deploymentstatus 2023-12-01 09:08:50 -06:00
chainparams.h refactor: make MNActivationHeight in Params() indeed constant (#5658) 2023-11-10 08:31:12 -06:00
chainparamsbase.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chainparamsbase.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
chainparamsseeds.h chore: update mainnet seeds 2023-11-13 10:13:12 -06:00
checkqueue.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
clientversion.cpp
clientversion.h merge bitcoin#21059: Drop boost/preprocessor dependencies 2023-09-04 20:50:27 -05:00
coins.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
coins.h Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr 2023-12-03 20:45:01 -06:00
compat.h merge bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes 2023-11-21 07:59:03 -06:00
compressor.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
compressor.h merge bitcoin#23413: Replace MakeSpan helper with Span deduction guide 2023-09-24 09:50:50 -05:00
context.h trivial: consistently use context as the argument name for CoreContext 2023-07-28 00:18:27 -05:00
core_io.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
core_memusage.h
core_read.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
core_write.cpp Merge #16525: Dump transaction version as an unsigned integer in RPC/TxToUniv 2023-12-06 12:33:15 -06:00
ctpl_stl.h
cuckoocache.h merge bitcoin#23994: Consolidate all uses of the fast range mapping technique in util/fastrange.h 2023-09-04 20:50:27 -05:00
cxxtimer.hpp
dash-cli-res.rc
dash-tx-res.rc
dash-wallet-res.rc
dashd-res.rc
dbwrapper.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
dbwrapper.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
deploymentinfo.cpp Merge bitcoin/bitcoin#19438: Introduce deploymentstatus 2023-12-01 09:08:50 -06:00
deploymentinfo.h Merge bitcoin/bitcoin#19438: Introduce deploymentstatus 2023-12-01 09:08:50 -06:00
deploymentstatus.cpp Merge bitcoin/bitcoin#19438: Introduce deploymentstatus 2023-12-01 09:08:50 -06:00
deploymentstatus.h refactor: move out helper IsDIP3Enforced from deterministicmns 2023-12-21 23:02:31 -06:00
dsnotificationinterface.cpp cleanup: remove outdated TODO to follow-up bitcoin#16624 2023-11-18 02:43:47 +07:00
dsnotificationinterface.h fix: should not notify about mnlist changes while ConnectBlock isn't done yet (#5711) 2023-11-16 12:36:46 -06:00
dummywallet.cpp refactor: subsume CoinJoin objects under CJContext, deglobalize coinJoin{ClientQueueManager,Server} (#5337) 2023-09-13 12:52:38 -05:00
flat-database.h merge bitcoin#19326: Simplify hash.h interface using Spans 2023-09-24 09:50:50 -05:00
flatfile.cpp Merge #21041: log: Move "Pre-allocating up to position 0x[…] in […].dat" log message to debug category 2023-12-03 20:44:56 -06:00
flatfile.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
fs.cpp Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls 2023-12-08 21:16:00 +03:00
fs.h Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls 2023-12-08 21:16:00 +03:00
hash.cpp merge bitcoin#23115: use Span instead of std::vector for insert and contains 2023-09-24 09:50:50 -05:00
hash.h merge bitcoin#19326: Simplify hash.h interface using Spans 2023-09-24 09:50:50 -05:00
hdchain.cpp merge bitcoin#23409: Take Span in SetSeed 2023-09-24 09:50:50 -05:00
hdchain.h
httprpc.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
httprpc.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
httpserver.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
httpserver.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
i2p.cpp
i2p.h
indirectmap.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
init.cpp refactor: use DeploymentActiveAfter in init.cpp 2023-12-21 23:02:31 -06:00
init.h partial Merge bitcoin/bitcoin#25233: compat: remove glibcxx sanity checks 2023-11-07 07:44:05 -06:00
key_io.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
key_io.h
key.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
key.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
limitedmap.h
logging.cpp Merge bitcoin/bitcoin#22530: log: sort logging categories alphabetically 2023-12-03 20:25:16 -06:00
logging.h Merge bitcoin/bitcoin#22530: log: sort logging categories alphabetically 2023-12-03 20:25:16 -06:00
Makefile.am refactor: untie governance/object and wallet implementation 2023-12-21 23:04:40 -06:00
Makefile.bench.include merge bitcoin#27479: BIP324: ElligatorSwift integrations 2023-11-21 07:59:03 -06:00
Makefile.crc32c.include Merge bitcoin/bitcoin#23082: build: improve gexauxval() detection, remove getauxval() weak linking 2023-10-31 08:40:25 -05:00
Makefile.leveldb.include
Makefile.qt_locale.include
Makefile.qt.include
Makefile.qttest.include
Makefile.test_fuzz.include
Makefile.test_util.include Merge bitcoin/bitcoin#26153: Reduce wasted pseudorandom bytes in ChaCha20 + various improvements 2023-11-19 10:20:12 -06:00
Makefile.test.include Merge #15710: wallet: Catch ios_base::failure specifically 2023-12-03 20:32:22 -06:00
Makefile.univalue.include
mapport.cpp merge bitcoin#19064: Cleanup thread ctor calls 2023-09-04 20:50:27 -05:00
mapport.h Merge bitcoin/bitcoin#26896: build: Remove port-forwarding runtime setting options from configure 2023-12-03 20:01:26 -06:00
memusage.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
merkleblock.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
merkleblock.h
messagesigner.cpp
messagesigner.h
miner.cpp refactor: drop global variable fDIP0001ActiveAtTip - partial implementation 2023-12-21 23:02:31 -06:00
miner.h refactor: drop global variable fDIP0001ActiveAtTip - partial implementation 2023-12-21 23:02:31 -06:00
net_permissions.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
net_permissions.h Merge bitcoin/bitcoin#21644: p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() 2023-12-03 20:44:58 -06:00
net_processing.cpp Merge #21043: net: Avoid UBSan warning in ProcessMessage(...) 2023-12-08 21:16:00 +03:00
net_processing.h Merge #21162: Net Processing: Move RelayTransaction() into PeerManager 2023-12-08 21:16:00 +03:00
net_types.h
net.cpp refactor: drop global variable fDIP0001ActiveAtTip - partial implementation 2023-12-21 23:02:31 -06:00
net.h Merge bitcoin-core/gui#162: Add network to peers window and peer details 2023-12-08 21:16:00 +03:00
netaddress.cpp merge bitcoin#23413: Replace MakeSpan helper with Span deduction guide 2023-09-24 09:50:50 -05:00
netaddress.h Merge bitcoin/bitcoin#18722: addrman: improve performance by using more suitable containers 2023-12-03 20:32:22 -06:00
netbase.cpp
netbase.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
netfulfilledman.cpp refactor: decouple db hooks from CFlatDB-based C*Manager objects, migrate to *Store structs (#5555) 2023-09-24 09:50:21 -05:00
netfulfilledman.h refactor: decouple db hooks from CFlatDB-based C*Manager objects, migrate to *Store structs (#5555) 2023-09-24 09:50:21 -05:00
netmessagemaker.h
noui.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
noui.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
outputtype.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
outputtype.h
pow.cpp
pow.h
prevector.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
protocol.cpp refactor: deprecate non-deterministic IS support (#5553) 2023-11-20 10:17:04 -06:00
protocol.h refactor: deprecate non-deterministic IS support (#5553) 2023-11-20 10:17:04 -06:00
psbt.cpp merge bitcoin#20464: Treat CDataStream bytes as uint8_t 2023-09-24 09:50:50 -05:00
psbt.h Merge #19072: doc: Expand section on Getting Started 2023-12-06 11:40:14 -06:00
pubkey.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
pubkey.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
random.cpp Merge #18781: Add templated GetRandDuration<> 2023-12-05 12:47:47 -06:00
random.h Merge #18781: Add templated GetRandDuration<> 2023-12-05 12:47:47 -06:00
randomenv.cpp Merge bitcoin/bitcoin#23082: build: improve gexauxval() detection, remove getauxval() weak linking 2023-10-31 08:40:25 -05:00
randomenv.h
rest.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
reverse_iterator.h
saltedhasher.cpp
saltedhasher.h
scheduler.cpp Merge bitcoin-core/gui#183: Add include for std::bind. 2023-12-03 20:44:55 -06:00
scheduler.h
serialize.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
shutdown.cpp Merge #21250: build: make HAVE_O_CLOEXEC available outside LevelDB (bugfix) 2023-12-03 20:44:56 -06:00
shutdown.h merge bitcoin#21575: Create blockstorage module 2023-07-28 00:18:27 -05:00
source_location.h refactor: add gsl::not_null to get compile time / run time pointer guarantees (#5595) 2023-10-22 09:14:30 -05:00
span.h merge bitcoin#27479: BIP324: ElligatorSwift integrations 2023-11-21 07:59:03 -06:00
spentindex.h refactor: make AddressType a strong enum, remove uint8_t for address_type 2023-09-25 22:57:42 +05:30
spork.cpp refactor: decouple db hooks from CFlatDB-based C*Manager objects, migrate to *Store structs (#5555) 2023-09-24 09:50:21 -05:00
spork.h fix: rename SPORK_24_EHF to SPORK_24_TEST_EHF, make sure it has no effect on mainnet (#5691) 2023-11-13 10:03:46 -06:00
stacktraces.cpp
stacktraces.h
statsd_client.cpp
statsd_client.h
streams.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
sync.cpp Merge #21010: refactor: remove straggling boost::mutex usage 2023-07-25 10:45:09 -05:00
sync.h Merge bitcoin/bitcoin#26189: refactor: Do not discard try_lock() return value 2023-11-07 07:44:05 -06:00
threadinterrupt.cpp Merge bitcoin/bitcoin#24974: refactor: Make FEELER_SLEEP_WINDOW type safe (std::chrono) 2023-10-31 08:40:25 -05:00
threadinterrupt.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
threadsafety.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
timedata.cpp
timedata.h
timestampindex.h refactor: add missing headers to {address,timestamp}index 2023-09-25 22:57:41 +05:30
tinyformat.h Merge #20530: lint, refactor: Update cppcheck linter to c++17 and improve explicit usage 2023-08-01 12:24:36 -05:00
torcontrol.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
torcontrol.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
txdb.cpp Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr 2023-12-03 20:45:01 -06:00
txdb.h Merge bitcoin/bitcoin#22263: refactor: wrap CCoinsViewCursor in unique_ptr 2023-12-03 20:45:01 -06:00
txmempool.cpp Merge #18017: txmempool: split epoch logic into class 2023-12-08 21:16:00 +03:00
txmempool.h Merge #18017: txmempool: split epoch logic into class 2023-12-08 21:16:00 +03:00
ui_interface.cpp fix: possible assert call if nHeight in CDeterministicMNList is higher then Tip (#5590) 2023-10-27 19:53:27 -05:00
ui_interface.h fix: possible assert call if nHeight in CDeterministicMNList is higher then Tip (#5590) 2023-10-27 19:53:27 -05:00
uint256.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
uint256.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
undo.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
unordered_lru_cache.h
validation.cpp refactor: drop global variable fDIP0001ActiveAtTip - partial implementation 2023-12-21 23:02:31 -06:00
validation.h fix: remove unused cs_main lock from src/miner.cpp - it's not used by EHF logic anymore 2023-12-21 23:02:31 -06:00
validationinterface.cpp refactor: drop circular dependency validationinterface <-> governance/object 2023-12-21 23:04:43 -06:00
validationinterface.h refactor: drop circular dependency validationinterface <-> governance/object 2023-12-21 23:04:43 -06:00
version.h chore: Post v19 cleanup (#5622) 2023-10-19 11:33:44 -05:00
versionbits.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
versionbits.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
walletinitinterface.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
warnings.cpp Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
warnings.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00