* bump canton to 20220617
CHANGELOG_BEGIN
CHANGELOG_END
* activate conformance test for regression test for exceptions
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
Co-authored-by: Remy Haemmerle <Remy.Haemmerle@daml.com>
* Add missing activeness check when reading from globalKeyInputs
changelog_begin
- Engine. Fix lookup by key. See issue Lookup archived contracts may succeed when combined with rollback exceptions #14107 for more details.
changelog_end
Fixes Index DB insertion order for childEventId.
Adds backwards compatibility treatment: recovering childEventId
order from the order of events at API stream rendering.
Extends TransactionServiceVisibilityIT with the ordering criterion.
Fixes compatibility tests with exclusion.
Adds documentation to event.proto.
CHANGELOG_BEGIN
Fixing Ledger API Bug: Exercise nodes in transaction trees
have child_event_ids out of order.
CHANGELOG_END
* ledger-api-test-tool: Remove MonotonicRecordTimeIT.
This only makes sense for KV ledgers; they can implement it themselves
now.
CHANGELOG_BEGIN
- [Ledger API Test Tool] The optional ``MonotonicRecordTimeIT`` test
suite has been removed as it doesn't apply to most ledgers. If it is
necessary, ledger driver implementors are encouraged to write their
own and/or copy it from the last published version.
CHANGELOG_END
* ledger-api-test-tool-on-canton: Forget about MonotonicRecordTimeIT.
* Canton test removal of pruning conformance test
changelog_begin
changelog_end
* Fixup tests so that they appear in the same order as in the canton repo
* Move //ledger/ledger-api-test-tool to //ledger/ledger-api-tests/tool.
And conformance.bzl to //ledger/ledger-api-tests.
* Move test tool infra to //ledger/ledger-api-tests/infrastructure.
* Split the ledger API test tool into smaller libraries.
There is no change to behavior.
CHANGELOG_BEGIN
CHANGELOG_END
* ledger-api-tests: Encapsulate performance tests.
* ledger-api-tests: Extract a "runner" library.
* ledger-api-tests: Publish libraries to Maven Central.
* ledger-api-tests: Fix Scaladoc so it compiles correctly.
Unfortunately I had to remove some Scaladoc in ActiveContractsServiceIT
which is incorrectly interpreted as not being attached to anything.
Fortunately, it's not actually that helpful.
* compatibility: Fix paths to the Ledger API Test Tool.
* Fix release types for ledger API test libraries.
* test-common: Publish generated Scala.
These libraries are dependencies of the ledger API tests components.
* ledger-api-tests: Use "com.daml" as the group ID everywhere.
* ledger-api-tests: Check that tests in `--additional` are valid.
* compatibility: Fix a reference to ledger-api-test-tool I missed.
* Bump Canton and reenable tests
fixes#12808
changelog_begin
changelog_end
* display names are no longer defaulted
changelog_begin
changelog_end
* topology-change-delay is redundant
changelog_begin
changelog_end
* Switch away from grpcurl
changelog_begin
changelog_end
* try to fix canton conformance tests
changelog_begin
changelog_end
* that’s not how you scala
changelog_begin
changelog_end
* SandboxNextFixture replaced by Sandbox-on-X based SandboxFixture
changelog_begin
changelog_end
* Some fixed tests
* No direct dependencies on //ledger/sandbox:sandbox and //ledger/sandbox:sandbox-scala-tests-lib
* Fix after rebase
* Rename SandboxFixture and add a missing dep
* Generate valid party names if hint is empty
* Smaller maxInboundMessageSize
* Added test for empty display name
* SandboxServer is a ResourceOwner
* Uses execution context passed as an input for resource management
* Fixes flaky FlywayMigrations issue with null Thread.currentThread.currentClassLoader
* SandboxServer simplification returns Port instead of ApiServer
* Dedicated PMAllocateWithoutDisplayName for non-Canton ledgers
* Created since Canton does not return empty display names
* Fix error codes for V1 cid rejections
Those still fail in preprocessing and not in parsing so they need to
keep the old error codes.
changelog_begin
changelog_end
* Enable accidentially disabled ContractIdIT suite against canton
* fmt
changelog_begin
changelog_end
Co-authored-by: Oliver Seeliger <oliver.seeliger@digitalasset.com>
* ledger-api-test-tool: Enable command deduplication tests by default.
CHANGELOG_BEGIN
- [Ledger API Test Tool] More command deduplication tests have been
enabled by default. This should not affect testing a fully functioning
ledger. If any tests fail, they can be temporarily excluded.
CHANGELOG_END
* Upgrade to the latest Canton snapshot
Nothing super important that we need in there but I’d rather sync more
than less frequently.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* ledger-api-test-tool: Enable `ParticipantPruningIT` for everyone.
CHANGELOG_BEGIN
- [Ledger API Test Tool] The ``ParticipantPruningIT`` test case has
been enabled by default. You may need to disable specific test cases
accordingly.
CHANGELOG_END
run-full-compat: true
* Enable more ParticipantPruningIT tests across the board.
* ledger-api-test-tool: Exclude a multi-participant test by default.
The test, `PRImmediateAndRetroactiveDivulgence`, will now only run if
more than one participant is specified.
* ledger-api-test-tool: Use a `for` comprehension for readability.
Co-authored-by: tudor-da <tudor.voicu@digitalasset.com>
Co-authored-by: tudor-da <tudor.voicu@digitalasset.com>
* ledger-api-test-tool: Enable `MultiPartySubmissionIT` for everyone.
CHANGELOG_BEGIN
- [Ledger API Test Tool] The ``MultiPartySubmissionIT`` test case has
been enabled by default. You will most likely not need to change
anything.
CHANGELOG_END
* ledger-api-test-tool-on-canton: Enable all MultiPartySubmissionIT tests.
* ledger-api-test-tool: Correct MultiPartySubmissionIT for LF v1.8.
* ledger-api-test-tool: Rename "ParticipantFeature" to "Features".
* ledger-api-test-tool: Govern ContractIdIT test runs through a feature.
Rather than making it optional, we can expose a feature that instructs
whether we support certain kinds of contract IDs.
This accidentally works for Canton too as it defaults to "false" for
both options, which holds for Canton.
CHANGELOG_BEGIN
- [Ledger API Test Tool] The "ContractIdIT" test is now run by default,
using ledger feature flags to determine which test cases are run. You
will need to configure the ``StandaloneApiService`` accordingly.
CHANGELOG_END
* ledger-api: Add some documentation to `ContractIdFeatures`.
* compatibility: Update for ContractIdIT.
run-full-compat: true
* ledger-api: Clarify the contract ID features and remove v0 support.
We also remove the tests for v0 contract IDs from ContractIdIT.
* ledger-api-test-tool: Re-introduce tests for v0 contract IDs.
* ledger-api-test-tool: Case class with named parameters in ContractIdIT.
* ledger-api: All ledgers must support suffixed contract IDs.
* compatibilty: Add a start for ContractIdIT.
We can't exclude a test until it exists.
run-full-compat: true
changelog_begin
[ledger-api-test-tool] - Merge command deduplication ledger API tests (`KVCommandDeduplicationIT`, `CommandDeduplicationIT`) into a single suite(`CommandDeduplicationIT`) which uses feature descriptors to handle different participant behaviors
changelog_end
* Bump Canton snapshot
This bumps to the latest snapshot which should include support for
port files.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Somewhat error-prone, so please review carefully.
Reasons we need this:
- Some file types are not properly handled by the script.
- The only exclusion mechanism we currently have (`NO_AUTO_COPYRIGHT`)
is overly coarse.
CHANGELOG_BEGIN
CHANGELOG_END
New year, new copyright, new expected unknown issues with various files
that won't be covered by the script and/or will be but shouldn't change.
I'll do the details on Jan 1, but would appreciate this being
preapproved so I can actually get it merged by then.
CHANGELOG_BEGIN
CHANGELOG_END
* [Self-service error codes] Enabled by default
* Flag changed to `use-pre-1.18-error-codes` (disabled by default)
CHANGELOG_BEGIN
[Ledger API Specification] The Ledger API returns enriched error codes (see https://docs.daml.com/error-codes/self-service/index.html)
For backwards-compatibility, a new API flag `--use-pre-1.18-error-codes` is introduced for preserving the legacy behavior for
clients that want to migrate incrementally to the changed gRPC status code responses and error details format.
CHANGELOG_END
* Adapted HttpServiceIntegrationTest
* Renamed `Feature Flag` to `Configuration` in docs
* Fix Daml Script tests
changelog_begin
changelog_end
* Fix Repl functests
changelog_begin
changelog_end
* Fix haskell binding tests
changelog_begin
changelog_end
* Fix CommandClientIT test
* Fixed Sandbox and CommandServiceBackpressureIT tests
Please enter the commit message for your changes. Lines starting
* Adapt //compiler/damlc/tests:repl-functests again
* Fix more tests and address Miklos' comments
* Flag name changed to `grpc-status-codes-compatibility-mode`
* Remove useless flags sandbox-classic
* Sandbox-classic tests fix for ContractKeysIT and ExceptionsIT
* Created 2 deprecated test suites that have the more generic assertions as returned
by the deprecated in-memory backend
* More fixes for CommandServiceIT
* Fixes compilation issue with the deprecated exceptionsIT class for Sandbox-classic in-memory
* Compatibility mode for old test tools
* Change flag name to `use-pre-1.18-error-codes`
* Apply suggestions from code review
Co-authored-by: Miklos <57664299+miklos-da@users.noreply.github.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
Co-authored-by: Miklos <57664299+miklos-da@users.noreply.github.com>
* Update to Java 11
changelog_begin
changelog_end
* Fix RoundingMode deprecation warnings
* Fix dep-ann warning
* Integer constructor
* JavaX annotation dependency
* javax.xml.bind was removed in Java 11
Using Guava as a replacement, since it is already a project dependency.
* JDK 11 no longer has a separate JRE tree
* Remove unused jdk_nix import
* remove now redundant jdk11_nix
* Java 8 --> 9 increased Instant.now() precision
See https://bugs.openjdk.java.net/browse/JDK-8068730
The precision of `Instant.now()` increased between Java 8 and Java 9.
On Linux and MacOS this doesn't seem to be a problem, as the precision
still seems to be at micro seconds. However, on Windows this now causes
errors of the following form:
```
java.lang.IllegalArgumentException: Conversion of Instant
2021-11-05T13:58:56.726875100Z to microsecond granularity would result
in loss of precision.
```
Suggesting that it now offers sub-microsecond precision.
`TimestampConversion.instantToMicros` had a check to fail if the
conversion lead to a loss of precision. In the specific failing test
case this is not a concern, so this adds a `roundInstantToMicros`
variant that avoids this kind of error.
* TMP round timestamps
* Revert "TMP round timestamps"
This reverts commit af8e261278.
* Skip versions before 1.6.0 in migration tests
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
* Split command deduplication conformance tests into non-kv and kv tests.
Because kv ledgers have both participant and committer side deduplication, the conformance tests have been duplicated into different suited which can target either both deduplications or just participant side deduplication.
CommandDeduplicationIT is a default suite and should be run for ledgers with participant side only deduplication.
KVCommandDeduplicationIT is optional and should be enabled for any KV ledgers.
CHANGELOG_BEGIN
ledger-api-test-tool - CommandDeduplicationIT tests only participant side deduplication, it should be disabled for KV ledgers. Added KVCommandDeduplicationIT which should be run for KV ledgers
CHANGELOG_END
* Run participant side/committer side deduplication tests based on the ledger implementation
* Fix on memory build file
* Daml-on-sql is not a kv ledger so revert the changes so that it runs the default command deduplication IT
* Rollback compat import
* Exclude command dedup from the reference test
* Exclude command deduplication from the reference export
* Format bazel
* Set the exclude to client args for the ledger-api-test-tool and not for the ledger-on-memory
* Exclude CommandDeduplicationIT from non repudiation conformance tests and include KVCommandDeduplicationIT because it runs using sandbox
* Exclude HealthServiceIT from the reference-ledger-export as it has no impact on the export
* Exclude CommandDeduplicationIT from the ledger-on-sql conformance-test as they are KV ledgers
* Format bazel file
* Exclude CommandDeduplicationIT from sandbox
* Apply suggestions from code review
Co-authored-by: fabiotudone-da <fabio.tudone@digitalasset.com>
* Add comments for command deduplication IT
* Rename to be consistent with scala namings
* Update formatting and comments
* Add naming prefix for tests to avoid clashes
Co-authored-by: fabiotudone-da <fabio.tudone@digitalasset.com>
* Hardening ParticipantPruningIT divulgence tests to not flake on canton-enterprise
worked out with @tudor-da
CHANGELOG_BEGIN
CHANGELOG_END
* Also feed other participant events
* Switch canton conformance tests to parallel indexer
* More stability fixes
* Add deduplication and submission id to the proto submitter info so we can build the v2 completion info
* Use v2 rejections and store the enriched model in protobuf
* Update v1 SubmissionResult to v2 SubmissionResult
* Update v1 imports to v2 imports
* Enable API deduplication for ledgers that don't have it implemented yet (all kv)
* Update tests for new rejections
* Disable buf check for oneof
* Code review - fix formatting and test assertions
* Update imports for proto changes
* Add tests for rejection conversions
* Use entry id as submission id when submission id is missing
* Calculate deduplication period for rejection based on the set deduplicate until by calculating the duration relative to record time
* Code review consistent naming and comments
* Submission id is optional in the completion info
the submissionId is not set for participant.state.v1 entries, therefore for the transition from v1 to the v2 API we need to account for the missing submission ids by making it optional in the completion info.
* Update messages and grpc status codes for rejections to keep backward compatibility
* Deprecate proto deduplicate_until
* Set deduplication value in the commit context for all the deduplication periods. This change allows us to re-enable the committer deduplication tests
* Set ledger configuration for tests
* Command dedup: In the committer set the deduplicate until context value based on the given deduplication period [KVL-1049] (#10743)
CHANGELOG_BEGIN
participant-state:
- Migrate to use only v2 Read/Write Services. This includes the use of new models for rejections/updates/submission results.
- Calculate deduplicate until for committer side deduplication based on the submitter given deduplication period
- if using the deprecated deduplicateUntil then just set the given timestamp
- if using duration then calculate the new deduplicateUntil by using the formula (submissionTime + deduplicationDuration + minSkew)
- if using offset deduplication then calculate deduplicateUntil by using the formula (submissionTime + maxDeduplicationDuration + minSkew)
- if the deduplication period is not set then we don't set deduplicateUntil
- Emit completions with status `ALREADY_EXISTS` for duplicate commands
CHANGELOG_END
* Upgrade to a newer canton version (post 0.27.0 snapshot version)
with canton-community configuration that supports higher throughput.
changelog_begin
changelog_end
* Disable flaky reject DeeplyNestedValueIT:Reject tests that time out half the time
* Use `extra` in the port file runner, rather than `temporary`.
* ledger-api-test-tool-on-canton: Use the port check runner.
Much simpler than the port file runner for our purposes.
* Replace `runner` with `runner_with_port_file`.
Rather than expecting a particular set of command-line-arguments, we use
templating.
CHANGELOG_BEGIN
CHANGELOG_END
* Rename the `runner_with_port_check` target to the default.