diff --git a/core/tx_pool.go b/core/tx_pool.go index 8cc9e2ffd028..57466f85e18e 100644 --- a/core/tx_pool.go +++ b/core/tx_pool.go @@ -431,6 +431,7 @@ func (pool *TxPool) loop() { if time.Since(pool.beats[addr]) > pool.config.Lifetime { list := pool.queue[addr].Flatten() for _, tx := range list { + log.Trace("evict queue tx for timeout", "tx", tx.Hash().String()) pool.removeTx(tx.Hash(), true) } queuedEvictionMeter.Mark(int64(len(list))) @@ -922,6 +923,7 @@ func (pool *TxPool) enqueueTx(hash common.Hash, tx *types.Transaction, local boo if pool.all.Get(hash) == nil && !addAll { log.Error("Missing transaction in lookup set, please report the issue", "hash", hash) } + log.Trace("Enqueued transaction", "hash", hash.String(), "from", from, "to", tx.To(), "new tx", !addAll) if addAll { pool.all.Add(tx, local) pool.priced.Put(tx, local) @@ -975,6 +977,7 @@ func (pool *TxPool) promoteTx(addr common.Address, hash common.Hash, tx *types.T // Nothing was replaced, bump the pending counter pendingGauge.Inc(1) } + log.Trace("Promoted transaction from queue to pending", "hash", hash.String(), "from", addr, "to", tx.To()) // Set the potentially new pending nonce and notify any subsystems of the new tx pool.pendingNonces.set(addr, tx.Nonce()+1) @@ -1146,6 +1149,9 @@ func (pool *TxPool) removeTx(hash common.Hash, outofbound bool) { if tx == nil { return } + + log.Trace("remove tx", "hash", hash, "outofbound", outofbound) + addr, _ := types.Sender(pool.signer, tx) // already validated during insertion // Remove it from the list of known transactions @@ -1767,6 +1773,9 @@ func (pool *TxPool) calculateTxsLifecycle(txs types.Transactions, t time.Time) { for _, tx := range txs { if tx.Time().Before(t) { txLifecycle := t.Sub(tx.Time()) + if txLifecycle >= time.Minute*30 { + log.Debug("calculate tx life cycle, cost over 30 minutes", "tx", tx.Hash().String(), "txLifecycle(s)", txLifecycle.Seconds()) + } txLifecycleTimer.Update(txLifecycle) } } diff --git a/params/version.go b/params/version.go index c523758cbe05..881b51ebecce 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 5 // Major version component of the current release VersionMinor = 7 // Minor version component of the current release - VersionPatch = 24 // Patch version component of the current release + VersionPatch = 25 // Patch version component of the current release VersionMeta = "mainnet" // Version metadata to append to the version string )