-
Notifications
You must be signed in to change notification settings - Fork 36
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
Merge seiv2 into main #234
Commits on Apr 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for adecae0 - Browse repository at this point
Copy the full SHA adecae0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c090194 - Browse repository at this point
Copy the full SHA c090194View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae3db8f - Browse repository at this point
Copy the full SHA ae3db8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b455dda - Browse repository at this point
Copy the full SHA b455ddaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d8a37e - Browse repository at this point
Copy the full SHA 2d8a37eView commit details -
[EVM] Fix evm pending nonce (#179)
* Perf: Increase buffer size for pubsub server to boost performance (#167) * Increase buffer size for pubsub server * Add more timeout for test failure * Add more timeout * Fix test split scripts * Fix test split * Fix unit test * Unit test * Unit test * [P2P] Optimize block pool requester retry and peer pick up logic (#170) * P2P Improvements: Fix block sync reactor and block pool retry logic * Revert "Add event data to result event (#165)" (#176) This reverts commit 72bb29c. * Fix block sync auto restart not working as expected (#175) * Fix edge case for blocksync (#178) * fix evm pending nonce * fix test * deflake a test * de-flake test * Revert "merge main" This reverts commit 58b9424, reversing changes made to 02d1478. * consider keep-in-cache logic when removing from cache * undo test tweaks --------- Co-authored-by: Yiming Zang <[email protected]> Co-authored-by: Jeremy Wei <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3c40e35 - Browse repository at this point
Copy the full SHA 3c40e35View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb994c7 - Browse repository at this point
Copy the full SHA cb994c7View commit details -
Add mempool metrics for number of pending tx and expired txs (#189)
* Add metrics for mempool pending transaction size * Add expired tx count metrics
Configuration menu - View commit details
-
Copy full SHA for 00a542a - Browse repository at this point
Copy the full SHA 00a542aView commit details -
[EVM] Allow multiple txs from same account in a block (#190)
* add mempool prioritization with evm nonce * fix priority stability * index fixes * replace with binary search insert * impl binary search
Configuration menu - View commit details
-
Copy full SHA for 208bf0d - Browse repository at this point
Copy the full SHA 208bf0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 36ad021 - Browse repository at this point
Copy the full SHA 36ad021View commit details -
Configuration menu - View commit details
-
Copy full SHA for f0e859d - Browse repository at this point
Copy the full SHA f0e859dView commit details -
[EVM] Fix duplicate evm txs from priority queue (#195)
* debug duplicate evm tx * add more logs * add some \ns * more logs * fix swap check * add-lockable-reap-by-gas * add invariant checks * fix invariant parenthesis * fix log * remove invalid invariant * fix nonce ordering pain * handle ordering of insert * fix remove * cleanup * fix imports * cleanup * avoid getTransactionByHash(hash) panic due to index * use Key() to compare instead of pointer
Configuration menu - View commit details
-
Copy full SHA for c73b9d9 - Browse repository at this point
Copy the full SHA c73b9d9View commit details -
[EVM] prevent duplicate txs from getting inserted (#196)
* prevent duplicates in mempool * use timestamp in priority queue
Configuration menu - View commit details
-
Copy full SHA for e302cb1 - Browse repository at this point
Copy the full SHA e302cb1View commit details -
[EVM] Add logging for expiration (#198)
* add logging for expired txs * cleanup
Configuration menu - View commit details
-
Copy full SHA for f8eb80d - Browse repository at this point
Copy the full SHA f8eb80dView commit details -
[EVM] Avoid returning nil transactions on ForEach (#197)
* remove heapIndex to avoid nil scenario * avoid returning nil in loop (mimic Peek)
Configuration menu - View commit details
-
Copy full SHA for a5ac3ff - Browse repository at this point
Copy the full SHA a5ac3ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0552641 - Browse repository at this point
Copy the full SHA 0552641View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d789d1 - Browse repository at this point
Copy the full SHA 0d789d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e89d46c - Browse repository at this point
Copy the full SHA e89d46cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 52dcce1 - Browse repository at this point
Copy the full SHA 52dcce1View commit details -
Configuration menu - View commit details
-
Copy full SHA for d90626d - Browse repository at this point
Copy the full SHA d90626dView commit details -
Add heapIndex with safety check (#213)
* add heapIndex with safety check * cleanup * comment out for perf test * add back perf improvement * fix nil test * Use write-lock in (*TxPriorityQueue).ReapMax funcs (#209) ReapMaxBytesMaxGas and ReapMaxTxs funcs in TxPriorityQueue claim > Transactions returned are not removed from the mempool transaction > store or indexes. However, they use a priority queue to accomplish the claim > Transaction are retrieved in priority order. This is accomplished by popping all items out of the whole heap, and then pushing then back in sequentially. A copy of the heap cannot be obtained otherwise. Both of the mentioned functions use a read-lock (RLock) when doing this. This results in a potential scenario where multiple executions of the ReapMax can be started in parallel, and both would be popping items out of the priority queue. In practice, this can be abused by executing the `unconfirmed_txs` RPC call repeatedly. Based on our observations, running it multiple times per millisecond results in multiple threads picking it up at the same time. Such a scenario can be obtained via the WebSocket interface, and spamming `unconfirmed_txs` calls there. The behavior that happens is a `Panic in WSJSONRPC handler` when a queue item unexpectedly disappears for `mempool.(*TxPriorityQueue).Swap`. (`runtime error: index out of range [0] with length 0`) This can additionally lead to a `CONSENSUS FAILURE!!!` if the race condition occurs for `internal/consensus.(*State).finalizeCommit` when it tries to do `mempool.(*TxPriorityQueue).RemoveTx`, but the ReapMax has already removed all elements from the underlying heap. (`runtime error: index out of range [-1]`) This commit switches the lock type to a write-lock (Lock) to ensure no parallel modifications take place. This commit additionally updates the tests to allow parallel execution of the func calls in testing, as to prevent regressions (in case someone wants to downgrade the locks without considering the implications from the underlying heap usage). --------- Co-authored-by: Valters Jansons <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 58e8e55 - Browse repository at this point
Copy the full SHA 58e8e55View commit details -
Configuration menu - View commit details
-
Copy full SHA for c60575b - Browse repository at this point
Copy the full SHA c60575bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12db400 - Browse repository at this point
Copy the full SHA 12db400View commit details -
Configuration menu - View commit details
-
Copy full SHA for a214d48 - Browse repository at this point
Copy the full SHA a214d48View commit details
Commits on Apr 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2c9ac73 - Browse repository at this point
Copy the full SHA 2c9ac73View commit details
Commits on Apr 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 59da3e7 - Browse repository at this point
Copy the full SHA 59da3e7View commit details
Commits on Apr 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8c8db19 - Browse repository at this point
Copy the full SHA 8c8db19View commit details