-
Notifications
You must be signed in to change notification settings - Fork 70
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: tokio upgrade #729
feat: tokio upgrade #729
Conversation
How come this didn't manifest itself in test-md build...? Surely it does a lot of filters. Did you add unconditional boxing to the filters and I missed it while doing the commit-per-commit? |
I did try inserting
I'm not sure about |
26ca6e4
to
d9c4437
Compare
Force pushed to include |
d9c4437
to
bd1d230
Compare
d0e4d29
to
ec880fe
Compare
3a9d246
to
f5501ee
Compare
Rebase'd master changes (CI speed improvements) |
f5501ee
to
e72bd5c
Compare
Commit e72bd5c introduces a work-around fix for the warp stack-overflow bug (mentioned in PR description). Further investigation indicates that no other stack-overflow issues remain (from this bug) -- used test coverage to check all instances of filters are covered or manually inspected if missed. |
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.
Oki with the stack overflow issues hopefully avoided. I forgot to give approval for this initially, so I guess we'll await until tomorrow before merging.
10925a4
to
9844c42
Compare
Signed-off-by: Mirko von Leipzig <[email protected]>
Required manually implementing Serialization for `Secret<String>` as this is purposefully disabled by default. Signed-off-by: Mirko von Leipzig <[email protected]>
Main API changes are `bytes()` to `chunks()` and similar renamings. Signed-off-by: Mirko von Leipzig <[email protected]>
Does not compile, requires changes to many other dependencies as well. Main API change is `delay_for` to `sleep`. Signed-off-by: Mirko von Leipzig <[email protected]>
`DelayQueue` was moved from `tokio` to `tokio-util` in preparation for the 1.0 release of `tokio`. Signed-off-by: Mirko von Leipzig <[email protected]>
This fixes the missing `Stream` adapters for `tokio` related items. For example, `tokio::sync::Receiver<T>` used to implement `FutureExt` trait, but it no longer does. Instead we now wrap it using `tokio-stream` to provide the same extension. Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Note that version "0.3.15" was yanked. Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Also includes removing the base tungstenite dependency. Since tokio-tungstenite re-exports it. Signed-off-by: Mirko von Leipzig <[email protected]>
Previous version was yanked. Changes are - `Domain::ipv4()` -> `Domain::IPV4` - `Type::stream()` -> `Type::STREAM` - `socket.into_tcp_listener()` -> `TcpListener::from(socket)` Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
futures-retry API changes: - `#attempts` is now tracked by the library - retry output changed: `Result<output, err>` to `Result<(output, attempts), (err, attempts)>` Signed-off-by: Mirko von Leipzig <[email protected]>
Maximum retries were being passed in to the RequestErrorHandler as is. However in RequestErrorHandler it is defined as maximum attempts. i.e. `N > max` versus `N == max` In the future-retries upgrade the check for this was corrected to match the attempts naming, but this broke the actual usage which assumed it was retries. Signed-off-by: Mirko von Leipzig <[email protected]>
Signed-off-by: Mirko von Leipzig <[email protected]>
Fix for stack-overflow in debug mode, caused by too many warp filters. Issue link: seanmonstar/warp#811 Signed-off-by: Mirko von Leipzig <[email protected]>
Was a tokio 0.2 dependency, no longer needed. Signed-off-by: Mirko von Leipzig <[email protected]>
The error handler is rarely / never configured for tests, and this error was therefore not visible. Signed-off-by: Mirko von Leipzig <[email protected]>
9844c42
to
6abb1e4
Compare
Part of upgrading tokio from v0.2 to v1.*. Signed-off-by: Mirko von Leipzig <[email protected]>
Patched for versions >=0.14.10, and we now use 0.14.11. Signed-off-by: Mirko von Leipzig <[email protected]>
Patched in versions >=0.6.3, we use 0.6.4. Signed-off-by: Mirko von Leipzig <[email protected]>
6abb1e4
to
7fb5bc8
Compare
This now matches the version used by our dependencies, so that we only depend on one version overall. Signed-off-by: Mirko von Leipzig <[email protected]>
This matches the version used by warp, and means we only depend on a single version. The downgrade doesn't remove any functionality we rely on. Signed-off-by: Mirko von Leipzig <[email protected]>
Allrighty, this is ready to merge. This a big step forwards, thanks a lot! |
Quite a large and difficult refactor. There are some issues remaining which require feedback.
todo!
I left for format to strings where I don't know what info is valuable.Test status remained the same for me before and after. Tests can all pass; but the
ilp-node
tests seem plagued by racey start-up conditions (?) and sporadically fail -- this behaviour was the same before the refactor.--edit--
Added a fix for (1) -- tests now pass in debug mode. We will want to ensure that other filter handlers are covered by tests, but that should be a new issue.