Commit Graph

856 Commits

Author SHA1 Message Date
Remy
0353408c01
Ledger: Add nodeSeeds and byKeyNodes to participant state (#5602)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-21 19:00:50 +02:00
fabiotudone-da
5210b99531
Remove unused performance test DAML sources (#5652)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-21 17:13:30 +02:00
Stefano Baghino
6f04870e2d
Ensure the contract store deals correctly with divulged transient contracts (#5647)
Fixes #5646

Empty changelog because the bug did not make it into a release.

changelog_begin
changelog_end
2020-04-21 15:02:45 +00:00
Stefano Baghino
bb0e8038cc
Create single-party specialized queries to access events (#5626)
* Create single-party specialized queries to access events

Closes #5620

changelog_begin
changelog_end

* Ensure ordering of events when performing a lookup
2020-04-20 14:10:34 +00:00
Stefano Baghino
ec4c86d856
Clean up events table (#5622)
- removes unused `is_root` column, closes #5618
- merges `template_package_id` and `template_name` in `template_id`, closes #5619

changelog_begin
[Ledger API] clean up of the participant index, improved performance when requesting transactions by template
changelog_end
2020-04-20 11:39:03 +02:00
Stefano Baghino
f81efb3d9d
Add new participant schema contracts table (#5541)
* Add new participant schema contracts table

- full implementation (both read and write path)
- fixes #5514

changelog_begin
[Ledger API Server] Fixed a bug that prevented validating transactions
containing reference to contracts that did not originate on the local
participant. See `issue #5514 <https://github.com/digital-asset/daml/issues/5514>`_.
changelog_end

* Format fixes and addressing comments

- address https://github.com/digital-asset/daml/pull/5541#discussion_r408806775
- address https://github.com/digital-asset/daml/pull/5541#discussion_r408806964
- address https://github.com/digital-asset/daml/pull/5541#discussion_r408812745

* Address https://github.com/digital-asset/daml/pull/5541#discussion_r408815185

* Address https://github.com/digital-asset/daml/pull/5541#discussion_r408813067

* Fix mistake in comment

* Apply suggestions from code review

Co-Authored-By: Gerolf Seitz <gerolf.seitz@daml.com>

* Fix compilation error

* Add data migration

Tested by https://github.com/stefanobaghino-da/test-5541-data-migration

* Address https://github.com/digital-asset/daml/pull/5541#discussion_r409386378

* Address https://github.com/digital-asset/daml/pull/5541#discussion_r409385174

* Address https://github.com/digital-asset/daml/pull/5541#discussion_r409367606

* Simplify migration

* Address review

- address https://github.com/digital-asset/daml/pull/5541#discussion_r410344423
- address https://github.com/digital-asset/daml/pull/5541#discussion_r410339914

* Update ledger/sandbox/src/main/resources/db/migration/postgres/V26_0__Contracts_new_schema.sql

Co-Authored-By: Gerolf Seitz <gerolf.seitz@daml.com>

* Fix migration for privacy-aware ledgers

* Remove leftover query

* Fix migration hashes

Co-authored-by: Gerolf Seitz <gerolf.seitz@daml.com>
2020-04-17 20:07:20 +00:00
Samir Talwar
7d094fac2b
kvutils: Don't report ledger metrics by default. (#5604)
Instead, opt-in explicitly in _ledger-on-memory_ and _ledger-on-sql_.

Wrapping the operations can confuse other users of `LedgerStateAccess`.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-17 14:16:02 +00:00
Remy
a178e3e3e9
DAML-LF: remove seed from node, move it to transaction meta data. (#5570)
* DAML-LF: remove seed from node, move it to transaction meta data.

+ redesign seeding to validate partial transaction.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-17 11:02:11 +02:00
Samir Talwar
21ee16623e
sandbox: Revert execution metric paths. (#5588)
Some customers rely on these.

CHANGELOG_BEGIN
- [Ledger API Server] Moved the ``daml.commands.execution`` back to
  ``daml.execution``.
CHANGELOG_END
2020-04-16 18:30:29 +00:00
Samir Talwar
e854191586
kvutils: Add a timing metric for the commit. (#5589)
CHANGELOG_BEGIN
- [Ledger Integration Kit] Added a timing metric for the commit at
  ``daml.kvutils.writer.commit``.
CHANGELOG_END
2020-04-16 18:30:09 +00:00
Samir Talwar
6a1b8a337f
ledger-api-common: Add a metric for command validation upon submission. (#5585)
* ledger-api-common: Add a metric for command submission validation.

CHANGELOG_BEGIN
- [Ledger API Server] Add a metric for command validation upon
  submission, ``daml.commands.validation``.
CHANGELOG_END

* ledger-api-common: Move the submissions metric from sandbox.
2020-04-16 16:46:16 +00:00
Samir Talwar
02eadf68c8
sandbox: Moar command submission metrics. (#5583)
* sandbox: Add a test for MetricsInterceptor for non-streaming endpoints.

* sandbox: Simplify MetricsInterceptor by overriding `ServerCall`.

* sandbox: Time all submissions, not just through the submission service.

* sandbox: Don't bother timing transaction submissions twice.

They're already timed by TimedWriteService.

* sandbox: Move command submission metrics to "daml.commands".

CHANGELOG_BEGIN
- [Ledger API Server] A number of command submission metrics have moved,
  and we have added a couple.
  - ``daml.commands.submissions`` is a new timer that measures all
    submissions.
  - ``daml.commands.valid_submissions`` is a new meter that counts
    valid (unique, interpretable) submissions.
  - ``daml.lapi.command_submission_service.failed_command_interpretations``
    has been moved to ``daml.commands.failed_command_interpretations``.
  - ``daml.lapi.command_submission_service.deduplicated_commands`` has
    been moved to ``daml.commands.deduplicated_commands``.
  - ``daml.lapi.command_submission_service.delayed_submissions`` has
    been moved to ``daml.commands.delayed_submissions``.
  - ``daml.lapi.command_submission_service.submitted_transactions`` has
    been moved to ``daml.services.write.submit_transaction``.
  - All ``daml.execution.*`` metrics have moved to
    ``daml.commands.execution``.
CHANGELOG_END

* metrics: Update the dashboard to include the new command metrics.
2020-04-16 15:20:39 +00:00
Remy
9704a39bae
Engine: refactor PartialTransaction context (#5578)
* Engine: refactor PartialTransaction context

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-16 14:39:12 +02:00
Robert Autenrieth
fe29cfbbb9
Delay submissions of transactions with future time (#5556)
* Add time provider type to ledger API server

Static time sometimes needs special treatment

* Delay submissions of transactions with future time

Fixes #5480.

CHANGELOG_BEGIN
- [Sandbox] The sandbox now properly delays command submissions using
   minLedgerTimeAbs or minLedgerTimeRel. See
  `issue #5480 <https://github.com/digital-asset/daml/issues/5480>`_.
CHANGELOG_END
2020-04-16 13:20:11 +02:00
Samir Talwar
9186f5ccb6
kvutils | ledger-on-(memory|sql): Read metrics. (#5576)
* ledger-on-memory: Add metrics to the operations.

* ledger-on-memory: Speed up reads by using views.

* kvutils: Time event processing.

* ledger-on-(memory|sql): Make classes private and final where possible.

* kvutils: Factor out a TimedLedgerStateOperations class.

CHANGELOG_BEGIN
- [Ledger Integration Kit] Report timing metrics for ledger state
  operations.
CHANGELOG_END

* ledger-on-sql: Record log read metrics.

* ledger-on-sql: Record database transaction timing metrics.

CHANGELOG_BEGIN
- [Sandbox] Record ledger database timing metrics under "daml.ledger".
CHANGELOG_END

* ledger-on-sql: Time queries.

* metrics: Add graphs for read events and DAML-on-SQL.

* ledger-on-memory: Simplify the tuple swap in reading the log.

Co-Authored-By: Miklos <57664299+miklos-da@users.noreply.github.com>

Co-authored-by: Miklos <57664299+miklos-da@users.noreply.github.com>
2020-04-16 11:11:06 +00:00
Samir Talwar
5c1c7fe30a
metrics: Collect with Graphite and visualize with Grafana. (#5549)
* Add compose config for grafana/graphite combo

* Add rudimentary readme with instructions

* Add Samir's dashboard

* metrics: Move `metrics/grafana` to `ledger/metrics/collection`.

CHANGELOG_BEGIN
CHANGELOG_END

* metrics/collection: Rename samirs-dashboard to ledger-submissions.

* metrics/collection: Save Graphite data between restarts.

* metrics/collection: Add copyright headers.

Co-authored-by: Vladislav Gangan <vladislav.gangan@digitalasset.com>
2020-04-15 12:28:57 +00:00
Samir Talwar
11606e327e
sandbox: Provide an option to disable implicit party allocation. (#5559)
* sandbox: Construct PartyConfiguration later.

* sandbox: Provide an option to disable implicit party allocation.

CHANGELOG_BEGIN
- [Sandbox] You can now disable implicit party allocation by passing the
  flag, ``--implicit-party-allocation=false``. This makes it easier to
  test as you would against another ledger which does not support this
  feature.
CHANGELOG_END
2020-04-15 11:12:15 +00:00
Samir Talwar
bdb476fff0
ledger/metrics: Move metric helpers to their own Bazel package. (#5542)
* ledger/metrics: Move metric helpers to their own Bazel package.

CHANGELOG_BEGIN
CHANGELOG_END

* sandbox: Use ledger/metrics.

* metrics: Rename `Metrics` to `Timed` and drop the `timed` prefix.

Importing methods is harder than importing objects.

* metrics: Publish to Maven Central.
2020-04-14 12:32:03 +00:00
Gerolf Seitz
000bb046db
Sadbonx: Add migration that backfills the participant_events table (#5528)
We started serving the LedgerAPI from the new schema in #5104, #5305, #5346,
and #5397.

We must therefore also add a migration that moves the data from
ledger_entries to the new tables.

To keep the migration relatively stable with respect to refactoring the
code, I copied a bunch of files to
`db.migration.postgres.v25_backfill_participant_events`.

As a bonus, I added a line to logback.xml so that we get the usual
sandbox output on startup.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-11 09:07:48 +00:00
Stefano Baghino
19b3d1a02b
Revert participant_contracts write path (#5535)
changelog_begin
changelog_end
2020-04-11 10:00:27 +02:00
Stefano Baghino
21037bfd39
participant_contracts write path (#5522)
* participant_contracts write path

Writes contracts alongside events for interpretation and validation.

changelog_begin
changelog_end

* Fix self-referencing foreign key

* Address https://github.com/digital-asset/daml/pull/5522#discussion_r406289145

* Compute divulgence only if necessary

* Do not attempt at persisting witnesses for transient contracts

* Drop new tables when resetting
2020-04-09 19:33:46 +00:00
Samir Talwar
f84abc01a2
sandbox: Time command execution. (#5521)
* sandbox: Time command execution.

* sandbox: Tiny cleanups in StoreBackedCommandExecutor.

* sandbox: Add metrics for fetching within execution.

CHANGELOG_BEGIN
- [Ledger API Server] Add metrics under "daml.execution" to measure
  command execution time, and fetching within command execution.
CHANGELOG_END

* sandbox: Revert the ApiSubmissionService metric prefix.

It can be private again.

* sandbox: Record a mark on a meter on command execution retries.
2020-04-09 16:41:55 +00:00
Stefano Baghino
2d82451c99
Refactor witnesses table class (#5516)
- removes unnecessary reference to offsets
- pushes event identifier translation out to enable code re-use
- event identifier translation is inline in other iterations, no significant perf degradation
- this will allow to share code between event and contract witness table objects

changelog_begin
changelog_end
2020-04-09 13:02:48 +00:00
Samir Talwar
bb362ce67f
sandbox: Remove ErrorCause.Sequencer. (#5515)
* sandbox: Remove `ErrorCause.Sequencer`.

It doesn't seem to be constructed anywhere.

Feel free to close this if it's used outside the repository.

CHANGELOG_BEGIN
CHANGELOG_END

* sandbox: Don't deconstruct when we can check types in a pattern match.
2020-04-09 11:47:13 +00:00
Samir Talwar
64ae70614a
sandbox: Refactor command execution. (#5513)
* sandbox: Move command execution into its own package.

* sandbox: Make LedgerTimeHelper into a CommandExecutor implementation.

CHANGELOG_BEGIN
CHANGELOG_END

* sandbox: Rename CommandExecutorImpl to StoreBackedCommandExecutor.

And pass it objects, not functions.

* sandbox: Reorder result cases in StoreBackedCommandExecutor.

* sandbox: Inject the LedgerTimeAwareCommandExecutor.
2020-04-09 10:47:00 +00:00
Stefano Baghino
2f4cb38b30
Inline disclosure computation (#5511)
* Inline disclosure computation

It's used only in one place and the blinding info needs to also be used
to compute divulgence for contracts.

changelog_begin
changelog_end

* Address https://github.com/digital-asset/daml/pull/5511#pullrequestreview-390596850
2020-04-09 09:54:25 +00:00
Samir Talwar
84b0ea28f2
sandbox: Reset the time service when resetting in Static Time mode. (#5510)
* sandbox: Pull out the default time provider type into a constant.

* sandbox: Name ResetService tests consistently.

* sandbox: Reset the time service when resetting in Static Time mode.

The test, unfortunately, is ``@Ignore`d due to flakiness in CI, so won't
actually be run. However, I _hope_ we're going to remove that
annotation eventually, and it allowed me to test-drive the fix on my
machine, so it's still helpful.

CHANGELOG_BEGIN
- [Sandbox] Fix a regression in the ResetService which did not reset the
  TimeService in static time mode.
CHANGELOG_END
2020-04-09 09:25:35 +00:00
Samir Talwar
1735082e91
sandbox: Re-enable "no seeding mode" for the StandaloneApiServer. (#5509)
Turns out not every participant can support seeding (yet).

CHANGELOG_BEGIN
- [Ledger API Server] Re-introduce an option to disable seeding. This
  does not affect Sandbox.
CHANGELOG_END
2020-04-09 09:05:45 +00:00
Samir Talwar
87d38d8ca6
kvutils: Don't measure submission interpretation twice. (#5496)
This is already measured in the `run` method above.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-09 07:27:50 +00:00
Samir Talwar
5f412a497a
kvutils/integrity-checker: Report the time taken for each submission. (#5498)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-09 07:27:46 +00:00
Gerolf Seitz
97433743a1
Set the Bearer prefix in bindings. (#5484)
* Set the `Bearer ` prefix in bindings.
* Make the `Bearer ` prefix in the authorization header mandatory.
* Bearer prefix can be removed from the token file.

CHANGELOG_BEGIN
[Extractor]: The ``Bearer `` prefix can be removed from the token file.
It is added automatically.
[Navigator]: The ``Bearer `` prefix can be removed from the token file.
It is added automatically.
[DAML Script] The ``Bearer `` prefix can be removed from the token file. It
is added automatically.
[DAML Repl] The ``Bearer `` prefix can be removed from the token file. It is
added automatically.
[Scala Bindings] The ``Bearer `` prefix can be removed from the token. It is
added automatically.
[Java Bindings] The ``Bearer `` prefix can be removed from the token. It is
added automatically.
[DAML Integration Kit] ``AuthService`` implementations MUST read the
``Authorization`` header and the value of the header MUST start with
``Bearer ``.
CHANGELOG_END
2020-04-08 13:07:28 +02:00
fabiotudone-da
1bb1517c08
[TestTool] Provide performance tests for all performance envelopes (#5473)
* Produce performance tests for all envelopes

CHANGELOG_BEGIN
[TestTool] Provide performance tests for all performance envelopes
CHANGELOG_END

* Follow Scala's recommended pattern for enum-like hierarchies
2020-04-08 09:59:29 +02:00
Gerolf Seitz
a9755cb852
Avoid using setBinaryStream to not confuse H2 (#5474)
There have been reports of sporadic occurrences of
`java.lang.RuntimeException: Lob not found: 49/-2`
when running the participant server with H2.

It seems like using `setBinaryStream` triggers H2 to go through the BLOB
machinery. Since this issue is not easily reproducible, it seems like an
altogether better solution to switch to using `setBytes`. Offsets aren't
that large anyway, so going directly for byte array should be fine.
Better than a broken query anway.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 21:07:09 +02:00
Samir Talwar
5326db3bd9
kvutils/tools: Register more JVM metrics in the integrity checker. (#5463)
We now use the same metrics as a running ledger server.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 13:02:27 +00:00
fabiotudone-da
945057b0a0
Fix Performance.dar not found during extraction (introduced #5377) (#5466)
* Fix `Performance.dar` not found during extraction (introduced #5377)

CHANGELOG_BEGIN
CHANGELOG_END

* Update comment about synchronizing .dar artifacts

Co-Authored-By: Samir Talwar <samir.talwar@digitalasset.com>

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2020-04-07 14:30:38 +02:00
Robert Autenrieth
4f5460f7e3
Dont deduplicate rejected transactions (#5393)
* Add failing test

The test can produce false negatives,
but locally it fails 10 out of 10 times.

* Stop deduplicating commands after rejections

Fixes #5338.

CHANGELOG_BEGIN
CHANGELOG_END

* Only deduplicate successful transactions

* Use pass instead of pure unit

* Handle exceptions
2020-04-07 12:45:19 +02:00
Samir Talwar
10bac143fc
kvutils: Simplify calculating the weight of a Caffeine cache. (#5461)
* kvutils: Simplify calculating the weight of a Caffeine cache.

And remove an errant `println` that slipped through the cracks.

Thank you to @ben-manes for the tip!

CHANGELOG_BEGIN
CHANGELOG_END

* kvutils: Make classes final and defs into vals.

Co-Authored-By: Stefano Baghino <stefano.baghino@digitalasset.com>

Co-authored-by: Stefano Baghino <stefano.baghino@digitalasset.com>
2020-04-07 10:05:47 +00:00
Gerolf Seitz
b38766092c
Use com.daml in Performance Envelope tests (#5460)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 11:12:53 +02:00
Samir Talwar
77e83c629b
sandbox: Merge LotsOfParties tests into the main conformance test run. (#5459)
We do this for Sandbox Next™; we can do it for Sandbox Classic™ too. It
doesn't seem to have much of a noticeable impact on the test run time,
and reduces the number of exclusive tests, which is helpful.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 08:45:45 +00:00
Gerolf Seitz
c7e6418c73
Add legacy proxy gRPC services. (#5441)
* Add legacy proxy gRPC services.

This exposes the services as com.digitalasset as well, to ensure that
applications built with a previous release of the SDK continue to work
with the Ledger API.

Due to how the gRPC reflection service works, this doesn't expose the
com.digitalasset services on the reflection api, and thus grpcurl won't
work with the old services. These scripts need to be updated to refer to
the com.daml services.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 10:45:41 +02:00
Samir Talwar
6563048d5b
kvutils: Cache state value conversions from bytes. (#5426)
* kvutils: Cache state value conversions from bytes.

This seems to have a decent speedup in ledger-on-memory.

CHANGELOG_BEGIN
- [Ledger Integration Kit] Submissions now look up ledger values from a
  cache where possible, improving performance when there's contention over
  certain resources (e.g. common packages). The cache size currently
  defaults to 64 MB.
CHANGELOG_END

* kvutils: Make the SubmissionValidator statue value cache configurable.

* kvutils: Report state value cache metrics.

* kvutils: Add a suffix to a Long literal because WartRemover is unhappy.

Strangely, it doesn't fail on my machine.

* kvutils: Extract caching out into its own file.

* kvutils: Move the `bytesToStateValue` call into `cache.get`.

* kvutils: Move caching to its own package.

* kvutils: Inject the state value cache.

* kvutils: Default to no state value cache.

* kvutils: Accept a state value cache size in megabytes, not bytes.

* kvutils: Move cache building from `Config` to the `caching` package.

* kvutils: Replace Guava's cache with Caffeine.

* kvutils: Simplify caching configuration.

* sandbox: Enable state value caching by default.

CHANGELOG_BEGIN
- [Sandbox] State values deserialization is now cached, with a fixed
  cache size of 128MB.
CHANGELOG_END

* Changelog commit.

CHANGELOG_BEGIN
- [Ledger Integration Kit] The state value cache is now opt-in, with a
  default of no cache at all.
CHANGELOG_END
2020-04-06 17:30:32 +00:00
fabiotudone-da
2a5a15d625
PingPong throughput and latency benchmarks for on-mem and on-sql (#5377)
* Draft of PingPong throughput and latency benchmarks for on-mem and on-sql ledgers

* Augment `ParticipantTestContext` and remove `LedgerApiServer` hack

* Separate performance tests into distinct category with concurrency 1

* 🎨

* Package performance tests in separate DAR

* Have performance tests excluded by default and run exclusively if passed

* Fix rebase

* Simplify `BenchmarkReporter`

* Make `concurrencyOverride` into an `Option`

* Clarify command line usage, prevent regular and perf. tests together

* Fix preventing regular and perf. tests together

* Split `PingPong`, `PingPongExplode` and `Cycle` benchmarks' model

CHANGELOG_BEGIN
- [TestTool] Add `PingPong` performance envelope test
CHANGELOG_END

* Explicitly name `concurrencyOverride`

* Fix formatting

* Lower bar for CI run of performance envelope tests

* Make benchmark output file configurable

* Improve messages and report config option name

* Use exit status 64 for "bad command line usage" as in BSD
2020-04-06 18:01:10 +02:00
Remy
50694c7abe
DAML-LF. fix parameter and self binder in choices. (#5444)
* DAML-LF. fix parameter and self binder in choices.

* fix

* DAML-LF: address moritz's comments

* changelog

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-06 14:32:30 +00:00
Robert Autenrieth
8397467712
Wait for removing deduplication entries (#5442)
* Wait for removing deduplication entries

This addresses a potential race condition

CHANGELOG_BEGIN
CHANGELOG_END

* Fix broken code
2020-04-06 15:54:20 +02:00
Gerolf Seitz
a2d785e3ee
Use com.daml as root package (#5343)
Packages com.digitalasset.daml and com.daml have been unified under com.daml

Ledger API and DAML-LF DEV protos have also been moved from `com/digitalasset`
to `com/daml` on the file system.
Protos for already released DAML LF versions (1.6, 1.7, 1.8) stay in the
package `com.digitalasset`.

CHANGELOG_BEGIN
[SDK] All Java and Scala packages starting with
``com.digitalasset.daml`` and ``com.digitalasset`` are now consolidated
under ``com.daml``. Simply changing imports should be enough to
migrate your code.
CHANGELOG_END
2020-04-05 19:49:57 +02:00
Stefano Baghino
a7474f4c50
Fix test for groupContiguous (#5432)
* Fix test for groupContiguous

Automatic generation of test values was prone to cause flakiness, removed in favor of a simpler test case.

changelog_begin
changelog_end

* Relax order sensitivity

* Update ledger/sandbox/src/test/suite/scala/com/digitalasset/platform/store/dao/events/GroupContiguousSpec.scala

Co-Authored-By: Remy <remy.haemmerle@daml.com>

* Fix compilation issue

Co-authored-by: Remy <remy.haemmerle@daml.com>
2020-04-03 16:58:03 +00:00
Gerolf Seitz
e3f3ebcb9b
Suppress DB related logging on sandbox startup. (#5419)
Fixes #5401

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 15:28:47 +02:00
Gerolf Seitz
16240b31cc
Add comments to ApiOffset and SandboxOffset (#5414)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 14:26:38 +02:00
Samir Talwar
4de360a47a
sandbox: Move server parameters into the Config objects. (#5413)
* sandbox: Move the events page size configuration value into config.

* sandbox: Pass `config` directly into JdbcIndexerFactory.

* sandbox: Reorder `eventsPageSize` before `metrics` in parameters.

* sandbox: Move `seeding` into `ApiServerConfig`.

CHANGELOG_BEGIN
CHANGELOG_END

* sandbox: Name all parameters of `JdbcLedgerDao.writeOwner`.

Co-Authored-By: stefano.baghino@digitalasset.com
2020-04-03 11:20:05 +00:00
Gerolf Seitz
5ddbd5c511
Implement timed command deduplication in kvutils (#5242)
* Implement timed command deduplication in kvutils

This adds a field deduplication_time to DamlCommandDedupValue for
deduplication timeout checking.

* Bump kvutils version to 4

* Fix CommandTracker pulling commandResultIn multiple times
Now that the timeouts are generated out of band, we have 2
"unsynchronized" places that pull on commandResultIn.
Whenever we pull, we need to check that commandResultIn hasn't been
pulled before.

* Add inStaticTimeMode flag to enable command dedup in sandbox-next with static-time

Fixes #4624.

CHANGELOG_BEGIN
[kvutils] KVUtils now respects the command deduplciation time instead of
deduplicating commands forever.
CHANGELOG_END
2020-04-03 10:44:35 +02:00