fix: Remove 'new parent hash' assert (#5313)

This assert is known to occasionally trigger, without causing errors
downstream. It is replaced with a log message.
This commit is contained in:
Bronek Kozicki
2025-02-25 14:14:10 +00:00
committed by GitHub
parent ab44cc31e2
commit 9745718467
2 changed files with 7 additions and 10 deletions

View File

@@ -785,13 +785,10 @@ private:
*/ */
std::optional<size_t> maxSize_; std::optional<size_t> maxSize_;
#if !NDEBUG
/** /**
parentHash_ checks that no unexpected ledger transitions parentHash_ used for logging only
happen, and is only checked via debug asserts.
*/ */
LedgerHash parentHash_{beast::zero}; LedgerHash parentHash_{beast::zero};
#endif
/** Most queue operations are done under the master lock, /** Most queue operations are done under the master lock,
but use this mutex for the RPC "fee" command, which isn't. but use this mutex for the RPC "fee" command, which isn't.

View File

@@ -1569,12 +1569,12 @@ TxQ::accept(Application& app, OpenView& view)
// parent hash, so that transactions paying the same fee are // parent hash, so that transactions paying the same fee are
// reordered. // reordered.
LedgerHash const& parentHash = view.info().parentHash; LedgerHash const& parentHash = view.info().parentHash;
#if !NDEBUG if (parentHash == parentHash_)
auto const startingSize = byFee_.size(); JLOG(j_.warn()) << "Parent ledger hash unchanged from " << parentHash;
XRPL_ASSERT( else
parentHash != parentHash_, "ripple::TxQ::accept : new parent hash");
parentHash_ = parentHash; parentHash_ = parentHash;
#endif
[[maybe_unused]] auto const startingSize = byFee_.size();
// byFee_ doesn't "own" the candidate objects inside it, so it's // byFee_ doesn't "own" the candidate objects inside it, so it's
// perfectly safe to wipe it and start over, repopulating from // perfectly safe to wipe it and start over, repopulating from
// byAccount_. // byAccount_.