Update Rust crate `tower` to 0.5.0
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| tower | dependencies | minor | 0.4.13 -> 0.5.0 |
Release Notes
tower-rs/tower (tower)
v0.5.0: tower 0.5.0
Fixed
-
util:
BoxServiceis nowSync(#702)
Changed
-
util: Removed deprecated
ServiceExt::ready_andmethod andReadyAndfuture (#652) -
retry: Breaking Change
retry::Policy::retrynow accepts&mut Reqand&mut Resinstead of the previous mutable versions. This increases the flexibility of the retry policy. To update, update your method signature to includemutfor both parameters. (#584) - retry: Breaking Change Change Policy to accept &mut self (#681)
- retry: Add generic backoff utilities (#685)
- retry: Add Budget trait. This allows end-users to implement their own budget and bucket implementations. (#703)
-
reconnect: Breaking Change Remove unused generic parameter from
Reconnect::new(#755) - ready-cache: Allow iteration over ready services (#700)
-
discover: Implement
Clonefor Change (#701) - util: Add a BoxCloneServiceLayer (#708)
- rng: use a simpler random 2-sampler (#716)
-
filter: Derive
CloneforAsyncFilterLayer(#731) - general: Update IndexMap (#741)
- MSRV: Increase MSRV to 1.63.0 (#741)
Configuration
📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
error: failed to parse manifest at `/tmp/renovate/repos/github/hashintel/hash/Cargo.toml`
Caused by:
the cargo feature `edition2024` requires a nightly version of Cargo, but this is the `stable` channel
See https://doc.rust-lang.org/book/appendix-07-nightly-rust.html for more information about Rust release channels.
See https://doc.rust-lang.org/cargo/reference/unstable.html#edition-2024 for more information about using this feature.
Related issue: https://github.com/tower-rs/tower/issues/784
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 17.72%. Comparing base (
0de48a6) to head (db0e01d). Report is 38 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #4866 +/- ##
==========================================
- Coverage 17.72% 17.72% -0.01%
==========================================
Files 504 504
Lines 16516 16522 +6
Branches 2539 2540 +1
==========================================
Hits 2928 2928
- Misses 13550 13556 +6
Partials 38 38
| Flag | Coverage Δ | |
|---|---|---|
| apps.hash-ai-worker-ts | 1.40% <ø> (-0.01%) |
:arrow_down: |
| apps.hash-api | 1.18% <ø> (ø) |
|
| blockprotocol.type-system | 48.46% <ø> (ø) |
|
| local.hash-backend-utils | 8.79% <ø> (ø) |
|
| local.hash-isomorphic-utils | 1.06% <ø> (ø) |
|
| local.hash-subgraph | 24.32% <ø> (ø) |
|
| rust.deer | 5.88% <ø> (ø) |
|
| rust.error-stack | 72.68% <ø> (ø) |
|
| rust.sarif | 87.75% <ø> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Benchmark results
@rust/graph-benches – Integrations
representative_read_multiple_entities
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_property | depths: DT=0, PT=2, ET=2, E=2 | $$50.6 \mathrm{ms} \pm 293 \mathrm{μs}\left({\color{gray}0.250 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_property | depths: DT=2, PT=2, ET=2, E=2 | $$54.7 \mathrm{ms} \pm 300 \mathrm{μs}\left({\color{gray}0.677 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_property | depths: DT=0, PT=0, ET=0, E=2 | $$39.7 \mathrm{ms} \pm 217 \mathrm{μs}\left({\color{gray}1.08 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_property | depths: DT=0, PT=0, ET=2, E=2 | $$46.5 \mathrm{ms} \pm 244 \mathrm{μs}\left({\color{gray}0.950 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_property | depths: DT=255, PT=255, ET=255, E=255 | $$63.0 \mathrm{ms} \pm 343 \mathrm{μs}\left({\color{gray}0.019 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_property | depths: DT=0, PT=0, ET=0, E=0 | $$35.9 \mathrm{ms} \pm 201 \mathrm{μs}\left({\color{gray}1.37 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=0, PT=2, ET=2, E=2 | $$88.7 \mathrm{ms} \pm 413 \mathrm{μs}\left({\color{gray}-0.368 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=2, PT=2, ET=2, E=2 | $$93.0 \mathrm{ms} \pm 492 \mathrm{μs}\left({\color{gray}-0.352 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=2 | $$74.4 \mathrm{ms} \pm 446 \mathrm{μs}\left({\color{gray}-0.429 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=0, PT=0, ET=2, E=2 | $$85.1 \mathrm{ms} \pm 598 \mathrm{μs}\left({\color{gray}0.748 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=255, PT=255, ET=255, E=255 | $$102 \mathrm{ms} \pm 769 \mathrm{μs}\left({\color{gray}0.578 \mathrm{\%}}\right) $$ | Flame Graph |
| link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=0 | $$38.0 \mathrm{ms} \pm 245 \mathrm{μs}\left({\color{gray}0.545 \mathrm{\%}}\right) $$ | Flame Graph |
representative_read_entity
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 |
$$16.9 \mathrm{ms} \pm 241 \mathrm{μs}\left({\color{red}5.52 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 |
$$15.7 \mathrm{ms} \pm 188 \mathrm{μs}\left({\color{gray}0.742 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 |
$$16.1 \mathrm{ms} \pm 227 \mathrm{μs}\left({\color{gray}-0.610 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 |
$$15.7 \mathrm{ms} \pm 176 \mathrm{μs}\left({\color{gray}3.23 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 |
$$15.9 \mathrm{ms} \pm 203 \mathrm{μs}\left({\color{gray}2.27 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 |
$$17.1 \mathrm{ms} \pm 195 \mathrm{μs}\left({\color{red}9.66 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 |
$$15.1 \mathrm{ms} \pm 172 \mathrm{μs}\left({\color{gray}1.08 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 |
$$16.2 \mathrm{ms} \pm 195 \mathrm{μs}\left({\color{red}7.22 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 |
$$15.8 \mathrm{ms} \pm 176 \mathrm{μs}\left({\color{gray}0.051 \mathrm{\%}}\right) $$ | Flame Graph |
scaling_read_entity_complete_one_depth
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 10 entities | $$50.8 \mathrm{ms} \pm 204 \mathrm{μs}\left({\color{red}12.4 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 25 entities | $$72.1 \mathrm{ms} \pm 447 \mathrm{μs}\left({\color{gray}2.82 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 50 entities | $$1.55 \mathrm{s} \pm 3.38 \mathrm{ms}\left({\color{gray}-0.075 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 5 entities | $$25.0 \mathrm{ms} \pm 243 \mathrm{μs}\left({\color{gray}1.07 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 1 entities | $$19.7 \mathrm{ms} \pm 126 \mathrm{μs}\left({\color{gray}-0.092 \mathrm{\%}}\right) $$ | Flame Graph |
scaling_read_entity_complete_zero_depth
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 10 entities | $$2.01 \mathrm{ms} \pm 10.6 \mathrm{μs}\left({\color{gray}-2.448 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 25 entities | $$2.55 \mathrm{ms} \pm 18.2 \mathrm{μs}\left({\color{gray}-4.792 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 50 entities | $$3.85 \mathrm{ms} \pm 17.1 \mathrm{μs}\left({\color{gray}-3.414 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 5 entities | $$1.90 \mathrm{ms} \pm 9.81 \mathrm{μs}\left({\color{gray}-1.192 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 1 entities | $$1.84 \mathrm{ms} \pm 9.94 \mathrm{μs}\left({\color{gray}-0.052 \mathrm{\%}}\right) $$ | Flame Graph |
representative_read_entity_type
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| get_entity_type_by_id | Account ID: d4e16033-c281-4cde-aa35-9085bf2e7579 |
$$1.39 \mathrm{ms} \pm 4.48 \mathrm{μs}\left({\color{gray}-0.581 \mathrm{\%}}\right) $$ | Flame Graph |
scaling_read_entity_linkless
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 10 entities | $$1.83 \mathrm{ms} \pm 5.64 \mathrm{μs}\left({\color{gray}-1.199 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 100 entities | $$1.98 \mathrm{ms} \pm 5.85 \mathrm{μs}\left({\color{gray}-0.950 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 1000 entities | $$2.68 \mathrm{ms} \pm 15.9 \mathrm{μs}\left({\color{lightgreen}-24.513 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 10000 entities | $$12.7 \mathrm{ms} \pm 152 \mathrm{μs}\left({\color{gray}-1.764 \mathrm{\%}}\right) $$ | Flame Graph |
| entity_by_id | 1 entities | $$1.82 \mathrm{ms} \pm 6.40 \mathrm{μs}\left({\color{gray}-0.303 \mathrm{\%}}\right) $$ | Flame Graph |