-
Notifications
You must be signed in to change notification settings - Fork 9
Description
I was going over the codebase to learn about the project and noticed (and rather Copilot...) that in
dbos-transact-java/transact/src/main/java/dev/dbos/transact/execution/DBOSExecutor.java
Line 429 in aeb910e
| opts.backOffRate(), |
runStepInternal was not using the options properly.
Here is the output from Copilot:
In
runStepInternal(ThrowingSupplier<T,E> stepfunc, StepOptions opts, ...)the call forwards options as:
runStepInternal(opts.name(), opts.retriesAllowed(), opts.maxAttempts(), opts.backOffRate(), opts.intervalSeconds(), ...)
but the target method signature isString stepName, boolean retryAllowed, int maxAttempts, double timeBetweenAttemptsSec, double backOffRate, ...).
That means backOffRate and intervalSeconds are swapped when calling the retry loop — this will break retry timing/backoff behavior. This is a functional bug worth fixing.
The reasoning seems correct. Considering the fix looks easy enough, I'm opening a PR for it.