Skip to content

Conversation

cicoyle
Copy link
Contributor

@cicoyle cicoyle commented Jul 25, 2025

Add support for cross app call activity calls.

@cicoyle cicoyle requested review from a team as code owners July 25, 2025 17:06
@cicoyle
Copy link
Contributor Author

cicoyle commented Jul 25, 2025

Note, this PR should be cherrypicked into the release branch once merged.

@cicoyle
Copy link
Contributor Author

cicoyle commented Jul 25, 2025

This PR is also dependent on the dapr release for 1.16. Javi has a PR to update to the latest rc version here. We will need both merged in, then cherrypick both to the release branch

@cicoyle
Copy link
Contributor Author

cicoyle commented Aug 7, 2025

I need to release durabletask-java with this PR merged in before this current PR will be green

@salaboy
Copy link
Collaborator

salaboy commented Aug 11, 2025

@cicoyle I was looking at this PR, but it doesn't have anything related to cross app call activity.

@cicoyle
Copy link
Contributor Author

cicoyle commented Aug 11, 2025

@cicoyle I was looking at this PR, but it doesn't have anything related to cross app call activity.

Did you by chance read the thorough readme updates I added?

@cicoyle
Copy link
Contributor Author

cicoyle commented Aug 12, 2025

I just got a workflow IT test locally 🎉 Need to cleanup and push, will do that + fix the conflict in my morning. Please feel free to review everything else and know I will update the pom.xml in my morning and add an IT test. Ill remove the mechanical markdown since Ill be adding the IT test.

Copy link
Collaborator

@salaboy salaboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cicoyle I've left a bunch of comments and suggestions. I am really against adding support for customHttp and customGrpc ports that is something that users shouldn't need to do as that goes against the idea of using containers that are started with random ports, but still allow the user to obtain the mapped ports to connect to them.

@cicoyle cicoyle added this to the v1.16 milestone Aug 19, 2025
@cicoyle cicoyle requested a review from salaboy August 21, 2025 21:45
Copy link
Collaborator

@salaboy salaboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cicoyle overall the example looks good and the new additions for Cross App Call are good, but I believe that all the changes in the DaprContainer class will cause issues. I am curious to see what are the issues that you are facing if you don't introduce any change in that class.

DaprContainer is a critical class being used by customers now, so I would change the behavior of it.

My recommendation would be to revert the changes on DaprContainer and I can help you to figure out what is going wrong with the containers when the pipelines fail.

@salaboy
Copy link
Collaborator

salaboy commented Aug 26, 2025

@cicoyle codecov is still failing and sb 3.3.x was cancelled for some reason, I think the changes in the PR are ok if the pipelines and codecov are green.

@cicoyle
Copy link
Contributor Author

cicoyle commented Aug 26, 2025

@cicoyle codecov is still failing and sb 3.3.x was cancelled for some reason, I think the changes in the PR are ok if the pipelines and codecov are green.

I pushed a test that should appease codecov. I also upped the test timeout to unblock this PR. I will open an issue to parallelize the test suite a bit bc it should not take this long.

@cicoyle cicoyle requested a review from salaboy August 26, 2025 14:48
@cicoyle
Copy link
Contributor Author

cicoyle commented Aug 26, 2025

created this issue

Copy link
Contributor

@artur-ciocanu artur-ciocanu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cicoyle this looks great! I have left some comments. Some of them are nitpicks.

I want to make sure that all the ITs that are using Testcontainers follow the same pattern and we rely on Testcontainer machinery for all the resource bootstrap and cleanup.

I am guessing you have run into issues that's why you added the ensureDependenciesCopied() method, but my question is why can't we have everything done during build, so we don't have to invoke Maven during IT execution.

@javier-aliaga javier-aliaga force-pushed the feat-cross-app-wf branch 2 times, most recently from 61918a6 to 714b787 Compare September 2, 2025 06:43
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
cicoyle and others added 19 commits September 2, 2025 09:41
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]>
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]>
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]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
@javier-aliaga
Copy link
Contributor

@artur-ciocanu @salaboy I fixed all you comments and suggestion, can you take look again?

Copy link
Collaborator

@salaboy salaboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @javier-aliaga for adding the @containers to the test.. that will simplify our lives

@salaboy salaboy merged commit 9fc16c2 into dapr:master Sep 2, 2025
10 checks passed
Copy link

codecov bot commented Sep 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.89%. Comparing base (d759c53) to head (13921bf).
⚠️ Report is 215 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1468      +/-   ##
============================================
+ Coverage     76.91%   78.89%   +1.98%     
- Complexity     1592     1934     +342     
============================================
  Files           145      237      +92     
  Lines          4843     5952    +1109     
  Branches        562      611      +49     
============================================
+ Hits           3725     4696     +971     
- Misses          821      936     +115     
- Partials        297      320      +23     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

javier-aliaga added a commit to javier-aliaga/java-sdk that referenced this pull request Sep 2, 2025
* cross app ex

Signed-off-by: Cassandra Coyle <[email protected]>

* update protoc cmd

Signed-off-by: Cassandra Coyle <[email protected]>

* feedback

Signed-off-by: Cassandra Coyle <[email protected]>

* builder pattern

Signed-off-by: Cassandra Coyle <[email protected]>

* fix protoc

Signed-off-by: Cassandra Coyle <[email protected]>

* debug log levels for test containers

Signed-off-by: Cassandra Coyle <[email protected]>

* update readme and add debugging info

Signed-off-by: Cassandra Coyle <[email protected]>

* add IT test for cross app call activity

Signed-off-by: Cassandra Coyle <[email protected]>

* cleanup test

Signed-off-by: Cassandra Coyle <[email protected]>

* sysout -> ctx.logger

Signed-off-by: Cassandra Coyle <[email protected]>

* reset pom

Signed-off-by: Cassandra Coyle <[email protected]>

* rm debug lines from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* fix header + rm customports

Signed-off-by: Cassandra Coyle <[email protected]>

* use consts

Signed-off-by: Cassandra Coyle <[email protected]>

* rm waitfor call

Signed-off-by: Cassandra Coyle <[email protected]>

* rm pubsub

Signed-off-by: Cassandra Coyle <[email protected]>

* rm timeout

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty lines added

Signed-off-by: Cassandra Coyle <[email protected]>

* reset appname for daprcontainer

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty line diff

Signed-off-by: Cassandra Coyle <[email protected]>

* rm constructor info from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* debug -> info

Signed-off-by: Cassandra Coyle <[email protected]>

* rm super.start

Signed-off-by: Cassandra Coyle <[email protected]>

* reset dapr container diff

Signed-off-by: Cassandra Coyle <[email protected]>

* add test for codecov

Signed-off-by: Cassandra Coyle <[email protected]>

* up timeout time to unblock PR

Signed-off-by: Cassandra Coyle <[email protected]>

* deps: Update durabletask-client to 1.5.10

Signed-off-by: Javier Aliaga <[email protected]>

* ci: Revert build timeout

Signed-off-by: Javier Aliaga <[email protected]>

* review: Use ctx.getLogger

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Fix review comments

Signed-off-by: Javier Aliaga <[email protected]>

* chore: more review comments fixes

Signed-off-by: Javier Aliaga <[email protected]>

* test: Use testcontainers in CrossApp IT test

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Load classpath for IT with all dependencies

Signed-off-by: Javier Aliaga <[email protected]>

---------

Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Co-authored-by: Javier Aliaga <[email protected]>
javier-aliaga added a commit to javier-aliaga/java-sdk that referenced this pull request Sep 2, 2025
* cross app ex

Signed-off-by: Cassandra Coyle <[email protected]>

* update protoc cmd

Signed-off-by: Cassandra Coyle <[email protected]>

* feedback

Signed-off-by: Cassandra Coyle <[email protected]>

* builder pattern

Signed-off-by: Cassandra Coyle <[email protected]>

* fix protoc

Signed-off-by: Cassandra Coyle <[email protected]>

* debug log levels for test containers

Signed-off-by: Cassandra Coyle <[email protected]>

* update readme and add debugging info

Signed-off-by: Cassandra Coyle <[email protected]>

* add IT test for cross app call activity

Signed-off-by: Cassandra Coyle <[email protected]>

* cleanup test

Signed-off-by: Cassandra Coyle <[email protected]>

* sysout -> ctx.logger

Signed-off-by: Cassandra Coyle <[email protected]>

* reset pom

Signed-off-by: Cassandra Coyle <[email protected]>

* rm debug lines from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* fix header + rm customports

Signed-off-by: Cassandra Coyle <[email protected]>

* use consts

Signed-off-by: Cassandra Coyle <[email protected]>

* rm waitfor call

Signed-off-by: Cassandra Coyle <[email protected]>

* rm pubsub

Signed-off-by: Cassandra Coyle <[email protected]>

* rm timeout

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty lines added

Signed-off-by: Cassandra Coyle <[email protected]>

* reset appname for daprcontainer

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty line diff

Signed-off-by: Cassandra Coyle <[email protected]>

* rm constructor info from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* debug -> info

Signed-off-by: Cassandra Coyle <[email protected]>

* rm super.start

Signed-off-by: Cassandra Coyle <[email protected]>

* reset dapr container diff

Signed-off-by: Cassandra Coyle <[email protected]>

* add test for codecov

Signed-off-by: Cassandra Coyle <[email protected]>

* up timeout time to unblock PR

Signed-off-by: Cassandra Coyle <[email protected]>

* deps: Update durabletask-client to 1.5.10

Signed-off-by: Javier Aliaga <[email protected]>

* ci: Revert build timeout

Signed-off-by: Javier Aliaga <[email protected]>

* review: Use ctx.getLogger

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Fix review comments

Signed-off-by: Javier Aliaga <[email protected]>

* chore: more review comments fixes

Signed-off-by: Javier Aliaga <[email protected]>

* test: Use testcontainers in CrossApp IT test

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Load classpath for IT with all dependencies

Signed-off-by: Javier Aliaga <[email protected]>

---------

Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Co-authored-by: Javier Aliaga <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
javier-aliaga added a commit to javier-aliaga/java-sdk that referenced this pull request Sep 2, 2025
* cross app ex

Signed-off-by: Cassandra Coyle <[email protected]>

* update protoc cmd

Signed-off-by: Cassandra Coyle <[email protected]>

* feedback

Signed-off-by: Cassandra Coyle <[email protected]>

* builder pattern

Signed-off-by: Cassandra Coyle <[email protected]>

* fix protoc

Signed-off-by: Cassandra Coyle <[email protected]>

* debug log levels for test containers

Signed-off-by: Cassandra Coyle <[email protected]>

* update readme and add debugging info

Signed-off-by: Cassandra Coyle <[email protected]>

* add IT test for cross app call activity

Signed-off-by: Cassandra Coyle <[email protected]>

* cleanup test

Signed-off-by: Cassandra Coyle <[email protected]>

* sysout -> ctx.logger

Signed-off-by: Cassandra Coyle <[email protected]>

* reset pom

Signed-off-by: Cassandra Coyle <[email protected]>

* rm debug lines from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* fix header + rm customports

Signed-off-by: Cassandra Coyle <[email protected]>

* use consts

Signed-off-by: Cassandra Coyle <[email protected]>

* rm waitfor call

Signed-off-by: Cassandra Coyle <[email protected]>

* rm pubsub

Signed-off-by: Cassandra Coyle <[email protected]>

* rm timeout

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty lines added

Signed-off-by: Cassandra Coyle <[email protected]>

* reset appname for daprcontainer

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty line diff

Signed-off-by: Cassandra Coyle <[email protected]>

* rm constructor info from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* debug -> info

Signed-off-by: Cassandra Coyle <[email protected]>

* rm super.start

Signed-off-by: Cassandra Coyle <[email protected]>

* reset dapr container diff

Signed-off-by: Cassandra Coyle <[email protected]>

* add test for codecov

Signed-off-by: Cassandra Coyle <[email protected]>

* up timeout time to unblock PR

Signed-off-by: Cassandra Coyle <[email protected]>

* deps: Update durabletask-client to 1.5.10

Signed-off-by: Javier Aliaga <[email protected]>

* ci: Revert build timeout

Signed-off-by: Javier Aliaga <[email protected]>

* review: Use ctx.getLogger

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Fix review comments

Signed-off-by: Javier Aliaga <[email protected]>

* chore: more review comments fixes

Signed-off-by: Javier Aliaga <[email protected]>

* test: Use testcontainers in CrossApp IT test

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Load classpath for IT with all dependencies

Signed-off-by: Javier Aliaga <[email protected]>

---------

Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Co-authored-by: Javier Aliaga <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
javier-aliaga added a commit to javier-aliaga/java-sdk that referenced this pull request Sep 2, 2025
* cross app ex

Signed-off-by: Cassandra Coyle <[email protected]>

* update protoc cmd

Signed-off-by: Cassandra Coyle <[email protected]>

* feedback

Signed-off-by: Cassandra Coyle <[email protected]>

* builder pattern

Signed-off-by: Cassandra Coyle <[email protected]>

* fix protoc

Signed-off-by: Cassandra Coyle <[email protected]>

* debug log levels for test containers

Signed-off-by: Cassandra Coyle <[email protected]>

* update readme and add debugging info

Signed-off-by: Cassandra Coyle <[email protected]>

* add IT test for cross app call activity

Signed-off-by: Cassandra Coyle <[email protected]>

* cleanup test

Signed-off-by: Cassandra Coyle <[email protected]>

* sysout -> ctx.logger

Signed-off-by: Cassandra Coyle <[email protected]>

* reset pom

Signed-off-by: Cassandra Coyle <[email protected]>

* rm debug lines from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* fix header + rm customports

Signed-off-by: Cassandra Coyle <[email protected]>

* use consts

Signed-off-by: Cassandra Coyle <[email protected]>

* rm waitfor call

Signed-off-by: Cassandra Coyle <[email protected]>

* rm pubsub

Signed-off-by: Cassandra Coyle <[email protected]>

* rm timeout

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty lines added

Signed-off-by: Cassandra Coyle <[email protected]>

* reset appname for daprcontainer

Signed-off-by: Cassandra Coyle <[email protected]>

* reset empty line diff

Signed-off-by: Cassandra Coyle <[email protected]>

* rm constructor info from readme

Signed-off-by: Cassandra Coyle <[email protected]>

* debug -> info

Signed-off-by: Cassandra Coyle <[email protected]>

* rm super.start

Signed-off-by: Cassandra Coyle <[email protected]>

* reset dapr container diff

Signed-off-by: Cassandra Coyle <[email protected]>

* add test for codecov

Signed-off-by: Cassandra Coyle <[email protected]>

* up timeout time to unblock PR

Signed-off-by: Cassandra Coyle <[email protected]>

* deps: Update durabletask-client to 1.5.10

Signed-off-by: Javier Aliaga <[email protected]>

* ci: Revert build timeout

Signed-off-by: Javier Aliaga <[email protected]>

* review: Use ctx.getLogger

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Fix review comments

Signed-off-by: Javier Aliaga <[email protected]>

* chore: more review comments fixes

Signed-off-by: Javier Aliaga <[email protected]>

* test: Use testcontainers in CrossApp IT test

Signed-off-by: Javier Aliaga <[email protected]>

* chore: Load classpath for IT with all dependencies

Signed-off-by: Javier Aliaga <[email protected]>

---------

Signed-off-by: Cassandra Coyle <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Co-authored-by: Javier Aliaga <[email protected]>
Signed-off-by: Javier Aliaga <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants