-
Notifications
You must be signed in to change notification settings - Fork 715
chore: bump toolchain to nightly-20251010 #23473
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
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Looks like this PR extends new SQL syntax or updates existing ones. Make sure that:
|
de80ef0 to
87abbb7
Compare
BugenZhao
left a comment
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.
LGTM!
| futures = { version = "0.3", default-features = false, features = ["alloc"] } | ||
| governor = { workspace = true } | ||
| hashbrown = { workspace = true } | ||
| hashbrown0_14 = { workspace = true } |
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.
What about specifying this in the workspace-config crate?
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.
Doesn't look like a good idea.
The hashbrown 0.14.5 can only compile in nightly toolchain with its nightly feature is enabled. When doing feature unification to resolve the features enabled in each crate, cargo only include the crate usage when a crate include it in the dependency lists and explicitly use it. Though we have added the hashbrown 0.14.5 in the workspace-config crate, and even have used it with use hashbrown0_14 as _; in the lib.rs, the nightly feature will only be enabled when the crate we are building has included workspace-config in the dependency list. However, the workspace-config is only depended by risingwave_cmd, which means if we build solely on other crates, such as running a test on risingwave_connector, the nightly feature of hashbrown won't be enabled, and then we cannot pass the compile.
To resolve this, we will have to directly or indirectly include workspace-config in all crates that want to be built independently, and the crate risingwave_common is a good common crate that is directly or indirectly depended by most crates. If so, it's better to directly include hashbrown 0.14.5 in risingwave_common, like what we do currently in this PR.
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.
Make sense. This somehow reminds me of the workspace-hack crate. I also encountered this in #23453.
Cargo.toml
Outdated
| lru = { git = "https://github.com/risingwavelabs/lru-rs.git", rev = "2682b85" } | ||
| lru = "0.12" |
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.
It seems we've stopped using the forked crate and have instead vendorred it directly into our repository since version #16087.
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.
Yes, we have stopped using it in executor. But as mentioned in the PR description, our rpc_client still use it to hold client, and there is logic of iterating over the lru cache, which is not supported in the one implemented in our repo. This code change is for rpc_client to use the official lru-rs crate.
87abbb7 to
a08f8ef
Compare
a08f8ef to
64c1eb3
Compare

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Source of code changes:
lru-rscan no longer compiler in the latest toolchain, since it usesBox::into_raw, but in the latest toolchain the method has been disabled forBoxwith customizedAllocatorother thanGlobal. Though it's easy to make it compile again, but it seems that the forked crate is only used in bench and rpc_client as a container for client, and therefore we can directly use the officiallru-rs.hashbrown 0.14.5can not cleanly compiled under nightly toolchain without enabling thenightlyfeature. Previous the feature is enabled via the forkedlru-rs. As we are removing the dependency on the forked crate, we should enable the feature in our workspace explicitly.string_to_stringhas been deprecated, and the compiler indicates that we should instead enable the superset of itimplicit_clone. Most code changes are caused by enabling this lint rule.Checklist
Documentation
Release note