-
Notifications
You must be signed in to change notification settings - Fork 76
Flake check fixes #1022
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
Closed
Closed
Flake check fixes #1022
Conversation
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 is a refactoring of the existing redis DbPool, simplifying it a bit and renaming the various methods for clarity. The trait is async, with its futures also satisfying `Send` in order to allow its use in the `hyper::Service` trait. DbPool was renamed to db::redis::Db (reexported as RedisDB) in anticipation of additional impls of the trait.
v2 payloads are saved to disk. v1 requests and responses are not, because they only make sense to keep around so long as the sender's connection is still active, and because they are not encrypted. In flight requests (long polls) are tracked waitmaps for notifying waiting readers of new payloads or v1 responses. Mailbox contents are retained for up to a week by default, or up to 24 hours at capacity. Read mailboxes have a grace period of 10 minutes before they are expired. For simplicity no concurrent hashmap is used, and the mutex is held during writes to disk. This is because concurrency is implicitly bound by bitcoin's transaction throughput limits, for the retention times described above a very generous upper bound is 25 writes per second. Because only mutual exclusion for the entire structure is used, pruning is done on a per need basis by the locking thread and not in a background task.
Collaborator
Pull Request Test Coverage Report for Build 17333460960Details
💛 - Coveralls |
Collaborator
|
with the redis stuff merged in what commits remain from this PR? |
Collaborator
|
Closed as rebased into #1210 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
With #915 we no longer require docker to run integration tests. This lets us run the integration tests in the nix sandbox.
This PR makes
nix flake checkwork again, and enables the integration tests.Currently marked draft due to dependency on that PR, and because this should also add a github workflow job to actually run
nix flake check(with caching, see #457)Depends on #915
TODO:
nix run .#shfmtPull Request Checklist
Please confirm the following before requesting review:
AI
in the body of this PR.