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

[Bug]: pow engine mempool seenId cache not clear on time #10050

Closed
ze97286 opened this issue Nov 12, 2023 · 0 comments · Fixed by #10051
Closed

[Bug]: pow engine mempool seenId cache not clear on time #10050

ze97286 opened this issue Nov 12, 2023 · 0 comments · Fixed by #10051
Assignees
Labels

Comments

@ze97286
Copy link
Contributor

ze97286 commented Nov 12, 2023

Problem encountered

on performance testing we see transactions rejected as already seen although they never end up being included in a block which eventually fails the test (e.g votes not passing, proposals not going through):

2023-11-10T10:02:50.599Z        INFO    core.protocol.pow       pow/engine.go:297       mempool seen cleared
2023-11-10T10:02:50.601Z        ERROR   core.protocol.pow       pow/engine.go:163       mempoolSeenTid =        {"PowID": "992f8844d5a078f4102817b09242451a9b246b951b6ee3f015d27d3ccb9ae39d"}
2023-11-10T10:02:50.602Z        ERROR   core.protocol.pow       pow/engine.go:157       tid already seen        {"tid": "992f8844d5a078f4102817b09242451a9b246b951b6ee3f015d27d3ccb9ae39d", "party": "e0954e3b5c478f990b23614ca50b2dee6a28be2b81ba5f20c17305057f842005", "command": "Proposal"}
2023-11-10T10:02:51.106Z        INFO    core.protocol.pow       pow/engine.go:297       mempool seen cleared
Proposing and voting in new market..........................FAILED
Error: no pending proposals found

Observed behaviour

Transaction that were not included in a block gets rechecked and fail as the node says it's already seen them and they get rejected as the mempoolid cache (which is meant to prevent parties from spamming a specific validator with transactions that are gonna fail checkTx) is not cleared on time.

Expected behaviour

The mempool cache in pow engine should be cleared on commit, not on finalize.

Steps to reproduce

1. Submit `xyz` transaction
2. With this payload
3. Query `abc` API
4. Observe the error

Software version

develop

Failing test

No response

Jenkins run

No response

Configuration used

No response

Relevant log output

No response

@ze97286 ze97286 added the bug label Nov 12, 2023
@ze97286 ze97286 self-assigned this Nov 12, 2023
@vega-issues vega-issues moved this to Waiting Review in Core Kanban Nov 12, 2023
@vega-issues vega-issues moved this from Waiting Review to Approved in Core Kanban Nov 12, 2023
@github-project-automation github-project-automation bot moved this from Approved to Merged in Core Kanban Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant