commandClient submit only answered 7 times by the ledger when using java bindings for 2.0

Hello, we have a very odd behavior with the java bindings 2.0.

We have a ledger running 2.0.0

We have a java app with a pom.xml
value daml-sdk.version :
<daml-sdk.version>1.17.1</daml-sdk.version>

Affecting the dependencies:

com.daml
bindings-rxjava
${daml-sdk.version}


com.daml
daml-lf-data_2.13
${daml-sdk.version}

When updating the value to 2.0.0 to use the latest dependencies, our application stops working after exactly 7

damlLedgerClient.getCommandClient().submitAndWaitForTransactionTree(...).blockingGet();

On the 8th call, the daml ledger decides to never respond, and the java application is busy-waiting.

Everything works as expected when using the 1.17.1 java bindings.

Does anyone have had the same odd behavior with the java bindings 2.0?
Is this documented somewhere?
Could it be due to whatever code we are running daml side? (It is da/market-place/syndication so I doubt)

Hi @Simon_Alexe, is this behavior deterministic? Every single time you run it it always stops at the same point? Can you help me understand what you mean by “It is da/market-place/syndication”? Are you referring to code in this PR? If you have a series of steps to reproduce the issues it would allow me to be faster in proving you with help.

Hello,

Yes it is deterministic, we observe the exact same odd behavior at every run with 2.0.0 java bindings. It is stuck after exactly 7 submit() of a choice, and on the 8th, the daml ledger never responds.
Changing the dependencies back to 1.17.1 solves the issue.

I meant the syndication branch of da-marketplace digital-asset/da-marketplace at syndication (github.com)

Sorry I did not take the time to isolate the issue out of our java project (DACH-NY/swift-adaptor (github.com)), but there is a video recording of @Judy_Wu and I showing how to reproduce this issue.

I am not assigned to the project anymore. I think @Rishi_Mohta is leading the debugging of this issue now.

@stefanobaghino-da I had a ~20-min recording from @Simon_Alexe where we went over the steps to reproduce the issue together, and yes the issue can be reproduced and seems to be deterministic. If your time allows, I am happy to provide the recording or maybe have a quick chat to describe what I know about the issue.

Disclaimer: the recording is a bit unstructured as I was not the main dev on the issue and had to interrupted several times just to get a hold of the issue. I think it’s best for @Rishi_Mohta to document down the steps to reproduce the issue properly here as he is leading and should have better understanding of the whole issue than I do.
@Rishi_Mohta can you help to write down a proper setup and steps for reproducing the issue here? Thanks :pray:

@stefanobaghino-da @anletran and Hanh has documented down in details the steps to reproduce the issue which I have shared with you through email.
Let us know if any part is unclear.

Thanks and looking to your reply.

GitHub issue here; you may wish to :bell: Subscribe to it.

2 Likes

Good news, we reverted a change which apparently did do the trick. There is no full SDK release yet, however we have nightly releases of the maven dependencies. Therefor please try out version 2.2.0-snapshot.20220427.9808.0.f0303b69 as value for ${daml-sdk.version}.

1 Like