-
Notifications
You must be signed in to change notification settings - Fork 218
Compensation example for Workflows #1333
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Compensation example for Workflows #1333
Conversation
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
@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 <cassie@diagrid.io>
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 <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
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 <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
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.
added the above label until I am done pushing the test and doing some cleanup |
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Will circle back to the build failures |
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
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 <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
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 <cassie@diagrid.io> * update commands to run + wf id Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * fix import Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripClient.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update mechanical markdown Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * rm tests from examples pr Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * reset unintended changes Signed-off-by: Cassandra Coyle <cassie@diagrid.io> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
* Compensation example for Workflows (#1333) * add basic compensation example for wf Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update commands to run + wf id Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update readme + add mechanical markdown Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * fix import Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * fix mechanical markdown + add how to test it locally Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * move compensation example readme to workflows readme Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Update BookCarActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookFlightActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookHotelActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripClient.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripWorker.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update BookTripWorkflow.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelCarActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelFlightActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * Update CancelHotelActivity.java Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> * add retry IT tests and catch TaskFailedException Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add test for no compensation if successful and assert attempts Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update mechanical markdown Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add back pubsub... but this should be removed long term Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try adding waitforsidecar Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * rm tests from examples pr Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * reset unintended changes Signed-off-by: Cassandra Coyle <cassie@diagrid.io> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com> * Adding Support for Suspend / Resume Workflows (#1405) * adding IT test Signed-off-by: salaboy <Salaboy@gmail.com> * adding initial version of suspend/resume example Signed-off-by: salaboy <Salaboy@gmail.com> * updating README Signed-off-by: salaboy <Salaboy@gmail.com> * Update README.md Signed-off-by: salaboy <Salaboy@gmail.com> * following Javi's suggestion Signed-off-by: salaboy <Salaboy@gmail.com> * fixing wrong year in headers Signed-off-by: salaboy <Salaboy@gmail.com> * fixing paths in one more README.md file Signed-off-by: salaboy <Salaboy@gmail.com> * adding output validation Signed-off-by: salaboy <Salaboy@gmail.com> * adding missing port Signed-off-by: salaboy <Salaboy@gmail.com> * fixing check conditions Signed-off-by: salaboy <Salaboy@gmail.com> --------- Signed-off-by: salaboy <Salaboy@gmail.com> Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com> Signed-off-by: salaboy <Salaboy@gmail.com> Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com> Co-authored-by: salaboy <Salaboy@gmail.com>
Add a compensation workflow example