Releases: digital-asset/canton
canton v2.7.1
Update 2023-08-22.23 (#108) Reference commit: 664f3341a2 Co-authored-by: Canton <canton@digitalasset.com>
canton v2.7.1-rc1
Release candidates such as 2.7.1-rc1 don't come with release notes
canton v2.7.0
Update 2023-08-08.23 (#106) Reference commit: f6ef202479 Co-authored-by: Canton <canton@digitalasset.com>
canton v2.7.0-rc3
Release candidates such as 2.7.0-rc3 don't come with release notes
canton v2.7.0-rc2
Release candidates such as 2.7.0-rc2 don't come with release notes
canton v2.3.15
Release of Canton 2.3.15
Canton 2.3.15 has been released on July 29, 2023. You can download the Daml Open Source edition from the Daml Connect Github Release Section. The Enterprise edition is available on Artifactory.
Please also consult the full documentation of this release.
Summary
This is a maintenance release of Canton. We recommend users to upgrade to this version in order
to ensure that a participant node does not disconnect from a domain unexpectedly.
Bugfixes
Fixed a bug that disconnects a participant from a domain unexpectedly
Description
: When a participant disconnects and reconnects to a domain without a restart and then experiences a database error for one particular database operation it will disconnect the participant from the domain unexpectedly.
Affected deployments
: All deployments
Affected versions
: Canton v2.1 and later.
Impact
: The participant will disconnect from the domain unexpectedly.
Symptom
: The participant will disconnect with an error SYNC_SERVICE_DOMAIN_DISCONNECTED
due to an ApplicationHandlerException
.
Workaround
: Restart the participant node.
Likelihood of the bug
: The bug occurs only when a participant disconnects and reconnects to a domain without restart and hits a database error for one particular database operation.
Recommendation
: Upgrade the participants to a Canton version with the bug fix and restart the node.
Compatibility
The following Canton protocol and Ethereum sequencer contract versions are supported:
Dependency | Version |
---|---|
Canton protocol versions | 2.0.0, 3.0.0 |
Ethereum contract versions | 1.0.0, 1.0.1 |
Canton has been tested against the following versions of its dependencies:
Dependency | Version |
---|---|
Java Runtime | OpenJDK 64-Bit Server VM 18.9 (build 11.0.16+8, mixed mode, sharing) |
Postgres | postgres (PostgreSQL) 14.8 (Debian 14.8-1.pgdg120+1) |
Oracle | 19.15.0 |
Besu | besu/v21.10.9/linux-x86_64/openjdk-java-11 |
Fabric | 2.2.2 |
canton v2.7.0-rc1
Release candidates such as 2.7.0-rc1 don't come with release notes
canton v2.3.14
Release of Canton 2.3.14
Canton 2.3.14 has been released on July 12, 2023. You can download the Daml Open Source edition from the Daml Connect Github Release Section. The Enterprise edition is available on Artifactory.
Please also consult the full documentation of this release.
Summary
This is a maintenance release of Canton. We recommend users to upgrade to this version in order
to ensure that the repair service remains functional for disaster recovery.
Bugfixes
Another instance of the bug Crash recovery bug in request counter allocator for repair requests
We fixed another instance of the bug "Crash recovery bug in request counter allocator for repair requests"
mentioned in the release notes for 2.3.13. The same description applies.
Fixed a bug preventing creation of transactions with a large number of sibling nodes.
Description
: When submitting a transaction with a large number of sibling nodes, Canton would crash with a stack overflow exception.
Affected deployments
: All deployments
Affected versions
: Canton < 2.3.14, 2.4, 2.5 (all patched), not present in 2.6
Impact
: The participant will crash upon attempting to create a transaction with a large number of sibling nodes.
Symptom
: The JVM process will crash with java.lang.StackOverflowError: null
Workaround
: Increase the stack-size of all participant nodes using the JVM parameter -Xss4m
.
Likelihood of the bug
: The bug occurs deterministically if a large transaction with many sibling nodes is submitted.
Recommendation
: Upgrade the participants to a Canton version with the bug fix and restart the node.
Compatibility
The following Canton protocol and Ethereum sequencer contract versions are supported:
Dependency | Version |
---|---|
Canton protocol versions | 2.0.0, 3.0.0 |
Ethereum contract versions | 1.0.0, 1.0.1 |
Canton has been tested against the following versions of its dependencies:
Dependency | Version |
---|---|
Java Runtime | OpenJDK 64-Bit Server VM 18.9 (build 11.0.16+8, mixed mode, sharing) |
Postgres | postgres (PostgreSQL) 14.8 (Debian 14.8-1.pgdg120+1) |
Oracle | 19.15.0 |
Besu | besu/v21.10.9/linux-x86_64/openjdk-java-11 |
Fabric | 2.2.2 |
canton v2.6.5
Release of Canton 2.6.5
Canton 2.6.5 has been released on June 19, 2023. You can download the Daml Open Source edition from the Daml Connect Github Release Section. The Enterprise edition is available on Artifactory.
Please also consult the full documentation of this release.
Summary
This is a maintenance release addressing issues in the Canton participant.
What’s New
Bugfixes
Crash recovery bug in request counter allocator for repair requests
Description
: When using the repair service of a participant, the participant may fail to reconnect to the domains affected by the repairs.
Affected deployments
: All deployments
Affected versions
: All currently released enterprise versions of Canton.
Impact
: The participant cannot connect to the affected domain any more.
Symptom
: The participant log file contains an ERROR
message of the form
An internal error has occurred. java.lang.IllegalArgumentException: Cannot skip request counter ... other than the next request counter ...
Workaround
: Upgrading to a Canton version with the released bug fix should resolve the problem.
Likelihood of the bug
: The bug can occur only if the repair service is used on a participant.
The repair service is internally used by the party migration console macros, for example.
Recommendation
: Upgrade the participant to a Canton version with the bug fix and restart the node.
Crash recovery bug in ACS commitment processing
Description
: A participant may fail to reconnect to a domain and the reconnect attempt seems stuck.
Affected deployments
: All deployments
Affected versions
: All currently released enterprise versions of Canton.
Impact
: The participant cannot connect to a domain any more.
Symptom
: No error is logged in the participants log file, but the reconnect command will appear to be stuck.
Workaround
: Upgrading to a Canton version with the released bug fix should resolve the problem.
Likelihood of the bug
: The bug occurs only for a particular order of events that are processed during the reconnect of a participant to a domain.
Not all participant nodes may be affected for the same domain.
Recommendation
: Upgrade the participant to a Canton version with the bug fix and restart the node.
Other Bugfixes
- We fixed a race condition during initialization of a participant node that could result in it failing to transition to an active state.
- Fixed missing support for domain nodes for http health check monitoring
- We fixed a regression introduced in 2.6.4 where under very high load, in rare circumstances, a participant would block in-definitively when trying to disconnect from a sync domain or shutdown a participant.
In this case, a message similar to "WARN: Closing 'SyncDomain(...)' failed" will appear. The scenario can be recovered by killing and restarting the process. - We fixed a resource consumption issue within the participant: The Daml engine will cache packages
once they are loaded. However, any concurrent interpretation will keep on requesting the package
from the database, leading to the situation where the same package is loaded many times.
Problem can be compounded if the participant starts with a large load immediately after restart.
Eventually, this can lead to out of memory issues due to the temporary memory consumption spike in systems without generously
provisioned resources. A temporary work-around is to trigger preloading of the package cache before
reconnecting to a domain by submitting acreate
command (ideally an invalid one to avoid writing)
to the ledger by accident.
Compatibility
The following Canton protocol and Ethereum sequencer contract versions are supported:
Dependency | Version |
---|---|
Canton protocol versions | 3, 4 |
Ethereum contract versions | ETHEREUM_CONTRACT_VERSIONS |
Canton has been tested against the following versions of its dependencies:
Dependency | Version |
---|---|
Java Runtime | OpenJDK 64-Bit Server VM Zulu11.62+17-CA (build 11.0.18+10-LTS, mixed mode) |
Postgres | postgres (PostgreSQL) 14.8 (Debian 14.8-1.pgdg120+1) |
Oracle | 19.15.0 |
Besu | besu/v22.1.3/linux-x86_64/openjdk-java-11 |
Fabric | 2.2.2 |
canton v2.3.13
Release of Canton 2.3.13
Canton 2.3.13 has been released on June 15, 2023. You can download the Daml Open Source edition from the Daml Connect Github Release Section. The Enterprise edition is available on Artifactory.
Please also consult the full documentation of this release.
Summary
This is a bugfix only release of Canton with two improvements in the crash recovery of a participant node.
What’s New
Bugfixes
Crash recovery bug in request counter allocator for repair requests
Description
: When using the repair service of a participant, the participant may fail to reconnect to the domains affected by the repairs.
Affected deployments
: All deployments
Affected versions
: All currently released enterprise versions of Canton.
Impact
: The participant cannot connect to the affected domain any more.
Symptom
: The participant log file contains an ERROR
message of the form
An internal error has occurred. java.lang.IllegalArgumentException: Cannot skip request counter ... other than the next request counter ...
Workaround
: Upgrading to a Canton version with the released bug fix should resolve the problem.
Likelihood of the bug
: The bug can occur only if the repair service is used on a participant.
The repair service is internally used by the party migration console macros, for example.
Recommendation
: Upgrade the participant to a Canton version with the bug fix and restart the node.
Crash recovery bug in ACS commitment processing
Description
: A participant may fail to reconnect to a domain and the reconnect attempt seems stuck.
Affected deployments
: All deployments
Affected versions
: All currently released enterprise versions of Canton.
Impact
: The participant cannot connect to a domain any more.
Symptom
: No error is logged in the participants log file, but the reconnect command will appear to be stuck.
Workaround
: Upgrading to a Canton version with the released bug fix should resolve the problem.
Likelihood of the bug
: The bug occurs only for a particular order of events that are processed during the reconnect of a participant to a domain.
Not all participant nodes may be affected for the same domain.
Recommendation
: Upgrade the participant to a Canton version with the bug fix and restart the node.
Compatibility
The following Canton protocol and Ethereum sequencer contract versions are supported:
Dependency | Version |
---|---|
Canton protocol versions | 2.0.0, 3.0.0 |
Ethereum contract versions | 1.0.0, 1.0.1 |
Canton has been tested against the following versions of its dependencies:
Dependency | Version |
---|---|
Java Runtime | OpenJDK 64-Bit Server VM 18.9 (build 11.0.16+8, mixed mode, sharing) |
Postgres | postgres (PostgreSQL) 14.8 (Debian 14.8-1.pgdg120+1) |
Oracle | 19.15.0 |
Besu | besu/v21.10.9/linux-x86_64/openjdk-java-11 |
Fabric | 2.2.2 |