-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sub orchestrator retries #84
Conversation
ping @cgillum |
Signed-off-by: Fabian Martinez <[email protected]>
ping |
@famarting looks like your new tests are not passing. The CI is reporting timeouts. |
@cgillum tests are failing because of this error
It makes me think that the strategy I followed to implement sub orchestrator retries is not a valid strategy? do you have any idea or suggestion how to address this? First I implemented activity retries and I implemented a recursive algorithm that using timers scheduled the activity introducing delays between tries... however this doesnt seem to work OOB for sub orchestrations due to the "already exists" error. Additionally, looking at the python sdk, seems like retries are not implemented using a recursive algorithm, instead extra logic has been added into process event to account for delays and retries.... am I forced to follow the same strategy as python? or what options do we have? |
My first guess is that the sqlite backend implementation doesn't allow reusing the existing sub-orchestration ID, so it's returning Your test might pass if you forgo providing a specific instance ID and allow the sub-orchestration to use a random instance ID. However, if you want the scenario of reusing a user-specific instance ID to work, then we'll need to change |
…tor on retry Signed-off-by: Fabian Martinez <[email protected]>
Signed-off-by: Fabian Martinez <[email protected]>
404799e
to
7572160
Compare
ok, it was much simpler than I thought, thank you |
@famarting looks like the new test is still failing due to a mismatch in expected OTel span outputs:
It looks like you're attempting to assert a particular task ID for the sub-orchestrations, but there aren't any such task ID attributes getting generated for sub-orchestrations. I don't see similar asserts for task IDs in the other sub-orchestration test (suggesting that they're not expected to exist), so I wonder if you should just remove the task ID asserts you added for the sub-orchestrations. |
Signed-off-by: Fabian Martinez <[email protected]>
followed your feedback, thank you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Everything's passing now.
second part for dapr/go-sdk#541
adds support for call suborchestrator with retries
based on the existing implementation for activities