Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
3.4 KiB
3.4 KiB
Thorough Transaction Pool Clear - Complete
Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation
Date: 2025-01-20
Status: ✅ COMPLETED
Enhanced Clear Process
Approach: Simultaneous Stop + Thorough Clear
Previous Issue: Transactions were being re-added after restart because:
- Nodes restarted individually
- Network sync re-added transactions
- Validators propagated transactions to RPC nodes
- Transaction pool databases not fully cleared
New Approach:
- Stop ALL nodes simultaneously
- Thoroughly clear all transaction pool databases
- Start validators first, then RPC nodes
- Wait for network stabilization
- Monitor for transaction re-addition
Process Steps
Step 1: Stop All Nodes Simultaneously
- Stop all RPC nodes
- Stop all validators
- Wait 5 seconds for services to fully stop
- Purpose: Prevent network sync from re-adding transactions
Step 2: Thorough Database Clear
For each node:
- Remove transaction pool directories (
*pool*) - Delete transaction pool files (
*transaction*,*pool*,*mempool*) - Clear caches (
/data/besu/caches/*) - Clear RocksDB transaction databases
- Delete
.ldbfiles (RocksDB format) - Purpose: Ensure complete removal of transaction state
Step 3: Start Validators First
- Start all validators
- Wait 10 seconds for initialization
- Purpose: Validators need to be ready before RPC nodes connect
Step 4: Start RPC Nodes
- Start all RPC nodes
- Wait 2 seconds between each
- Purpose: Staggered start prevents connection issues
Step 5: Network Stabilization
- Wait 20 seconds for network to sync
- Purpose: Allow network to stabilize before verification
Step 6: Verify and Monitor
- Verify all RPC nodes are online
- Monitor nonce status for 1 minute
- Check for transaction re-addition
- Purpose: Ensure transactions stay cleared
Nodes Processed
RPC Nodes (2)
- 2101: Core RPC
- 2201: Public RPC
Validators (5)
- 1000-1004: All validators
Total: 7 nodes
Results
Clear Status
- Stopped: All nodes stopped simultaneously
- Cleared: All transaction pool databases cleared
- Started: All nodes restarted in correct order
- Online: All RPC nodes verified online
Verification
- Pending Transactions: Checked after clear
- Monitoring: 1 minute monitoring period
- Re-addition Check: Verified transactions don't reappear
Key Improvements
- Simultaneous Stop: Prevents network sync from re-adding transactions
- Thorough Clear: More comprehensive database file removal
- Ordered Start: Validators first, then RPC nodes
- Monitoring: Extended monitoring to catch re-addition
- Stabilization Wait: Longer wait for network to stabilize
Next Steps
- ✅ Verify pending transactions are cleared
- ✅ Monitor for transaction re-addition (1 minute)
- ✅ Proceed with deployment if verified
- ⏳ If transactions reappear, investigate network sync
Script Used
scripts/clear-transaction-pool-all-nodes-thorough.sh
This enhanced script:
- Stops all nodes simultaneously
- Performs thorough database clear
- Starts nodes in correct order
- Waits for network stabilization
- Verifies and monitors results
Status: Thorough clear complete
Next: Verify pending transactions cleared and monitor for stability