Repository navigation
Cluster workerd processes over a shared bucket #7994
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
Merged
+8,599
−64
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
8900056
Cluster workerd processes over a shared bucket
ry 9b3378a
cluster: fix CI on Windows, ASan and clippy
ry 3b3d847
cluster: refuse walWrite on Windows
ry fbb5d75
cluster: keep the cluster crate's tests out of downstream builds
ry b464e41
cluster: capture WAL writes through a directory, not VFS hooks
ry 89703de
cluster: log commits as Cap'n Proto frames of pages, not LTX
ry 2a39d16
cluster: start every log file with a FileHeader
ry 5eaa0b2
cluster: never route to this address's previous instance
ry 1f38de4
cluster: say why a compaction did not happen
ry ba5cca7
Merge main into ry/cluster-init
ry 9248ea1
cluster: repin crates for lz4_flex and ring
ry 391ae45
cluster: drop the unused facet index from own.json; document both rec…
ry 52db46d
cluster: skip the SIGTERM drain tests on Windows
ry 577aec7
cluster: log in SRS's sqlite lane format and key layout
ry e8f8382
cluster: hand a draining node's objects to peers at once
ry 2a06e37
cluster: use the cluster key only through labelled derivations
ry a3ebfc4
cluster: log pages, merged per batch, in an SRS-compatible lane
ry 19b2d30
Merge main into ry/cluster-init
ry a90ea8e
cluster: shut cluster test nodes down cleanly
ry 41b31a5
cluster: abort preventEviction objects when draining
ry 5642729
cluster: refuse an empty cluster key
ry 0a8162c
cluster: explain what route() returns
ry adf04a2
cluster: share one dial to a peer between concurrent routes
ry a138beb
cluster: delete the sessions an opened epoch supersedes
ry dc8f1c6
cluster: join workflow namespaces to the cluster before they link
ry 0291d08
cluster: abort only clustered objects when draining
ry 1da25c6
cluster: refuse Durable Objects from before cluster mode
ry 1e1cceb
cluster: fail on a short, truncated or oversized file
ry 0067094
cluster: refuse an alarm when setAlarm() is called
ry 66742a3
cluster: require a cluster key of at least 32 bytes
ry ae4745d
cluster: cap a bucket response held in memory at 16 MiB
ry 7132ccb
cluster: test that a failed dial to a peer is retried
ry 5759710
cluster: drop the experimental exemption for workerd: services
ry 7c4e740
cluster: fail a restore whose log is missing a batch
ry 2d92646
cluster: test the cap on a response held in memory
ry 62882a0
cluster: test that a cluster's instances redeem each other's tokens
ry 9d48e08
cluster: test that compaction refuses a log missing a batch
ry b1b05a3
cluster: leave the alarm refusal at commit time
ry a002d5d
cluster: open the alarm scheduler through the actors' VFS
ry 18efd12
cluster: gzip the bucket's files instead of LZ4
ry 48fcee0
Merge remote-tracking branch 'origin/main' into ci-merge
ry 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
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| load("//:build/wd_capnp_library.bzl", "wd_capnp_library") | ||
| load("//:build/wd_rust_crate.bzl", "wd_rust_crate") | ||
|
|
||
| # Durable Objects whose shared state is an S3-compatible bucket. Pure Rust: | ||
| # the server (//src/workerd/server/server) drives it. | ||
| wd_rust_crate( | ||
| name = "cluster", | ||
| proc_macro_deps = ["@crates_vendor//:async-trait"], | ||
| # The capture's tests drive a real SQLite. | ||
| test_deps = ["@sqlite3"], | ||
| # The capture's tests hand SQLite Rust callbacks, which a downstream | ||
| # build's cfi-icall rejects. | ||
| test_tags = ["no-downstream"], | ||
| visibility = ["//src/workerd/server:__subpackages__"], | ||
| deps = [ | ||
| ":frames_capnp_rust", | ||
| "//src/workerd/server/cluster/logic:cluster-logic", | ||
| "@crates_vendor//:base64", | ||
| "@crates_vendor//:bytes", | ||
| "@crates_vendor//:capnp", | ||
| "@crates_vendor//:flate2", | ||
| "@crates_vendor//:futures", | ||
| "@crates_vendor//:http", | ||
| "@crates_vendor//:http-body", | ||
| "@crates_vendor//:httpdate", | ||
| "@crates_vendor//:hyper-util", | ||
| "@crates_vendor//:nix", | ||
| "@crates_vendor//:ring", | ||
| "@crates_vendor//:rustls", | ||
| "@crates_vendor//:rustls-platform-verifier", | ||
| "@crates_vendor//:serde", | ||
| "@crates_vendor//:serde_json", | ||
| "@crates_vendor//:thiserror", | ||
| "@crates_vendor//:tokio", | ||
| "@crates_vendor//:tokio-rustls", | ||
| "@crates_vendor//:tower-service", | ||
| "@crates_vendor//:tracing", | ||
| ], | ||
| ) | ||
|
|
||
| # The format of an object's log in the bucket. | ||
| wd_capnp_library(src = "frames.capnp") |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.