Release of Daml 2.8.9
Summary
This is a maintenance release that addresses several issues.
What’s New
- A participant node that is using an Oracle synchronizer database can, in the very rare circumstances of an extremely large transaction, fail and the return code was not properly propagated to indicate that failure.
- If a transaction with a very large number of key updates is submitted to the participant, the SQL query to update the contract keys table will fail, leading to a database retry loop, stopping transaction processing. The issue is caused by a limit of 32k rows in a prepared statement in the JDBC Postgres driver. This has been resolved.
-
When a command is rejected due to resource conflict (e.g. usage of an inactive contract),
every participant detecting the resource conflict will now log the resource causing the conflict at INFO level. This change affects the following error codes:
LOCAL_VERDICT_LOCKED_CONTRACTS, LOCAL_VERDICT_LOCKED_KEYS, LOCAL_VERDICT_INACTIVE_CONTRACTS,
LOCAL_VERDICT_DUPLICATE_KEY, LOCAL_VERDICT_INCONSISTENT_KEY, LOCAL_VERDICT_CREATES_EXISTING_CONTRACTS.
Download and Installation
The Daml 2.8.9 SDK has been released. You can install it using the command: daml install 2.8.9.
The table below lists how you can download Daml Enterprise or individual components.
Daml Enterprise v2.8.9 |
||
Component |
File download |
Container Image |
SDK |
NA |
|
Canton for Daml Enterprise |
digitalasset-docker.jfrog.io/canton-enterprise:2.8.9 |
|
Daml Finance |
NA |
|
HTTP JSON API Service |
digitalasset-docker.jfrog.io/http-json:2.8.9 |
|
Trigger Service |
digitalasset-docker.jfrog.io/trigger-service:2.8.9 |
|
OAuth 2.0 middleware (Open-Source) |
digitalasset-docker.jfrog.io/oauth2-middleware:2.8.9 |
|
Participant Query Store |
digitalasset-docker.jfrog.io/participant-query-store:0.3.4 |
|
Trigger Runner |
digitalasset-docker.jfrog.io/trigger-runner:2.8.9 |
|
Daml Script |
digitalasset-docker.jfrog.io/daml-script:2.8.9 |
If you are using Oracle JVM and testing security provider signatures, note that the Canton JAR file embeds the Bouncy Castle provider as a dependency. To enable the JVM to verify the signature, put the bcprov JAR on the classpath before the Canton standalone JAR. For example:
java -cp bcprov-jdk15on-1.70.jar:canton-with-drivers-2.8.9-all.jar com.digitalasset.canton.CantonEnterpriseApp
Note: These Docker images are designed to be suitable for production use, with minimal size and attack surface. Minimal images can sometimes make debugging difficult (e.g. no shell in the containers). For convenience, we provide “debug” versions of each of the above images, which you can access by appending “-debug” to the image tag (e.g. digitalasset-docker.jfrog.io/http-json:2.8.9-debug).