From 083eeb145c7373c47f6d224b54209b2dd81c2441 Mon Sep 17 00:00:00 2001 From: wubin01 Date: Wed, 29 Sep 2021 18:19:21 +0800 Subject: [PATCH 1/2] modify repush queue process --- .../java/org/tron/core/db/PendingManager.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/framework/src/main/java/org/tron/core/db/PendingManager.java b/framework/src/main/java/org/tron/core/db/PendingManager.java index b9adebe74ba..c4275056237 100644 --- a/framework/src/main/java/org/tron/core/db/PendingManager.java +++ b/framework/src/main/java/org/tron/core/db/PendingManager.java @@ -1,6 +1,7 @@ package org.tron.core.db; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import lombok.extern.slf4j.Slf4j; import org.tron.core.capsule.TransactionCapsule; @@ -21,15 +22,13 @@ public PendingManager(Manager db) { @Override public void close() { - List list = new ArrayList<>(); - dbManager.getRePushTransactions().forEach(capsule -> { - if (System.currentTimeMillis() - capsule.getTime() < timeout) { - list.add(capsule); + long now = System.currentTimeMillis(); + Iterator iterator = dbManager.getRePushTransactions().iterator(); + while (iterator.hasNext()){ + if (now - iterator.next().getTime() > timeout){ + iterator.remove(); } - }); - - dbManager.getRePushTransactions().clear(); - dbManager.getRePushTransactions().addAll(list); + } for (TransactionCapsule tx : dbManager.getPendingTransactions()) { txIteration(tx); From 35a1562fc60c6ef9bab30280bc9b58aa8a01eff5 Mon Sep 17 00:00:00 2001 From: wubin01 Date: Wed, 29 Sep 2021 19:31:07 +0800 Subject: [PATCH 2/2] solve checkstyle problem --- .../src/main/java/org/tron/core/db/PendingManager.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/framework/src/main/java/org/tron/core/db/PendingManager.java b/framework/src/main/java/org/tron/core/db/PendingManager.java index c4275056237..9048925dda3 100644 --- a/framework/src/main/java/org/tron/core/db/PendingManager.java +++ b/framework/src/main/java/org/tron/core/db/PendingManager.java @@ -1,8 +1,6 @@ package org.tron.core.db; -import java.util.ArrayList; import java.util.Iterator; -import java.util.List; import lombok.extern.slf4j.Slf4j; import org.tron.core.capsule.TransactionCapsule; import org.tron.core.config.args.Args; @@ -24,8 +22,8 @@ public void close() { long now = System.currentTimeMillis(); Iterator iterator = dbManager.getRePushTransactions().iterator(); - while (iterator.hasNext()){ - if (now - iterator.next().getTime() > timeout){ + while (iterator.hasNext()) { + if (now - iterator.next().getTime() > timeout) { iterator.remove(); } }