Skip to content
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

Duplicate key errors in EthScheduler-Transactions #5824

Closed
benjaminion opened this issue Aug 29, 2023 · 1 comment
Closed

Duplicate key errors in EthScheduler-Transactions #5824

benjaminion opened this issue Aug 29, 2023 · 1 comment
Assignees
Labels
snack Small coding task TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team TeamRevenant GH issues worked on by Revenant Team

Comments

@benjaminion
Copy link

Description

As a node operator, I want ERROR level messages in the logs only to apply to important or actionable situations.

The below errors and stack traces don't seem to be useful, and as a node operator there doesn't seem to be anything I can do in response to them. Since Besu apparently keeps running fine, they should probably be demoted to DEBUG.

Acceptance Criteria

  • ERROR level messages that are not useful are suppressed.

Steps to Reproduce (Bug)

Run Besu for a while.

Expected behavior:

Logs don't contain unhelpful ERROR level stack traces.

Actual behavior: [What actually happens]

2023-08-29 19:31:22.624+00:00 | EthScheduler-Transactions-0 | ERROR | Besu | Uncaught exception in thread "EthScheduler-Transactions-0"
java.lang.IllegalStateException: Duplicate key 0xf526c3350c599fa381f0a9fd4412105d6e3b84cef407973520a4a536a602806d (attempted merging values ValidationResult{invalidReason=Optional.empty, errorMessage=Optional.empty} and ValidationResult{invalidReason=Optional[TRANSACTION_ALREADY_KNOWN], errorMessage=Optional.empty})
        at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:135)
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:182)
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
        at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.addRemoteTransactions(TransactionPool.java:212)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:87)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:60)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageHandler.lambda$exec$0(TransactionsMessageHandler.java:51)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-08-29 19:49:07.440+00:00 | EthScheduler-Transactions-1 | ERROR | Besu | Uncaught exception in thread "EthScheduler-Transactions-1"
java.lang.IllegalStateException: Duplicate key 0x73ea91e496f6015d18c20478bdd2bcd0afa41766b0c0946eac723a7ddf39c073 (attempted merging values ValidationResult{invalidReason=Optional[TRANSACTION_REPLACEMENT_UNDERPRICED], errorMessage=Optional.empty} and ValidationResult{invalidReason=Optional[TRANSACTION_REPLACEMENT_UNDERPRICED], errorMessage=Optional.empty})
        at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:135)
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:182)
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
        at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.addRemoteTransactions(TransactionPool.java:212)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:87)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:60)
        at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageHandler.lambda$exec$0(TransactionsMessageHandler.java:51)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)

Frequency: [What percentage of the time does it occur?]

A couple of times per hour.

Versions (Add all that apply)

  • Software version: 23.7.1
  • Java version: openjdk 17.0.8 2023-07-18

Additional Information (Add any of the following or anything else that may be relevant)

I am running with the Xlayered-tx-pool=true flag.

@jframe jframe added TeamChupa GH issues worked on by Chupacabara Team TeamRevenant GH issues worked on by Revenant Team TeamGroot GH issues worked on by Groot Team snack Small coding task labels Sep 5, 2023
@ahamlat ahamlat self-assigned this Sep 6, 2023
@ahamlat
Copy link
Contributor

ahamlat commented Sep 12, 2023

Fixed with #5857

@ahamlat ahamlat closed this as completed Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
snack Small coding task TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team TeamRevenant GH issues worked on by Revenant Team
Projects
None yet
Development

No branches or pull requests

3 participants