-
Notifications
You must be signed in to change notification settings - Fork 828
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
fork-aware transaction pool added #4639
Merged
Merged
Changes from 1 commit
Commits
Show all changes
381 commits
Select commit
Hold shift + click to select a range
2cd05e3
basic-authorship: hash added to debug
michalkucharczyk 204a5c3
graph::ready: debug improved
michalkucharczyk 9246a0e
tools: fix
michalkucharczyk 8c47a71
fatp: ready_at + trigger debugs added
michalkucharczyk c3583ca
fatp: triggered moved
michalkucharczyk 35ee1fc
fatp: verirification after maintain added
michalkucharczyk a1c1d14
fatp: dbg removed
michalkucharczyk b64120a
fatp: split into files
michalkucharczyk 62b08b0
fatp: avoid some of empty blocks
michalkucharczyk 88808ce
fatp: polishing code
michalkucharczyk 167b24a
fatp: more of polishing code
michalkucharczyk f3cf06d
fmt
michalkucharczyk 73ac18b
one more approach to revalidation
michalkucharczyk fc62af3
fatp: revalidation remove from mempool
michalkucharczyk 5f65be5
fatp: support for clearing recently pruned
michalkucharczyk 2be6a01
fatp: test fixed
michalkucharczyk d60b9a3
fmt
michalkucharczyk 4b2148e
fatp: maintenance on every block imported
michalkucharczyk eec54e7
revalidation: debugs
michalkucharczyk c8fb1ad
fmt
michalkucharczyk 58fd91b
cleaning: send errors + unwraps
michalkucharczyk 70cee13
cleaning: tracing_unbounded used + mvl/ins internal naming
michalkucharczyk 197846c
fatp::ready - improvements
michalkucharczyk 79745f9
txpool: api: ready/future: removed at parameter
michalkucharczyk 6583718
fix
michalkucharczyk 3a29c79
clippy
michalkucharczyk 0d5072d
txpool: api: ready/future: removed at parameter: leftovers
michalkucharczyk 0ba4d1d
fixes
michalkucharczyk 05d4547
tool: parse-log improvements
michalkucharczyk b04ff0a
light-maintain: working poc
michalkucharczyk 9b26612
light-maintain: api + impl
michalkucharczyk 228f7b3
light-maintain: improvements
michalkucharczyk f7d85b5
Revert "fatp: maintenance on every block imported"
michalkucharczyk 5f93de2
fatp: on_broadcasted added
michalkucharczyk 57577e7
fatp: avoid empty block for light maintain
michalkucharczyk ff3c02b
fatp::update_view: filter-out invalid txs
michalkucharczyk 6d6ccf5
fatp::ready_pollers: removed cancelled senders
michalkucharczyk e0721b9
minor changes: logs / comments
michalkucharczyk f6e8daa
light-maintain: minor improvements
michalkucharczyk 83de56b
import_sink_notiifcation: switch to parking_lock:rwlock
michalkucharczyk 380a326
fatp: is_validator cleanup
michalkucharczyk bd0386d
minor methods rename
michalkucharczyk b1c61ab
fmt
michalkucharczyk 614fca2
fapt: metrics added
michalkucharczyk f3ea112
fatp: metrics added, missing file
michalkucharczyk 8bad061
tool: parse-log improvement
michalkucharczyk ed2662a
testing: prometheus port is fixed
michalkucharczyk 379a35b
fatp: metrics, duration buckets adjusted
michalkucharczyk 956b63e
basic-authorship: remove_invalid: debug -> info
michalkucharczyk a9c0a37
fatp: general cleanups
michalkucharczyk 1c6ff0f
sp_runtime: TransactionSource is Hashable
michalkucharczyk 757790d
txpool: notification_future moved to common
michalkucharczyk 63313a3
fatp: metrics: non-cloned views tracked
michalkucharczyk 3c0a8d3
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk a02ab55
clippy + format
michalkucharczyk 7d96084
Cargo.lock
michalkucharczyk 605c7ca
tools: graphs
michalkucharczyk c53405e
tools: graphs histogram added
michalkucharczyk 24b294d
fmt
michalkucharczyk 5944738
dbg + fmt + removed todos
michalkucharczyk 7dcaced
poc: arc(tx)
michalkucharczyk 469d303
poc: arc(tx) - continued
michalkucharczyk acc53d0
types cleanup
michalkucharczyk f0214c8
types cleanup - cont.
michalkucharczyk cd58437
poc: arc(tx) fix
michalkucharczyk af4d91b
review comments applied
michalkucharczyk 766ae6b
todos removed
michalkucharczyk e14d69c
mempool: validated_at stored
michalkucharczyk bc16e34
Update substrate/client/transaction-pool/src/fork_aware_txpool/txmemp…
michalkucharczyk e88bc20
Update substrate/client/transaction-pool/src/fork_aware_txpool/txmemp…
michalkucharczyk c2c7f9e
Update substrate/client/transaction-pool/src/fork_aware_txpool/txmemp…
michalkucharczyk c2d117d
Update substrate/client/transaction-pool/src/fork_aware_txpool/multi_…
michalkucharczyk 8e94f04
review comments applied
michalkucharczyk 13156dd
mempool: better name: xts2 -> transactions
michalkucharczyk 6f6f9f1
tools
michalkucharczyk 3a22201
rename: txmempool -> tx_mem_pool
michalkucharczyk 606685d
mempool: entry -> insert
michalkucharczyk ff0fadf
fixes
michalkucharczyk 843c08d
fatp: fmt
michalkucharczyk 434ec4d
fatp: is_validator fix
michalkucharczyk fd96498
graph::pool: submit_at preserves order
michalkucharczyk f818060
some minor renames
michalkucharczyk 911d0f8
mempool: limits implemented
michalkucharczyk cda165b
Cargo.lock
michalkucharczyk 8bf2c89
WIP/revert: mempool: removing invalid transaction
michalkucharczyk 3ddd3f4
mempool: limits implemented - continued
michalkucharczyk ba8d3ee
mempool: removing dropped transactions + event
michalkucharczyk 5164be3
tools
michalkucharczyk a7f021c
zombienet: limits testing
michalkucharczyk 7fa56e5
clippy
michalkucharczyk 51431d8
tools: update
michalkucharczyk 1d0efe1
removing redundant files
michalkucharczyk 9138bba
wip: better docs
michalkucharczyk 5a7be3f
some progress on the top level overview
michalkucharczyk 2d8b197
more docs
michalkucharczyk c37bf8f
fatp: todos updated
michalkucharczyk b7be170
fatp: submit_one uses submit_at
michalkucharczyk 140a365
doc: ...
michalkucharczyk 3ad0a1b
fatp: submit_one uses submit_at -- cd.
michalkucharczyk a773791
fatp: todos cleanup
michalkucharczyk 8e0a42b
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk 7229e6b
fatp: todos...
michalkucharczyk ca77eeb
review comments
michalkucharczyk 6dfefcc
spell checker: typos
michalkucharczyk 88458db
doc: some progress
michalkucharczyk 947de9d
doc: more progress + some renaming
michalkucharczyk ca50e34
typos
michalkucharczyk 728335a
doc + renaming
michalkucharczyk 8fa24cf
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk 7c12f2b
after merge fixes
michalkucharczyk 6d4570d
prdoc updated
michalkucharczyk 1c39857
prdoc again
michalkucharczyk 673341d
prdoc again
michalkucharczyk d2d9722
Merge branch 'master' into mku-fork-aware-tx-pool
michalkucharczyk b376723
minor doc/naming improvements
michalkucharczyk 49ffe3a
fix
michalkucharczyk fcea4ff
prdoc again
michalkucharczyk 767e586
debug -> trace
michalkucharczyk 9df92ab
debug -> trace: fixes
michalkucharczyk 3e4c479
info -> debug
michalkucharczyk 7a85937
info -> debug: fixes
michalkucharczyk cc39147
TransactionPoolImpl is a Box
michalkucharczyk 5a6afb7
Revert "References to transaction pool are now Unsized"
michalkucharczyk a46263b
Unsized: revert
michalkucharczyk c9504ec
?Sized saga ctd: now we have wrapper, still not perfect.
michalkucharczyk 5e01d6f
?Sized saga ctd: Wrapper internally is just a Box.
michalkucharczyk 8a3639f
pool_kbytes -> pool_bytes
michalkucharczyk 5ff434e
builder: debug -> info
michalkucharczyk 9143368
view_store: active_views / inactive_views
michalkucharczyk bd1cc5f
license added
michalkucharczyk ffda333
missing log_target
michalkucharczyk db10b51
cumulus: redundant Unpin bound removed
michalkucharczyk 9cba3f0
?Sized saga ctd: templates...
michalkucharczyk ca2f49a
?Sized saga ctd: substrate-frame-rpc-system
michalkucharczyk 29170b4
txpool log_target used
michalkucharczyk b9c5df0
Update substrate/test-utils/runtime/transaction-pool/src/lib.rs
michalkucharczyk 44479fe
Update substrate/client/transaction-pool/src/fork_aware_txpool/fork_a…
michalkucharczyk 4729119
removing comments
michalkucharczyk 3003e13
removing comments
michalkucharczyk 8e5b3f6
?Sized saga ctd: clippy failuers
michalkucharczyk 593d8e9
fork_aware_txpool: review nits
michalkucharczyk 845cb98
fork_aware_txpool: review nits: fixes
michalkucharczyk d9cd57d
FullPool: redundant type removed
michalkucharczyk 78e45dc
test fix
michalkucharczyk 53cee71
dropped_watcher: review comments
michalkucharczyk f6d42b8
dropped_watcher: review comments
michalkucharczyk 4c1ee03
review nits
michalkucharczyk bc73a5f
fix test
michalkucharczyk 1b7216d
tx_mem_pool: source getter
michalkucharczyk 8c0976d
fatp: reduce_multi_view
michalkucharczyk dc3bafa
tx_mem_pool: nits
michalkucharczyk 61f73b3
tx_mem_pool: remove_watched
michalkucharczyk b423ea3
warnings
michalkucharczyk 13cd741
nits
michalkucharczyk 894b81f
reduce_multiview_result: review comments
michalkucharczyk aa8f226
view_store: inactive_views are not removed from listener
michalkucharczyk 44d1308
builder: builder pattern
michalkucharczyk b4dbfda
prdoc
michalkucharczyk 3d71ed1
fmt
michalkucharczyk 6ff4630
doc test fixed
michalkucharczyk 125a240
review comments: doc improved
michalkucharczyk 4c366c7
Update substrate/client/transaction-pool/src/fork_aware_txpool/multi_…
michalkucharczyk 3237803
fatp: verify removed
michalkucharczyk 7d3a487
review comments
michalkucharczyk b4cba58
view: let futures - removed
michalkucharczyk 3b82c76
view_store: submit_at -> submit
michalkucharczyk 0bf88e7
fatp: error -> debug
michalkucharczyk 8e259b4
view: do not collect when not displaying
michalkucharczyk ae6a5a6
ready_at: do not trigger light if view already exists + tests
michalkucharczyk 7705093
fmt
michalkucharczyk 2f4b1d8
ready_at_light: two more tests added
michalkucharczyk 02ee1a1
?Sized saga ctd: wrapper removed, using just Arc<dyn>
michalkucharczyk 02ddf28
?Sized saga: wrapper removed, TranasctionPoolImpl -> TransactionPoolH…
michalkucharczyk 3382208
enactment_state: doc clarified
michalkucharczyk 6f39223
?Sized saga: wrapper removed (again) + fixes
michalkucharczyk 71cbaca
Revert "?Sized saga: wrapper removed (again) + fixes"
michalkucharczyk e07b17e
Revert "?Sized saga: wrapper removed, TranasctionPoolImpl -> Transact…
michalkucharczyk 77584d8
Revert "?Sized saga ctd: wrapper removed, using just Arc<dyn>"
michalkucharczyk 764821b
better name: TransactionPoolImpl -> TransactionPoolHandle
michalkucharczyk 1a1625f
fatp: review ready_at_with_timeout improved
michalkucharczyk 700aeba
dropped_watcher: pending + fuse removed
michalkucharczyk 288bcd7
import_notification_sink: pending + fuse removed
michalkucharczyk 8be61ec
multi_view_listener: pending + fuse removed
michalkucharczyk 5f46e4a
mvlisteners: pending added
michalkucharczyk b6c0d59
tx_mem_pool: ImmediatelyDropped fix
michalkucharczyk 17aa061
fatp: ready_at_light improved
michalkucharczyk 3ee444c
fmt
michalkucharczyk 989a7a6
fatp: more docs
michalkucharczyk a31e242
fatp: update_view: error handling simplified
michalkucharczyk 60f61c6
fatp: ready_at_with_timeout tests added
michalkucharczyk c28c1ee
minor fix
michalkucharczyk 81e3ce2
tests: fmt / new minor test / comments
michalkucharczyk 1f4f74b
fapt: better handling of dropped transaction during submission
michalkucharczyk 0c4c8c0
fatp: handling limits: improvements
michalkucharczyk 0b7bb1f
tests: limits testing added
michalkucharczyk 672ff4a
fatp: handling limits: better implementation
michalkucharczyk e28d1f1
fatp: debugs
michalkucharczyk 6e02d08
fatp: tests: reorg
michalkucharczyk bef72e7
fatp: tests
michalkucharczyk fbce60c
dropped_watcher: fix + tests
michalkucharczyk 54215bf
fatp: info banner
michalkucharczyk 42533b9
dropped_watcher: debugs
michalkucharczyk 77ad3ee
tests: dead code warning
michalkucharczyk 6c3cfa3
fatp: submit_and_watch improvements for limits scenarios + debugs
michalkucharczyk 401e3a9
dbgs
michalkucharczyk 7ffefb3
mvl: remove ctrls when sending termination events
michalkucharczyk 30c7b5c
txmempool: debug on try_insert
michalkucharczyk afb2dcf
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk 999bfff
master merge fix
michalkucharczyk 41a2f5f
review comments
michalkucharczyk 2bea7e9
fatp: submit_at: review fix
michalkucharczyk b6e15cd
view: dbg msg: revalidate_later -> revalidate
michalkucharczyk 571d598
revalidation_worker: basic test enabled
michalkucharczyk 3be1b27
fix
michalkucharczyk e907c18
sync: log level
michalkucharczyk 521ae88
reviews
michalkucharczyk 5da82a6
zombie test for parachain tx finalizing
michalkucharczyk b16e949
basic-authorship: debugs
michalkucharczyk 1e818dd
log_xt: cleanup
michalkucharczyk ac1aa80
ready_poll: race condition fixed
michalkucharczyk b65cd1f
single_state_txpool: LOG_TARGET
michalkucharczyk 8b7c686
graph/listener: error on send failure
michalkucharczyk 61bd99b
fatp: todos removed
michalkucharczyk 50cced1
view_store: todo + log
michalkucharczyk 4f1e458
view_store: insert_new_view: readability
michalkucharczyk c9ce3d5
view_store: idiomatic rust glupcze
michalkucharczyk 0766199
basic-authorship: log levels
michalkucharczyk 14dd439
tests: review nits
michalkucharczyk 8bd1dce
tests: pool: revert
michalkucharczyk 44d8dbd
common/api: reverts
michalkucharczyk cc5eca3
client: debug removed
michalkucharczyk 5b8e409
tests: rename fatp2 -> fatp_limits
michalkucharczyk 81849bc
single-state-pool: ready_at_with_timeout: simplified
michalkucharczyk 69b0885
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk 545d28c
review comments
michalkucharczyk 897a91e
prdoc update
michalkucharczyk 82761ae
multi-view-listner: code review comments
michalkucharczyk 2afb109
graph::listener: note added
michalkucharczyk b90e360
log_enabled used properly
michalkucharczyk fffc1fe
fatp: review comments: view.clone / extrinsics_included_since_finalized
michalkucharczyk 5a5fb09
prdoc: fix
michalkucharczyk 81273fd
network::transactions: debug removed
michalkucharczyk 0b71552
fatp: panic/unimplemented removed
michalkucharczyk 872cd88
fatp: code review + leftovers cleanup
michalkucharczyk 888e426
multi-view-listener: pending events removed
michalkucharczyk a9f58a4
dropped_watcher: fix for flaky test
michalkucharczyk 2a6757d
import_sink_notification: txs are removed when dropped
michalkucharczyk 39b2c3a
view: revalidation TransactionValidityError::Unknown -> invalid
michalkucharczyk 043a1e0
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk 9c547ff
Merge remote-tracking branch 'origin/master' into mku-fork-aware-tx-pool
michalkucharczyk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fatp: review ready_at_with_timeout improved
- Loading branch information
commit 1a1625f394db9aee28aca28c5012cd28637d1c56
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
read_at_light
is not async :PThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ready_at_light
is not async, but it returns a future (also internally it callsblock_body
which is async). So it behaves like kinda async function - the caller needs to wait for it. ThePolledIterator
isPin<Box<dyn Future<Output = ReadyIteratorFor<PoolApi>> + Send>>
.In
ready_at_with_timeout_internal
we want to wait for maintain (which happens whenready_at
resolves), but no longer then given timeout.At the same time - in parallel, we want to
ready_at_light
to be resolved (we don't want to call it once timeout was hit - we want to have it ready in advance).And this is what is code is doing.
If there is something wrong with this and you think it needs correction, please be more verbose what changes you want to make here.