* Set supported jdbc driver names at compile time
This is mainly to unblock the work on Oracle support in the Ledger API
but I think it’s a sensible thing in general. For the Ledger API,
moving the dependency to the top-level is apparently rather
tricky. Because the SDK bundles everything into a single megajar,
Sandbox depending on the oracle library does also result in the JSON
API and the trigger service will also have the oracle library in scope
and will support Oracle in CE which they should not.
This PR simply hardcodes the list of supported drivers to address
that. Not pretty but does the job.
changelog_begin
changelog_end
* format
* Address review comments
changelog_begin
changelog_end
More dummy participant components, shared across the non-repudiation sub-tree.
These will also be used in client bindings tests.
changelog_begin
changelog_end
improve previous generalization from #8695
- use lf version instead keyword (like 'stable', 'latest', 'dev') to
tag actual target. This will allow two keywords to map to the same
versions without doing twice the compilation/test work.
- use alias to map keywords tag target to versioned tag target.
- move package manage dar to test_commong.
CHANGELOG_BEGIN
CHANGELOG_END
* Port Ledger API Test Tool to Scala 2.13
And with that we’re finally at //... building on Scala 2.13.
changelog_begin
changelog_end
* Fix build on 2.12
changelog_begin
changelog_end
* Fix kvutils export on 2.13
changelog_begin
changelog_end
Tests are still missing and blocked on #8821.
The main change here is the switch from `ArraySeq[Byte]` to
`ArraySeq.ofByte`. `ArraySeq` allows for boxed and unboxed
representaitons. That means that `ArraySeq[Byte]unsafeArray` does not always return
an Array[Byte] (boxed version would be Array[AnyRef]).
Apparently collection-compat has taken the yolo approach and pretends
it can give you an Array[Byte] anyway 🤷 Scala 2.13 on the other
hand, does things properly in this regard which means the code relying
on `unsafeArray` fails to compile.
`ArraySeq.ofByte` is the specialized unboxed version where none of
this is an issue on both 2.13 and 2.12.
changelog_begin
changelog_end
* Add first metrics to non-repudiation proxy
changelog_begin
changelog_end
Contributes to https://github.com/digital-asset/daml/issues/8635
Add a few key metrics for the non-repudiation proxy, with more to follow,
in particular keeping track of the performance overhead associated with
accessing the underlying database.
All metrics can be seen in com.daml.nonrepudiation.Metrics
Running the conformance tests successfully shows a summary of those
metrics with the expected period (five seconds).
* Address https://github.com/digital-asset/daml/pull/8766#discussion_r575044128
The deduplication time was hard-coded to 3 seconds, which can be too
short for some ledgers; the command may have expired by the time it gets
to the commit stage.
In order to avoid spurious errors, this multiplies the deduplication
time by the timeout scale factor, allowing the ledger operator to
control the deduplication timeouts in the same way as all test timeouts.
CHANGELOG_BEGIN
- [Ledger API Test Tool] The CommandDeduplicationIT now sets the
deduplication timeout on commands using the parameter passed to
`--timeout-scale-factor`, allowing it to run on ledger configurations
that require more than 3 seconds to commit a submission.
CHANGELOG_END
Adds a timestamp when a payload signature has been verified.
This ensures that multiple commands sharing the same identifier can still be
told apart thanks to the signature.
changelog_begin
changelog_end
* Review signed payload repository
A few improvements made as part of https://github.com/digital-asset/daml/issues/8634.
- revised signed payload repository to hold more relevant data on the signed payload
- more specific types when handling bytes and strings
changelog_begin
changelog_end
* Limit access of proxy to signed payload repository
* Address https://github.com/digital-asset/daml/pull/8709#discussion_r568395864
* Remove unused type parameter from NonRepudiationProxy.owner method