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

feat(examples): minimal viable ExEx #7565

Merged
merged 53 commits into from
Apr 11, 2024
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
46f6487
wip: exex manager
onbjerg Mar 26, 2024
03f7781
refactor: rename to `spawn`
onbjerg Mar 26, 2024
09e6dda
feat: exex rx channel
onbjerg Mar 28, 2024
9e52e2d
feat: flesh out manager loop
onbjerg Mar 28, 2024
44a1a5f
refactor: move manager to `reth-exex`
onbjerg Apr 8, 2024
d9772d6
refactor: `ExExHandle`
onbjerg Apr 8, 2024
3223632
docs: typo
onbjerg Apr 8, 2024
01494dc
feat: [`ExExHandle::new`]
onbjerg Apr 8, 2024
eeaef8b
fix: retain events > min_id
onbjerg Apr 8, 2024
4af2c9a
feat: most of launch flow
onbjerg Apr 8, 2024
4674ef3
feat: exex id in `install_exex`
onbjerg Apr 8, 2024
3ac8ecd
feat: hook up blockchain tree
onbjerg Apr 8, 2024
4bea51b
chore: rm unused dep
onbjerg Apr 8, 2024
a9a3aab
fix: add id to other `install_exex` impl
onbjerg Apr 8, 2024
6d68a29
fix: use unbounded channels for `ExExEvent`
onbjerg Apr 8, 2024
2086a03
chore: add traces
onbjerg Apr 8, 2024
358d71b
chore: only spawn exex manager if there are exex's
onbjerg Apr 8, 2024
36006b1
docs: move exex docs
onbjerg Apr 8, 2024
3ee6116
feat: basic exex metrics
onbjerg Apr 8, 2024
4ce21fc
feat: handle `ExExEvent`
onbjerg Apr 8, 2024
c4895de
feat: manager metrics
onbjerg Apr 8, 2024
0e8ddc6
refactor: some cleanup
onbjerg Apr 8, 2024
638e474
fix: add missing f64 cast for metrics
onbjerg Apr 8, 2024
242600c
feat: `ExExManagerHandle::ready`
onbjerg Apr 10, 2024
ec91e4e
chore: manager tracing logs
onbjerg Apr 10, 2024
0caefa8
make manager handle mut
shekhirin Apr 10, 2024
18e9691
chore: `AsRef<str>` in `install_exex`
onbjerg Apr 10, 2024
ebd7f16
fix: make it compile
onbjerg Apr 10, 2024
b04012e
fix: actually really make it super compile
onbjerg Apr 10, 2024
25411db
test: make test compile
onbjerg Apr 10, 2024
837a2c9
feat: don't sent notifs exex doesn't care about
onbjerg Apr 10, 2024
4120dfa
feat: `events_sent` metric
onbjerg Apr 10, 2024
c775fa2
docs: finished height docs clarifications
onbjerg Apr 10, 2024
01c360e
fix: various fixes wrt finished height
onbjerg Apr 10, 2024
2d9e71d
chore: rename metrics
onbjerg Apr 10, 2024
fd8a06c
chore: drop span
onbjerg Apr 10, 2024
5c7ea0e
chore: re-introduce span
onbjerg Apr 10, 2024
f237ff9
docs: fix doclinks
onbjerg Apr 10, 2024
879d90f
refactor: rename `block` to `finished_height`
onbjerg Apr 10, 2024
3b5d6f7
feat: `ExExManagerHandle::capacity`
onbjerg Apr 10, 2024
af65a96
chore: stub `poll_ready`
onbjerg Apr 10, 2024
f3ddf17
chore: fmt
onbjerg Apr 10, 2024
e2c36ac
feat: `poll_ready`
onbjerg Apr 10, 2024
a2f670a
chore: clean up
onbjerg Apr 10, 2024
698d6e3
refactor: move exex launch past components builder
onbjerg Apr 10, 2024
e17da42
chore: review
onbjerg Apr 10, 2024
00a26eb
feat(examples): minimal viable ExEx
shekhirin Apr 11, 2024
232cd95
Merge remote-tracking branch 'origin/main' into onbjerg/exex-manager
shekhirin Apr 11, 2024
307bc3f
chore: use `Into<String>`
onbjerg Apr 11, 2024
3648a44
Merge remote-tracking branch 'origin/onbjerg/exex-manager' into alexe…
shekhirin Apr 11, 2024
ab17928
add comment, address PR review
shekhirin Apr 11, 2024
57b8df3
Merge branch 'main' into alexey/minimal-exex
onbjerg Apr 11, 2024
b0645e9
Merge remote-tracking branch 'origin/main' into alexey/minimal-exex
shekhirin Apr 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: only spawn exex manager if there are exex's
  • Loading branch information
onbjerg committed Apr 10, 2024
commit 358d71b803b7fc14a43a1fd4200cea448e12369a
36 changes: 19 additions & 17 deletions crates/node-builder/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -603,24 +603,26 @@ where
}

// spawn exex manager
// todo(onbjerg): rm magic number
debug!(target: "reth::cli", "spawning exex manager");
let exex_manager = ExExManager::new(exex_handles, 1024);
let exex_manager_handle = exex_manager.handle();
ctx.executor.spawn_critical("exex manager", async move {
exex_manager.await.expect("exex manager crashed");
});
if !exex_handles.is_empty() {
debug!(target: "reth::cli", "spawning exex manager");
// todo(onbjerg): rm magic number
let exex_manager = ExExManager::new(exex_handles, 1024);
let exex_manager_handle = exex_manager.handle();
ctx.executor.spawn_critical("exex manager", async move {
exex_manager.await.expect("exex manager crashed");
});

// send notifications from the blockchain tree to exex manager
let mut canon_state_notifications = blockchain_tree.subscribe_to_canonical_state();
ctx.executor.spawn_critical("exex manager blockchain tree notifications", async move {
while let Ok(notification) = canon_state_notifications.recv().await {
exex_manager_handle
.send_async(notification)
.await
.expect("blockchain tree notification could not be sent to exex manager");
}
});
// send notifications from the blockchain tree to exex manager
let mut canon_state_notifications = blockchain_tree.subscribe_to_canonical_state();
ctx.executor.spawn_critical("exex manager blockchain tree notifications", async move {
while let Ok(notification) = canon_state_notifications.recv().await {
exex_manager_handle
.send_async(notification)
.await
.expect("blockchain tree notification could not be sent to exex manager");
}
});
}

let BuilderContext {
provider: blockchain_db,
Expand Down