Skip to content

Comments

feat(layer): split TimeoutLayer into opendal-layer-timeout#6964

Closed
bytelazy wants to merge 2 commits intoapache:mainfrom
bytelazy:split-timeoutlayer-from-core
Closed

feat(layer): split TimeoutLayer into opendal-layer-timeout#6964
bytelazy wants to merge 2 commits intoapache:mainfrom
bytelazy:split-timeoutlayer-from-core

Conversation

@bytelazy
Copy link

@bytelazy bytelazy commented Dec 11, 2025

Which issue does this PR close?

Closes #6950
This PR splits the layer retry out of core as part of the core-split effort and follows the tracking issue #6829.

Rationale for this change

What changes are included in this PR?

  • Extracted TimeoutLayer into the new opendal-layer-timeout crate while keeping its timeout behavior and tests intact for layered operations.

  • Wired the new crate into the workspace with the layers-timeout feature enabled by default and re-exported through the facade so opendal::layers::TimeoutLayer continues to work unchanged.

  • Exposed Executor::into_inner for cross-crate use and updated documentation and test helpers to align with the timeout layer split

Are there any user-facing changes?

@bytelazy bytelazy requested a review from Xuanwo as a code owner December 11, 2025 03:00
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. releases-note/feat The PR implements a new feature or has a title that begins with "feat" labels Dec 11, 2025
```

It's also recommended to use opendal's [`TimeoutLayer`][crate::layers::TimeoutLayer] to prevent slow requests hangs forever. This layer will automatically cancel the request if it takes too long to complete.
It's also recommended to use opendal's [`TimeoutLayer`] to prevent slow requests hangs forever. This layer will automatically cancel the request if it takes too long to complete.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems not updated.

"env-filter",
"tracing-log",
] }
opendal-layer-timeout = { path = "../layers/timeout", version = "0.55.0", default-features = false }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

core should not depend on this layer.

@Xuanwo
Copy link
Member

Xuanwo commented Dec 18, 2025

Thank you @bytelazy for working on this. As explained in #7053, these three layers are highly coupled in many of our tests. Therefore, we finally decided to migrate them all at once.

We’re sorry, but we have to close your PR for now. We hope to see your contributions again in the future.

@Xuanwo Xuanwo closed this Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[core split] Layer: timeout

2 participants