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

core/txpool: improve Add() logic, handle edge case #2754

Merged
merged 5 commits into from
Nov 22, 2024
Merged

Conversation

emailtovamos
Copy link
Contributor

@emailtovamos emailtovamos commented Nov 13, 2024

Description

This PR simplifies the logic by doing the checks regarding availability of slots in the Add() function of the OverflowPool rather than before where this logic was outside.

This also addressed an edge case where if the OverflowPool is full, we simply take out one transaction and put the new one in. But this might result in the pool size exceeding its limit because the new transaction might have more slots than the older transaction.

Also fix the bug: we were comparing number of transactions with number of slots here:
if uint64(len(tp.txHeap)) >= tp.maxSize
Slots should be compared with slots.

Added TestTxOverflowPoolSlotCalculation() to capture the bug in the previous code.

The current change ensures we never exceed the set total size of the overflow pool.

@emailtovamos emailtovamos changed the title core: handle edge case of tx size mismatch core/txpool: improve Add() logic, handle edge case Nov 14, 2024
@emailtovamos emailtovamos marked this pull request as ready for review November 14, 2024 07:42
@emailtovamos emailtovamos requested a review from zzzckck November 14, 2024 07:43
zzzckck
zzzckck previously approved these changes Nov 20, 2024
galaio
galaio previously approved these changes Nov 20, 2024
@emailtovamos emailtovamos dismissed stale reviews from galaio and zzzckck via b00a6c3 November 21, 2024 11:39
Copy link
Contributor

@MatusKysel MatusKysel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@zzzckck zzzckck merged commit af09f3a into develop Nov 22, 2024
7 checks passed
@zzzckck zzzckck mentioned this pull request Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants