Skip to content

Custom retry options of ctx.run caused unexpected error #627

@y-f-u

Description

@y-f-u

Hi,

Server version: 1.5.5
Typescript SDK version: 1.9.1

Thank you for making restate and restate SKDs.

I am trying to make some adjustment on ctx.run retry behaviour; however when I added the options {maxRetryInterval: { seconds: 240 }} I got an error

...
1.85.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/time.rs:981:23:
cannot convert float seconds to Duration: value is either too big or NaN
...
WARN: Error when processing a Restate context operation.
 RuntimeError: unreachable
    at wasm://wasm/0031588e:wasm-function[437]:0x582d2
    at wasm://wasm/0031588e:wasm-function[1041]:0x9475c
    at wasm://wasm/0031588e:wasm-function[68]:0xa847
    at wasm://wasm/0031588e:wasm-function[974]:0x7cfae
    at pM.propose_run_completion_failure_transient (/_packages/asc/node_modules/.pnpm/@restatedev+restate-sdk@1.9.1/node_modules/@restatedev/restate-sdk/src/endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js:1381:22)
    at c (/_packages/asc/node_modules/.pnpm/@restatedev+restate-sdk@1.9.1/node_modules/@restatedev/restate-sdk/src/context_impl.ts:503:25)

It feels some undefined value get passed into rust wasm code, which might be maxDuration or maxAttempts. However, adding these options will cause non-deterministic issues on the workflow as it seems calling set to track these setting per invocation.

Can you please help clarify and possibly fix this?

Thanks

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