mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-20 14:05:23 +01:00
Merge #20589: log: Clarify that failure to read/write fee_estimates.dat is non-fatal
fa0d8359b3
log: Clarify that failure to read fee_estimates.dat is non-fatal (MarcoFalke)faefa5db5f
log: Clarify that failure to write fee_estimates.dat is non-fatal (MarcoFalke) Pull request description: two minor logging fixups ACKs for top commit: practicalswift: ACKfa0d8359b3
: patch looks correct laanwj: Code review ACKfa0d8359b3
Tree-SHA512: d1e7e595d3b4a5e497ee7ab70f3be5783dafec2726ef8e012db836c15e8e622022859a4472d6b516fe19d327737b25fdfb509cd9aeb022ca847b13c54e55800a
This commit is contained in:
commit
dcff2ee1fb
1 changed files with 8 additions and 4 deletions
|
@ -6,6 +6,8 @@
|
|||
#include <policy/fees.h>
|
||||
|
||||
#include <clientversion.h>
|
||||
#include <fs.h>
|
||||
#include <logging.h>
|
||||
#include <streams.h>
|
||||
#include <txmempool.h>
|
||||
#include <util/system.h>
|
||||
|
@ -872,7 +874,7 @@ void CBlockPolicyEstimator::Flush() {
|
|||
fs::path est_filepath = GetDataDir() / FEE_ESTIMATES_FILENAME;
|
||||
CAutoFile est_file(fsbridge::fopen(est_filepath, "wb"), SER_DISK, CLIENT_VERSION);
|
||||
if (est_file.IsNull() || !Write(est_file)) {
|
||||
LogPrintf("Failed to write fee estimates to %s\n", est_filepath.string());
|
||||
LogPrintf("Failed to write fee estimates to %s. Continue anyway.\n", est_filepath.string());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -907,8 +909,9 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
|
|||
LOCK(m_cs_fee_estimator);
|
||||
int nVersionRequired, nVersionThatWrote;
|
||||
filein >> nVersionRequired >> nVersionThatWrote;
|
||||
if (nVersionRequired > CLIENT_VERSION)
|
||||
return error("CBlockPolicyEstimator::Read(): up-version (%d) fee estimate file", nVersionRequired);
|
||||
if (nVersionRequired > CLIENT_VERSION) {
|
||||
throw std::runtime_error(strprintf("up-version (%d) fee estimate file", nVersionRequired));
|
||||
}
|
||||
|
||||
// Read fee estimates file into temporary variables so existing data
|
||||
// structures aren't corrupted if there is an exception.
|
||||
|
@ -926,8 +929,9 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
|
|||
std::vector<double> fileBuckets;
|
||||
filein >> fileBuckets;
|
||||
size_t numBuckets = fileBuckets.size();
|
||||
if (numBuckets <= 1 || numBuckets > 1000)
|
||||
if (numBuckets <= 1 || numBuckets > 1000) {
|
||||
throw std::runtime_error("Corrupt estimates file. Must have between 2 and 1000 feerate buckets");
|
||||
}
|
||||
|
||||
std::unique_ptr<TxConfirmStats> fileFeeStats(new TxConfirmStats(buckets, bucketMap, MED_BLOCK_PERIODS, MED_DECAY, MED_SCALE));
|
||||
std::unique_ptr<TxConfirmStats> fileShortStats(new TxConfirmStats(buckets, bucketMap, SHORT_BLOCK_PERIODS, SHORT_DECAY, SHORT_SCALE));
|
||||
|
|
Loading…
Add table
Reference in a new issue