Summary
This is a maintenance release that addresses several issues.
What’s New
There are several improvements and bug fixes in this release.
Improved observability of ledger streams
The observability of the streams served over the ledger api has been improved in both logging and metrics.
- Most operations related to streams lifetime are now logged at debug level rather then trace.
- Metrics reporting number of active streams metrics.daml.lapi.streams.active are now collected always, independently of the rate limiting settings.
Setting database connection pool sizes explicitly
The sizes of the connection pools used for interactions with the database storages inside the
canton nodes are determined using a formula described in the max connection settings documentation. In some situations it may be useful to provide different values. So, the values can now be manually specified using the configuration settings for the read, write and ledger-api connection pools:
sizes:canton.participants.participant.storage.parameters.connection-allocation.num-reads
canton.participants.participant.storage.parameters.connection-allocation.num-writes
canton.participants.participant.storage.parameters.connection-allocation.num-ledger-api
Similar parameters exist also for other canton nodes: types:canton.sequencers.sequencer.storage.parameters.connection-allocation...
canton.mediators.mediator.storage.parameters.connection-allocation...
canton.domain-managers.domain_manager.storage.parameters.connection-allocation...
The effective connection pool sizes are reported by the canton nodes at start-up log entry:
INFO c.d.c.r.DbStorageMulti$:participant=participant_b - Creating storage, num-reads: 5, num-writes: 4
Increase the number of parties supported
Increased party scaling.
Error handling after mediator HA failover
In a rare situation, when a mediator node went through an HA failover transition it could get into a stuck state if it also encountered a benign DB transient error at the same time. This has been fixed.
Database connection error during validity check
Canton periodically checks the validity and health of its connection to the database. Those checks were previously competing with other database queries, sometimes leading to contention which would generate a warning but would not have any material impact. This contention no longer occurs.
Installation or Download
The Daml 2.7.6 SDK has been released. You can install it using the command: daml install 2.7.6.
The table below lists how you can download Daml Enterprise or individual components.
Daml Enterprise v2.7.6
|
Component
|
File download
|
Docker Image
|
SDK
|
Linux macOS Windows
|
digitalasset/daml-sdk:2.7.6
|
Canton for Daml Enterprise
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/canton-enterprise:2.7.6
|
Daml Finance
|
GitHub Page
|
N/A
|
HTTP JSON API Service
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/http-json:2.7.6
|
Trigger Service
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/trigger-service:2.7.6
|
OAuth 2.0 middleware (Open-Source)
|
GitHub Page
|
digitalasset-docker.jfrog.io/oauth2-middleware:2.7.6
|
Participant Query Store
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/participant-query-store:0.0.2-main.20231102.168.5111.va42f060
|
Trigger Runner
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/trigger-runner:2.7.6
|
Daml Script
|
Standalone JAR file
|
digitalasset-docker.jfrog.io/daml-script:2.7.6
|
If you are using Oracle JVM and testing security provider signatures, you should note that the provided Canton JAR file embeds the BouncyCastle Provider as a dependency. To enable the JVM to verify the signature, you need to 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.7.6-all.jar com.digitalasset.canton.CantonEnterpriseApp
Note: These Docker images are designed to be minimal in size and attack surface, and are thus suitable for production use. 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.7.6-debug).