aboutsummaryrefslogtreecommitdiff
path: root/src/policy/fees.cpp
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-12-07 14:06:28 +0100
committerMarcoFalke <falke.marco@gmail.com>2020-12-07 14:13:20 +0100
commitfa0d8359b351fd179a0a2f458671a4d7828c9a80 (patch)
treec67b24fd65da809f5e3b2b777a1a77fe4676f53a /src/policy/fees.cpp
parentfaefa5db5f1d95b772873f4429e8a8fbb4e71cf3 (diff)
log: Clarify that failure to read fee_estimates.dat is non-fatal
An uppercase "ERROR" in the log might indicate a fatal error. Though, all read-failures for fee_estimates.dat are non-fatal, so avoid the "ERROR". Before: ERROR: CBlockPolicyEstimator::Read(): up-version (149900) fee estimate file After: CBlockPolicyEstimator::Read(): unable to read policy estimator data (non-fatal): up-version (149900) fee estimate file
Diffstat (limited to 'src/policy/fees.cpp')
-rw-r--r--src/policy/fees.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp
index 1a57ddeee9..cfa4cf8421 100644
--- a/src/policy/fees.cpp
+++ b/src/policy/fees.cpp
@@ -909,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.
@@ -928,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));