Skip to content
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

Daml-script communication needs to be more robust #19804

Open
samuel-williams-da opened this issue Aug 19, 2024 · 2 comments
Open

Daml-script communication needs to be more robust #19804

samuel-williams-da opened this issue Aug 19, 2024 · 2 comments

Comments

@samuel-williams-da
Copy link
Contributor

samuel-williams-da commented Aug 19, 2024

From Curtis, a description of the problem:

  • I was just on a call with GS. They are leery about using Daml Script. One reason is they encountered the following situation:
  • Running their Daml / Canton system in the cloud
  • Were using Daml Script and, I assume, running it locally or on a server in the cloud
  • The connection from the host running Daml Script to the PN broke
  • This connection breakage made an unrecoverable situation
  • A network (socket) connection breaking is a very normal thing. Does Daml Script have any retry mechanism for this? Are there any other gaps in making that connection robust?
  • Another related situation was a JWT token expiring in the middle of a Script execution. What would happen in this case?

Netty retry findings

It appears that daml-script's underlying Netty Channel when using GRPC doesn't use any retry logic.
The channel builder LedgerClientChannelConfiguration.builderFor sets up TLS and message sizes, but doesn't setup:

.enableRetry()
.maxRetryAttempts(10)

for example.
There is also information here on retry directly in GRPC.
I've seen a sentiment online that maxRetryAttempts isn't enough.

@hrischuk-da hrischuk-da changed the title Daml-script GRPC Channel retry logic Daml-script communication needs to be more robust Aug 19, 2024
@dylant-da
Copy link
Contributor

Will be discussed in grilling, will move then

@dylant-da
Copy link
Contributor

Discussed with Curtis at last grilling, explained that making this robust against failure is very difficult, Curtis said he'd get back to us

Putting on backlog until then

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

No branches or pull requests

2 participants