-
Notifications
You must be signed in to change notification settings - Fork 590
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
chore: bump opendal to v0.45.1 for connector/icelake #15920
Conversation
@@ -126,6 +128,7 @@ impl<Src: OpendalSource> OpendalReader<Src> { | |||
let reader = op | |||
.reader_with(&object_name) | |||
.range(split.offset as u64..) | |||
.into_future() // Unlike `rustc`, `try_stream` seems require manual `into_future`. |
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 does rustc
refer to? 👀
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 refers to the normal .await
desugaring performed by rustc
, in contrast to how the proc macro try_stream
transforms the .await
syntax.
That is, given f: impl IntoFuture
, we can write f.await
directly but need f.into_future().await
if try_stream
is involved.
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.
This is interesting. Heard about IntoFuture
a long time ago and finally meet one in practice.
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.
opendal::Operator::reader_with
returns:
- (v0.44.2)
FutureReader
which implementsFuture
- (v0.45.1)
FutureRead
which implementsIntoFuture
When implementing futures manually there will often be a choice between implementing
Future
orIntoFuture
for a type. ImplementingFuture
is a good choice in most cases. But implementingIntoFuture
is most useful when implementing “async builder” types, which allow their values to be modified multiple times before being.await
ed.
The .range
call is modifying its value before being .await
ed
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Supplement to #15744.
Note that icelake specifies
>=0.40
, causing dependabot to automatically bump it to0.45
. But our connector requires0.44
, leading to all dependabot PRs blocked.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.