Use cluster size limit for -maxmempool bound, and allow -maxmempool=0 in general
Previously we would sanity check the -maxmempool configuration based on a multiple of the descendant size limit, but with cluster mempool the maximum evicted size is now the cluster size limit, so use that instead. Also allow -maxmempool=0 in general (and not just if -limitdescendantsize/-limitclustersize is set to 0).
This commit is contained in:
1 parent
315e43e5d8
commit
17cf9ff7ef
2 files changed
+3
-4
No files matched your search
+3
-3
@@ -164,9 +164,9 @@ CTxMemPool::setEntries CTxMemPool::CalculateMemPoolAncestors(const CTxMemPoolEnt
|
|||||||
static CTxMemPool::Options&& Flatten(CTxMemPool::Options&& opts, bilingual_str& error)
|
static CTxMemPool::Options&& Flatten(CTxMemPool::Options&& opts, bilingual_str& error)
|
||||||
{
|
{
|
||||||
opts.check_ratio = std::clamp<int>(opts.check_ratio, 0, 1'000'000);
|
opts.check_ratio = std::clamp<int>(opts.check_ratio, 0, 1'000'000);
|
||||||
int64_t descendant_limit_bytes = opts.limits.descendant_size_vbytes * 40;
|
int64_t cluster_limit_bytes = opts.limits.cluster_size_vbytes * 40;
|
||||||
if (opts.max_size_bytes < 0 || opts.max_size_bytes < descendant_limit_bytes) {
|
if (opts.max_size_bytes < 0 || (opts.max_size_bytes > 0 && opts.max_size_bytes < cluster_limit_bytes)) {
|
||||||
error = strprintf(_("-maxmempool must be at least %d MB"), std::ceil(descendant_limit_bytes / 1'000'000.0));
|
error = strprintf(_("-maxmempool must be at least %d MB"), std::ceil(cluster_limit_bytes / 1'000'000.0));
|
||||||
}
|
}
|
||||||
return std::move(opts);
|
return std::move(opts);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
|
|||||||
|
|
||||||
# Set -maxmempool=0 to turn off mempool memory sharing with dbcache
|
# Set -maxmempool=0 to turn off mempool memory sharing with dbcache
|
||||||
self.base_args = [
|
self.base_args = [
|
||||||
"-limitdescendantsize=0",
|
|
||||||
"-maxmempool=0",
|
"-maxmempool=0",
|
||||||
"-dbbatchsize=200000",
|
"-dbbatchsize=200000",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in new issue
Block a user