Skip to content

new feature: provide timeout for each operation #7168

@dentiny

Description

@dentiny

Feature Description

Hi team, I notice we have timeout for all operations via timeout layer: https://opendal.apache.org/docs/rust/opendal/layers/struct.TimeoutLayer.html

I would like to know whether you experts think it makes sense to provide per-operation timeout feature?
For example,

  • list operation usually does range query, and should be expectedly taking more time than point query stat call
  • read request could potentially be served with cache and don't go through any data persistent layer, while it's non-avoidable for write operations

For now, I do have workarounds to use multiple operators for different type of operations, I'm just wondering if you think the per-operation timeout makes sense, or if it's already supported somehow?

Problem and Solution

One potential way is to provide a config which contains different timeouts for each operations to override global timeout and io_timeout.

Additional Context

No response

Are you willing to contribute to the development of this feature?

  • Yes, I am willing to contribute to the development of this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreleases-note/featThe PR implements a new feature or has a title that begins with "feat"

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions