Commit Graph

586 Commits

Author SHA1 Message Date
Stefano Baghino
be914d3b26
Measure translation time for full result from DB (#5983)
Furthermore, uses a work stealing thread pool for work JdbcLedgerDao has
to perform outside of the database thread pool. This solves some
flakiness observed in conformance tests against PostgreSQL-backed
ledgers.

changelog_begin
changelog_end
2020-05-15 09:02:02 +02:00
Remy
3eed4d1a22
Ledger: remove all reference to RelativeContractId (#5985)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-14 19:12:32 +02:00
Gerolf Seitz
a4f75c3cef
Fix quadratic runtime when reading events (#5981)
Fixes #5980.

CHANGELOG_BEGIN
[Sandbox] Improved performance when loading transactions with many
events. See `issue #5980
<https://github.com/digital-asset/daml/issues/5980>`__.
CHANGELOG_END
2020-05-14 13:31:15 +00:00
Samir Talwar
57a8d0b37e
CI: Run PostgreSQL once for all Scala tests. (#5919) 2020-05-14 09:06:34 +02:00
Remy
deedec9b9f
Engine: Remove optionality of contract ID Seeding. (#5966)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-13 20:29:14 +02:00
Remy
9019b3a33c
Ledger: Remove optionality of contract ID seeding. (#5965)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-13 17:39:07 +02:00
Stefano Baghino
b0ad8d7a60
Centralize and time serialization (#5946)
changelog_begin
OVERRIDES CHANGELOG ENTRY FROM 2a8c93a614
[Ledger Integration Kit] Added new metrics for
``daml.index.db.*.translation`` to measure the time spent
translating to and from the serialized DAML-LF values when
fetched from the participant index.
changelog_end
2020-05-13 17:06:46 +02:00
Stefano Baghino
e39adbe69e
Cleanup: move unused translation helpers to migrations (#5963)
* Cleanup: move unused translation helpers to migrations

These helpers are no longer used in the main source tree.

changelog_begin
changelog_end

* Address https://github.com/digital-asset/daml/pull/5963#discussion_r424415151
2020-05-13 16:35:05 +02:00
Remy
021f4af394
Sandbox classic: Emulate legacy contract ID scheme (#5929)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-13 12:56:41 +02:00
Stefano Baghino
9ff36a13cf
Extract caching from participant-state as a library (#5949)
* Extract caching from participant-state as a library

This will be used to keep a cache of values to cut on LF translation cost when serving transactions.

changelog_begin
changelog_end

* Add dependency where missing
2020-05-12 19:45:55 +02:00
Remy
1cd412fa83
Sandbox: addapt scenario loader to the new contract ID scheme (#5942)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-12 13:45:14 +02:00
Stefano Baghino
7e0377dd76
Offload transaction write preparation from DB thread (#5930)
* Offload transaction write preparation from DB thread

changelog_begin
changelog_end

* Address https://github.com/digital-asset/daml/pull/5930#discussion_r423049118

* Solve compilation issue

* Move type into companion object

* Address https://github.com/digital-asset/daml/pull/5930#discussion_r423170046
2020-05-11 22:51:32 +00:00
Stefano Baghino
dd6af4e276
Centralize index DB metrics naming (#5927)
* Centralize and review index DB metrics naming

Closes #5922

changelog_begin
changelog_end

* Remove unnecessary factory

* Fix compilation issue
2020-05-11 12:59:02 +00:00
Stefano Baghino
2a8c93a614
Offload value deserialization from DB threadpool and add metrics (#5917)
* Offload value deserialization from DB threadpool and add metrics

Fixes #5909

CHANGELOG_BEGIN
[Ledger Integration Kit] Added new metrics for
``daml.index.db.*.deserialization`` to measure the duration of
the translation of the serialized DAML-LF values when fetched
from the participant index.
CHANGELOG_END

* Address https://github.com/digital-asset/daml/pull/5917#discussion_r422282582

* Address https://github.com/digital-asset/daml/pull/5917#discussion_r422282901

* Address https://github.com/digital-asset/daml/pull/5917#discussion_r422283768

* Address https://github.com/digital-asset/daml/pull/5917#discussion_r422285920

* Address https://github.com/digital-asset/daml/pull/5917#discussion_r422285674
2020-05-11 10:41:49 +02:00
Samir Talwar
208d4a50da
postgresql-testing: Use a new, random database name every time. (#5911)
* postgresql-testing: Store the JDBC URL separately.

* postgresql-testing: Expose the username and password.

* postgresql-testing: Get the caller to create the database.

And make sure it's a random one, not "test".

CHANGELOG_BEGIN
CHANGELOG_END

* postgresql-testing: Only store the JDBC URL for tests.

Less mutable state, innit.

* postgresql-testing: Capture the individual JDBC URL parameters.

* Bazel: Fix PostgreSQL binary paths.

* postgresql-testing: Just recreate the database in PostgresAroundEach.

There's no need to restart the process with a different data directory.
2020-05-08 12:36:42 +00:00
Stefano Baghino
846391ac72
Use a table specifically for transaction trees witnesses (#5897)
* Use a table specifically for transaction trees witnesses

This allows to not re-compute those every time using the flat transaction
witnesses and the complement.

Furthermore, witness tables indexing is redefined to a single primary key
covering both event identifier and witness party instead of two
separated indexes. This has proven to be a relevant improvement for
performance.

Fixes #5883

changelog_begin
[Ledger API Server] Significant improvements in serving transaction trees. See #5883.
changelog_end

* Fix migration SHA
2020-05-07 19:19:28 +02:00
nickchapman-da
53b24793f4
Simplify and clarify the public interface to Speedy. (#5881)
* Simplify and clarify the public interface to Speedy.

- Remove `isFinal`. A client just uses `run()`.
- Remove `toSValue`. The value in available in `SResultFinalValue(v: SValue)`.
- A client never directly access the `.ctrl` (or `.returnValue`) components.
- A client may use `setExpressionToEvaluate(expr)` to evaluate a new expression on an existing machine.

changelog_begin
changelog_end

* remove while loop which executes just once

* avoid unnecessary mutation when running speedy
2020-05-07 08:55:16 +00:00
Robert Autenrieth
7e448d810c
Always use the latest ledger config (#5669)
CHANGELOG_BEGIN
- [Sandbox] The ledger API server will now always use the most recent ledger configuration.
  Until a ledger configuration is read from the ledger, command submissions will fail with the UNAVAILABLE error.
CHANGELOG_END

In kvutils, the first ledger configuration change needs
to have a generation one higher than the one returned
by getLedgerInitialConditions().

Remove initial config writing from sandbox as it's now written by the ledger API server
2020-05-06 12:12:23 +02:00
Stefano Baghino
df12c529c8
Fix broken migration v25 with v29 (#5861)
The v25 migration did not read transactions in order, causing #5659.

This PR re-arranges migrations so that ledger_entries can be re-read to fix the issue before dropping it in v30 (which used to be v29).

Fixes #5659.

changelog_begin
[Sandbox Classic] There is a chance that migrating from Sandbox 0.13.55 to Sandbox Classic 1.0.0 could have
introduced contracts falsely reported as active when in fact they are not. Migrating to Sandbox Classic
1.1.0 will fix the issue. For more details, see #5659.
changelog_end
2020-05-06 10:08:32 +00:00
Gerolf Seitz
4d606689bb
Centralize metric names (#5790)
Centralizing the metrics allows us to have a good overview of the
existing metrics.

CHANGELOG_BEGIN
CHANGELOG_END
2020-05-05 16:55:29 +02:00
Stefano Baghino
89eb6c64d2
Integrate PostCommitValidation with JdbcLedgerDao and SqlLedger (#5781)
* Integrate PostCommitValidation with JdbcLedgerDao and SqlLedger

Closes #5035
Closes #5663

changelog_begin
[Sandbox] Skip unnecessary double post-commit validation inherited by sandbox-classic, expect performance improvement
changelog_end

* Ensure SqlLedger recovers from failures and logs them when publishing a transaction

* Remove unused import

* Remove tests for ledger entries

* Fix completions test to make them compile

* Fix compilation errors in tests, address self-review items, apply necessary fixes

- address https://github.com/digital-asset/daml/pull/5781#pullrequestreview-403293667
- address https://github.com/digital-asset/daml/pull/5781#pullrequestreview-403378192

* Pass TransactionTimeModelComplianceIT

* Minor tweaks to variable naming

* Fix failing tests

* Stop deduplicating commands on failures

* Attempt at making sandbox-classic allocate parties implicitly

* Remove implicit party allocation test (without full server) for SQL backed sandbox-classic

* Removing ImplicitPartyAdditionIT (covered in conformance tests)

* Add migrations

* Fix test for ledger DAO with post-commit validation against PostgreSQL

* Update PostgresIT

* Fix missing/wrong items from previous commits

* Don't perform batch processing of enqueued persistence entries

* Rebase against master
2020-05-04 15:28:18 +00:00
Gerolf Seitz
0a7575de85
Sandbox: expose back pressure config in CLI (#5820)
* Sandbox: expose back pressure config in CLI

CHANGELOG_BEGIN
[Sandbox]: Added ``--max-commands-in-flight`` as CLI configs. See ``daml sandbox --help``.
[Sandbox Classic]: Added ``--max-commands-in-flight`` and
``--max-parallel-submissions`` as CLI configs. See ``daml sandbox-classic --help``.
CHANGELOG_END

* Bumping the default maxParallelSubmissions to 512 for sandbox classic
We used to use `maxCommandsInFlight * 2` in SqlServer, but it makes more
sense to use `maxParallelSubmissions` there. Since the lower default value of 128
would result in the conformance tests to fail, I'm bumping it to 512

* Use maxCommandsInFlight to configure the parallel submissions for CommandService
2020-05-04 15:24:49 +02:00
simonmaxen-da
a8d97c9ec0
Add a reason text field to RejectReason.Inconsistent (#5180) (#5815)
* Add a reason text field to RejectReason.Inconsistent (#5180)

CHANGELOG_BEGIN

	- Add a reason text field to RejectReason.Inconsistent.
  See `#5810 <https://github.com/digital-asset/daml/issues/5810>`__.

CHANGELOG_END

* Change wording in contributing instructions to reflect best practice (#5820)

* Also make add reason text to other reject reasons that don't have it (#5820)

* Update with review comments (#5820)

* Update with review comments (#5820)

* Update with review comments (#5820)
2020-05-04 12:54:17 +01:00
Gerolf Seitz
e821168909
Reset service improvements for sadbonx (#5728)
- Only upload packages during the initial startup.
- Avoid loading packages during subsequent resets
- Share an engine between Ledger API Server and Committer

* Use a randomized H2 URL to simular in-memory

The reset service test assumes to get a completely new ledger for each
test case. But because we use H2 in-memory with db_close_delay=1 and the
same H2 database name, the second test case gets the remnants of the
first test case.

Since we know that sandbox in-memory uses an H2 in-memory URL, we can
simply use SandboxBackend.H2Database for ResetServiceInMemoryIT.

CHANGELOG_BEGIN
[Sandbox] Drastically lower the time needed to do a reset via the
ResetService.
CHANGELOG_END
2020-04-30 17:06:21 +02:00
Samir Talwar
0ae62b50e4
sandbox: Mark the ResetService tests as flaky. (#5778) 2020-04-29 15:17:45 +02:00
Stefano Baghino
c709f91a73
Adjust PostCommitValidation (#5774)
* Adjust PostCommitValidation

- do not require a party for validation (to validate divulged contracts)
- stop validation after first error and don't accumulate rejection reasons
- address 01da7393b3 (r416719399)

changelog_begin
changelog_end

* Use participant state rejection reasons, drop unused submitter parameter from validation
2020-04-29 12:55:16 +00:00
Stefano Baghino
f71ab92ea5
Implement replacement for post-commit validation (#5737)
* Implement replacement for post-commit validation

PostCommitValidation is meant as a replacement for ActiveLedgerState and
ActiveLedgerStateManager for JdbcLedgerDao so that the old table can eventually
be retired and post-commit validation can happen on the new participant schema.

This commit simply introduces the implementation and tests it in isolation.

Integration with the existing system will come in a separate contribution.

changelog_begin
changelog_end

* Address https://github.com/digital-asset/daml/pull/5737#discussion_r415918949

* Address https://github.com/digital-asset/daml/pull/5737#discussion_r415921207

* Add tests for the empty ledger scenario and introduce necessary fixes

* Add more tests for fetch and using some prior history

* Add tests for divulged contracts
2020-04-28 18:53:52 +02:00
Samir Talwar
c1e1ee4d4b
Sandbox: Split LedgerApiServer up a little. (#5758)
* sandbox: Split up LedgerApiServer.

CHANGELOG_BEGIN
CHANGELOG_END

* sandbox: Extract out API service construction from LedgerApiServer.

* sandbox: Pull out a case class for GrpcServerOwner event loop params.

* sandbox: Split ownership of `ApiServices` from the object.
2020-04-28 15:44:31 +00:00
Gerolf Seitz
690092e066
Sandbox: Properly respect --log-level parameter (#5717)
In #5419 we set specific loggers to WARN or ERROR so that we avoid noisy
logging by default.  However, if the user specifies the --log-level CLI
param, not only the root logger, but also other loggers set in logback.xml
should log at that level.

CHANGELOG_BEGIN
[Sandbox] Properly respect the --log-level CLI parameter
CHANGELOG_END
2020-04-27 08:24:21 +02:00
Robert Autenrieth
49c6a20f0a
Remove duplicate ledger time field (#5698)
The duplicated information was not always in sync.

Fixes #5662

CHANGELOG_BEGIN
- [Sandbox] Fix an issue where the sandbox would sometimes reject transactions
  with a "INVALID_ARGUMENT: Disputed" error if either of
  ``min_ledger_time_rel`` or ``min_ledger_time_abs`` was set in the
  submission request.
CHANGELOG_END
2020-04-24 10:02:26 +02:00
Stefano Baghino
bed58c7e12
Avoid instantiating new implicit conversions for every query (#5706)
* Avoid instantiating new implicit conversion for every query

changelog_begin
changelog_end

* Make HashToStatement an object as well

* Address https://github.com/digital-asset/daml/pull/5706#discussion_r413896788
2020-04-23 16:55:58 +00:00
Remy
15354c3256
DAML-LF: remove submitter is in maintainer check (#5611)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-23 16:10:39 +02:00
Stefano Baghino
06d4451e8b
Fix hashing of keys in the new contract store (#5681)
* Fix hashing of keys in the new contract store

Use GlobalKey.hash instead of KeyHasher.hashKey

Fixes #5680

changelog_begin
changelog_end

* Fix order of fields in migration

* Fix migration naming

* Rename file according to class

* Fix hash of active contracts, not consumed ones
2020-04-23 14:24:37 +02:00
Stefano Baghino
c66d89dab8
Fix flakiness of GroupContinuous test (#5696)
Fixes #5690

changelog_begin
changelog_end
2020-04-23 11:37:15 +00:00
Gerolf Seitz
48fd1e47a0
kvutils: fix validation of false negative key lookups (#5608)
* Make the contract keys test fail if the transaction is not rejected by the committer

- First, this removes the assert statement in the DAML model, so that the
  transaction validation doesn't fail with a transaction abort.
- Second, the gRPC error message should contain Disputed. `InvalidLookup`
  should only be used in Sandbox Classic, but due to code sharing, the
  validation that triggers this error is also run for Sadbonx.

* Fix the key lookup in kvutils

The current way of transaction validation and key lookup does not work
in the following scenario:
- the transaction coming from the participant has a negative key lookup
- the contract key state is loaded, which points to a contract that has
  been created by another transaction since the command interpretation
  on the participant
- the contract state for the contractId inside the contract key state
  has not been loaded, therefore the visibility and activeness check in
  `ProcessTransactionSubmission.lookupKey` returns `None`, even though
  there is in fact a contract with such a key.

To mitigate this issue, the `lookupKey` function must not check
activeness or visibility. If the submitter is not allowed to load the
contract via a key lookup, the authorization check should catch that.
Any other situation that is inconsistent should result in a rejection of
the transaction.

A small side effect of this change is that the `lookupContract` function
might try to load a contract that wasn't loaded from the kv state
earlier. This only happens because we first rebuild the entire
transaction before we compare it to the original transaction.
Previously we threw an exception in this case, but this results in a rather
ugly abort of the reinterpretation of the transaction. Therefore the
`lookupContract` function just returns `None`. Eventually the
transaction will be rejected during validation of the nodes, because
the `LookupByKey` nodes will be different.
This would not happen if we reinterpreted the transaction lazily and
compared the nodes as soon as they are produced with the corresponding
node of the original transaction.

CHANGELOG_BEGIN
[kvutils] Fixed the validation of key lookups.
See issue `#5562 <https://github.com/digital-asset/daml/issues/5562>`__.
[Participant Server, Ledger API Test Tool] Use rejection reasons of the participant-state API instead of sandbox specific ones.
CHANGELOG_END

* Validate causal monotonicity of used contract keys

When using LookupByKey, the return contract isn't necessarily fetched or used
any other way. This means that we need an extra pass over all contract keys to
ensure that causal monotonicity is respected. To be able to do this,
there is now a new field `DamlContractKeyState.active_at`, which is set to the
same value `DamlTransactionEntry.ledger_effective_time`.
An additional check in `ProcessTransactionSubmission` uses this field to verify
causal monotonicity.
2020-04-23 09:44:39 +02:00
Stefano Baghino
70a8e8103c
Make sure failed LET lookups don't throw on the DB threads (#5655)
This could lead to slow rollbacks that could cascade on errors that
pile up and keep precious DB threads busy for longer than needed.

changelog_begin
changelog_end
2020-04-22 09:05:09 +02:00
Robert Autenrieth
1128833ab5
Write a config on startup (#5591)
* Write a config on startup

CHANGELOG_BEGIN
CHANGELOG_END

* Rename things

* Make the initial ledger config configurable

* Demote log level for unsupported config writes

* Update ledger/sandbox/src/main/scala/com/digitalasset/platform/apiserver/services/admin/ApiConfigManagementService.scala

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

* Update ledger/sandbox/src/main/scala/com/digitalasset/platform/configuration/LedgerConfiguration.scala

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

* Move code around

* Delay config submissions on kvutils ledgers

Co-authored-by: Miklos <57664299+miklos-da@users.noreply.github.com>
2020-04-21 20:35:42 +00:00
Remy
0353408c01
Ledger: Add nodeSeeds and byKeyNodes to participant state (#5602)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-21 19:00:50 +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
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
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
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