-
Notifications
You must be signed in to change notification settings - Fork 0
Merge bitcoin/bitcoin#26419: log: mempool: log removal reason in validation interface #128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: backport-0.25-batch-241
Are you sure you want to change the base?
Merge bitcoin/bitcoin#26419: log: mempool: log removal reason in validation interface #128
Conversation
…nterface 25ef049 log: mempool: log removal reason in validation interface (James O'Beirne) Pull request description: Currently the exact reason a transaction is removed from the mempool isn't logged. It is sometimes detectable from context, but adding the `reason` to the validation interface logs (where it is already passed) seems like an easy way to disambiguate. For example in the case of mempool expiry, the logs look like this: ``` [validationinterface.cpp:220] [TransactionRemovedFromMempool] [validation] Enqueuing TransactionRemovedFromMempool: txid=<txid> wtxid=<wtxid> [txmempool.cpp:1050] [RemoveUnbroadcastTx] [mempool] Removed <txid> from set of unbroadcast txns before confirmation that txn was sent out [validationinterface.cpp:220] [operator()] [validation] TransactionRemovedFromMempool: txid=<txid> wtxid=<wtxid> [validation.cpp:267] [LimitMempoolSize] [mempool] Expired 1 transactions from the memory pool ``` There is no context-free way to know $txid was evicted on the basis of expiry. This change will make that case (and probably others) clear. ACKs for top commit: 0xB10C: ACK 25ef049 Tree-SHA512: 9890f9fa16f66c8a9296798d8c28993e1b81da17cf592946f2abc22041f0b30b0911ab86a0c48d4aa46b9a8b3f7f5de67778649ac48c97740b0a09aa6816e0af
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
- Fix MemPoolRemovalReason enum mismatch: REPLACED → MANUAL to match Dash's enum - Remove GetWitnessHash() call as Dash doesn't support Segwit - Revert scope creep: MainSignalsImpl → MainSignalsInstance to match original - Restore original comment style (//\! instead of /**) These changes ensure faithful backporting of bitcoin#26419 with proper Dash adaptations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
✅ Backport Verification - Issues FixedI found 4 critical issues and automatically applied fixes. Original Bitcoin commit: Issues Found & Fixed:
Validation Results:
The backport is now complete and faithful to the original Bitcoin commit while properly adapted for Dash. 🤖 Generated with Claude Code |
✅ Backport Verification SuccessfulNo issues found! This backport is complete and faithful to the original Bitcoin change. Original Bitcoin commit: Verification Details:
Bitcoin Intent vs Dash Implementation:Bitcoin Goal: Add removal reason logging to mempool transaction removal interface This PR correctly implements the exact same logging enhancement that Bitcoin added, with necessary adaptations for Dash's architecture. The core intent (logging This PR is ready for merge. ✅ |
Backports bitcoin#26419
Original commit: 50422b7
Backported from Bitcoin Core v0.25
Changes made for Dash compatibility: