-
Notifications
You must be signed in to change notification settings - Fork 223
Compensation example for Workflows #1333
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
Compensation example for Workflows #1333
Conversation
Signed-off-by: Cassandra Coyle <[email protected]>
@cicoyle I was looking at this PR. The example doesn't seem to show that compensations are executed, right? Was this already implemented in dotnet? Do we have any reference of how it was implemented in dotnet? Did you used that implementation as inspiration for this PR? |
Signed-off-by: Cassandra Coyle <[email protected]>
This is a new pattern entirely. There are no examples in any other sdk or in the dapr docs. Its a simple example to illustrate how users can use the compensation workflow pattern. |
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
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.
Overall LGTM.
I think most of the files are missing a new line. If we could add that, the PR is good to go.
examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripWorkflow.java
Outdated
Show resolved
Hide resolved
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
Signed-off-by: artur-ciocanu <[email protected]>
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.
@cicoyle awesome job! I love the docs related to Mechanical Markdown.
My only concern is the comment from @javier-aliaga regarding retries. Either we mention this is the code comment or add some note, so developers are aware how handling the exception might affect the retry behavior.
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Will circle back to the build failures |
Signed-off-by: Cassandra Coyle <[email protected]>
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.
not 100% sure about this but here is the label
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
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.
LGTM
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1333 +/- ##
============================================
+ Coverage 76.91% 78.13% +1.22%
- Complexity 1592 1830 +238
============================================
Files 145 223 +78
Lines 4843 5663 +820
Branches 562 601 +39
============================================
+ Hits 3725 4425 +700
- Misses 821 917 +96
- Partials 297 321 +24 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
* add basic compensation example for wf Signed-off-by: Cassandra Coyle <[email protected]> * update commands to run + wf id Signed-off-by: Cassandra Coyle <[email protected]> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * fix import Signed-off-by: Cassandra Coyle <[email protected]> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <[email protected]> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <[email protected]> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripClient.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <[email protected]> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <[email protected]> * update mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <[email protected]> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <[email protected]> * rm tests from examples pr Signed-off-by: Cassandra Coyle <[email protected]> * reset unintended changes Signed-off-by: Cassandra Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Co-authored-by: artur-ciocanu <[email protected]>
* Compensation example for Workflows (#1333) * add basic compensation example for wf Signed-off-by: Cassandra Coyle <[email protected]> * update commands to run + wf id Signed-off-by: Cassandra Coyle <[email protected]> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * fix import Signed-off-by: Cassandra Coyle <[email protected]> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <[email protected]> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <[email protected]> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripClient.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <[email protected]> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <[email protected]> * update mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <[email protected]> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <[email protected]> * rm tests from examples pr Signed-off-by: Cassandra Coyle <[email protected]> * reset unintended changes Signed-off-by: Cassandra Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> * Adding Support for Suspend / Resume Workflows (#1405) * adding IT test Signed-off-by: salaboy <[email protected]> * adding initial version of suspend/resume example Signed-off-by: salaboy <[email protected]> * updating README Signed-off-by: salaboy <[email protected]> * Update README.md Signed-off-by: salaboy <[email protected]> * following Javi's suggestion Signed-off-by: salaboy <[email protected]> * fixing wrong year in headers Signed-off-by: salaboy <[email protected]> * fixing paths in one more README.md file Signed-off-by: salaboy <[email protected]> * adding output validation Signed-off-by: salaboy <[email protected]> * adding missing port Signed-off-by: salaboy <[email protected]> * fixing check conditions Signed-off-by: salaboy <[email protected]> --------- Signed-off-by: salaboy <[email protected]> Co-authored-by: Cassie Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Signed-off-by: salaboy <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> Co-authored-by: salaboy <[email protected]>
* add basic compensation example for wf Signed-off-by: Cassandra Coyle <[email protected]> * update commands to run + wf id Signed-off-by: Cassandra Coyle <[email protected]> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * fix import Signed-off-by: Cassandra Coyle <[email protected]> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <[email protected]> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <[email protected]> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripClient.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <[email protected]> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <[email protected]> * update mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <[email protected]> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <[email protected]> * rm tests from examples pr Signed-off-by: Cassandra Coyle <[email protected]> * reset unintended changes Signed-off-by: Cassandra Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> Signed-off-by: sirivarma <[email protected]>
* Compensation example for Workflows (dapr#1333) * add basic compensation example for wf Signed-off-by: Cassandra Coyle <[email protected]> * update commands to run + wf id Signed-off-by: Cassandra Coyle <[email protected]> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * fix import Signed-off-by: Cassandra Coyle <[email protected]> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <[email protected]> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <[email protected]> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripClient.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <[email protected]> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <[email protected]> * update mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <[email protected]> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <[email protected]> * rm tests from examples pr Signed-off-by: Cassandra Coyle <[email protected]> * reset unintended changes Signed-off-by: Cassandra Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> * Adding Support for Suspend / Resume Workflows (dapr#1405) * adding IT test Signed-off-by: salaboy <[email protected]> * adding initial version of suspend/resume example Signed-off-by: salaboy <[email protected]> * updating README Signed-off-by: salaboy <[email protected]> * Update README.md Signed-off-by: salaboy <[email protected]> * following Javi's suggestion Signed-off-by: salaboy <[email protected]> * fixing wrong year in headers Signed-off-by: salaboy <[email protected]> * fixing paths in one more README.md file Signed-off-by: salaboy <[email protected]> * adding output validation Signed-off-by: salaboy <[email protected]> * adding missing port Signed-off-by: salaboy <[email protected]> * fixing check conditions Signed-off-by: salaboy <[email protected]> --------- Signed-off-by: salaboy <[email protected]> Co-authored-by: Cassie Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Signed-off-by: salaboy <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> Co-authored-by: salaboy <[email protected]> Signed-off-by: siri-varma <[email protected]>
* Compensation example for Workflows (dapr#1333) * add basic compensation example for wf Signed-off-by: Cassandra Coyle <[email protected]> * update commands to run + wf id Signed-off-by: Cassandra Coyle <[email protected]> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * fix import Signed-off-by: Cassandra Coyle <[email protected]> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <[email protected]> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <[email protected]> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripClient.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <[email protected]> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <[email protected]> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <[email protected]> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <[email protected]> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <[email protected]> * update mechanical markdown Signed-off-by: Cassandra Coyle <[email protected]> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <[email protected]> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <[email protected]> * rm tests from examples pr Signed-off-by: Cassandra Coyle <[email protected]> * reset unintended changes Signed-off-by: Cassandra Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> * Adding Support for Suspend / Resume Workflows (dapr#1405) * adding IT test Signed-off-by: salaboy <[email protected]> * adding initial version of suspend/resume example Signed-off-by: salaboy <[email protected]> * updating README Signed-off-by: salaboy <[email protected]> * Update README.md Signed-off-by: salaboy <[email protected]> * following Javi's suggestion Signed-off-by: salaboy <[email protected]> * fixing wrong year in headers Signed-off-by: salaboy <[email protected]> * fixing paths in one more README.md file Signed-off-by: salaboy <[email protected]> * adding output validation Signed-off-by: salaboy <[email protected]> * adding missing port Signed-off-by: salaboy <[email protected]> * fixing check conditions Signed-off-by: salaboy <[email protected]> --------- Signed-off-by: salaboy <[email protected]> Co-authored-by: Cassie Coyle <[email protected]> --------- Signed-off-by: Cassandra Coyle <[email protected]> Signed-off-by: artur-ciocanu <[email protected]> Signed-off-by: salaboy <[email protected]> Co-authored-by: artur-ciocanu <[email protected]> Co-authored-by: salaboy <[email protected]> Signed-off-by: siri-varma <[email protected]>
Add a compensation workflow example