Skip to content

CreateSnapshot API should support both sync and async mode #556

Open
@astraw99

Description

@astraw99

Is your feature request related to a problem?/Why is this needed
Currently, the CreateSnapshot API is a synchronous call and it blocked until the snapshot is cut, as said in the doc:

Based on this information, CO can issue repeated (idempotent) calls to CreateSnapshot, monitor the response, and make decisions. Note that CreateSnapshot is a synchronous call and it MUST block until the snapshot is cut.

But creating snapshot from disk may take long time, depends on the data size.
The issue is the synchronous mode will be stucked and may be broken if any error occured.

So raised this issue to support both sync and async mode on CreateSnapshot API.

Describe the solution you'd like in detail
In the async mode, CreateSnapshot API will get the snapshotID very quickly from the SP (Storage Provider), then
we can call query API to get the snapshot status or progress.

In the meantime, the FrontEnd could display the snapshot progress user-friendly.

Describe alternatives you've considered
We can add a param as mode="sync|async" to support both mode, let user choose as they like.

Additional context
It is a common issue among cloud SPs, hope this proposal will get acceptance, then I can do the PR to implement it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions