Changes on 1.17.0 (submission_id and deduplication_duration )

I notices that there are some changes on 1.17.0 such as adding new field submission_id and rename deduplication_duration. Where can I see them in Java Ledger API library? I upgrade my daml java lib to 1.17.1 and only notice that Record is now DamlRecord. The CommandSubmissionService and CommandService are still the same.

1 Like

The Java bindings have not been updated yet to reflect this change.

We just added a ticket to track this, thanks for the report.

1 Like

There is an open PR to fix this. It does add access to the submission identifier but does not use the new name of the deduplication time field in order to not break existing code. Note that at the current status deduplication_time and deduplication_duration are simply aliases, precisely to not break backward compatibility, so using the new name doesn’t buy you anything.

2 Likes

Hi guys, I see the PR was merged, but still the rxjava package doesn’t refer to submission ID as far as I can tell. Is there a plan to add support within the rxjava interfaces?

The submission ID is available from 1.18.0 (you can see it in the JavaDoc for both SubmitRequest and SubmitAndWaitRequest). I checked 2.0.0 and 2.3.2 and they both have the field. Not sure why you can’t see it.

1 Like

Yes I see it on those classes, however I am interested in the rxjava part of the library – for example, the CommandClient . There doesn’t seem to be a way to pass the submission ID through those rxjava interfaces.

1 Like

You are 100% right, thanks for raising this and apologies for the delayed reply. I’ll raise this with the team. As you can tell, the addition of an optional submission ID could make the API a bit verbose. We’re thinking of the idea of proposing an alternative API that uses some kind of submission request type and offers a builder to make it easier to create a valid request. Any opinions in this regard?

The builder request type could be quite helpful. The large number of overloaded submit* methods is getting a bit unwieldy, and many of them have a long list of arguments. The builder could help to make calls to these methods more understandable.