Commit Graph

501 Commits

Author SHA1 Message Date
mziolekda
7b882e3767
clean up kv metric names (#3888)
* clean up kv metric names

* rename metrics committing->committer

* replace camel-case with prometheus-friendly underscore
2019-12-18 14:27:07 +01:00
Stefano Baghino
af90d634fd Add CommandSubmissionCompletion suite to test tool (#3885) 2019-12-18 09:45:21 +00:00
mziolekda
2fd8372f44
fix indexer crash on duplicate submission (#3847)
* fix indexer crash on duplicate submission

* deduplicate submissions

* few formatting changes

* address review comments

* add pruning comment to dedup value
2019-12-18 09:14:49 +01:00
Moritz Kiefer
4ad3a22c90
Bump timeout in CommandClientIT (#3879)
This test suite was introduced in #3870 and seems to be extremely
flaky both locally (I get about 16/20 failures) and on CI.

The error is

  - should return completions of commands that are submitted after subscription *** FAILED *** (4 seconds, 945 milliseconds)
    Set() did not contain all elements of List("5104", "5100", "5105", "5109", "5103", "5106", "5107", "5102", "5108", "5101") (CommandClientIT.scala:330)

After bumping the timeout, I don’t get any failures locally.

Happy to choose another timeout, I have no clue what a sensible value
is here.
2019-12-18 09:11:47 +01:00
Stefano Baghino
f864ac955b
Port FailingCommandsIT to the Ledger API Test Tool (#3877)
* Port FailingCommandsIT to the Ledger API Test Tool

Closes #2850

The FailingCommandsIT suite contains tests for mismatching ledger
identifier (which is already abundantly covered by the Ledger API Test
Tool) and for bad labels in contract creation, both via submit and
submitAndWait.

Some of the tests previously part of the CommandService Ledger API Test
Tool suite have been moved to a new home in CommandSubmissionCompletion
to reflect the fact that those use the submission/completion workflow
instead of leveraging the submit-and-wait alternatives.

There are also suites that for some reason cover subsequent invocations
of the same services but I'm not sure of the meaning of those and I
would drop them, unless we have a good explanation for those.

* Optimize imports
2019-12-18 09:11:02 +01:00
Stefano Baghino
3ef2b2181d
Move CommandStaticTimeIT to Sandbox integration tests (#3874)
* Move CommandStaticTimeIT to Sandbox integration tests

Closes #2848

* Address https://github.com/digital-asset/daml/pull/3874#discussion_r358803654

* Address https://github.com/digital-asset/daml/pull/3874#discussion_r358802902
2019-12-17 17:01:46 +01:00
Stefano Baghino
699fef1f3a
Move Scala Ledger API client integration tests (#3870)
* Move Scala Ledger API client integration tests

Closes #2845

The Scala Ledger API client tests belong to the
//ledger/ledger-api-client package.

* Reduce noise coming from tests
2019-12-17 16:11:27 +01:00
Stefano Baghino
db711d40f3
Remove dead ledger-api-integration-tests code (#3866) 2019-12-16 18:01:42 +01:00
Samir Talwar
71e8c20127 Sandbox: Fix warnings in SandboxServer. (#3853)
* sandbox: Move SandboxServer's helper classes to the companion object.

And make them `private`, `final`, and non-`case`.

* sandbox: Drop SandboxServer.apply and just call the constructor.

* sandbox: Move the SandboxServer#SandboxState class into the object.

Leave the `resetAndRestartServer` method behind, though.
2019-12-14 20:52:03 +00:00
Stefano Baghino
3ca7ed49dd Remove warts: ExplicitImplicitTypes (#3851)
* Remove warts: ExplicitImplicitTypes

* Fix compilation errors
2019-12-13 18:33:49 +00:00
Stefano Baghino
d2c7067314 Rename weirdly named directories (#3850) 2019-12-13 18:32:11 +00:00
Jussi Mäki
33c7a1aace Implementation for the configuration management service (#3756)
* Implementation for the configuration management service

- Add configuration generation to the response of SetTimeModel
- Implement the ConfigManagementService
- Implement integration test into test tool

This is still a draft as it has unsolved FIXMEs and
it conflicts with #3744 which should go first.

The main conflict is with changes to PartyAllocationResponse which cannot
no longer reference "domain.PartyDetail" as we would have a cyclic dependency
(participant-state contains Configuration which we point to from domain.ConfigurationEntry).

The still open issues are:
- Revisit PartyDetail
- Naming: LedgerConfigurationService and ConfigManagementService are not talking
  about the same configuration and it feels confusing.
- Remove duplication of ConfigurationEntry? Do we need both domain.ConfigurationEntry
  and ledger.store.ConfigurationEntry? Only difference is in the types of participantId
  and submissionId.

* Address review part 1

* Fix up tests after rebase and address PR review

* Post-merge fixes

* Add missing config MRT checks and fixes to tests

- Check config MRT in InMemoryLedger and SqlLedger
- Use proper source of time in ConfigManagement
- Separate out ConfigManagementServiceIT in sandbox conformance tsets

* Reformat
2019-12-13 17:58:44 +00:00
Stefano Baghino
d7e734b744 Move ResetServiceIT to Sandbox integration tests (#3844)
Closes #2857

- Also deals with the long ignored todo about not using the context
- Attempts at restoring this as a non-flaky test
- Attempts at running the same test across runtime environments
2019-12-13 16:18:02 +00:00
Stefano Baghino
651384ad79
Perf tests no longer depend on integration tests (#3842)
* Perf tests no longer depend on integration tests

The infrastructure necessary to run performance tests on both the
in-memory and the persistent sandbox is duplicated to the
//ledger/sandbox-perf package in order to be able to get rid of all
contents of //ledger/ledger-api-integration-tests once the test porting
is over (which will happen soon).

The scope and functionality of ported classes has been reduced to the
minimum set needed by the performance test suite.

* Address https://github.com/digital-asset/daml/pull/3842#discussion_r357652888

* Address https://github.com/digital-asset/daml/pull/3842#discussion_r357653331

* Address https://github.com/digital-asset/daml/pull/3842#discussion_r357654770
2019-12-13 17:04:26 +01:00
Oliver Seeliger
b967a7d8c6 Test tool flakiness take2 (#3843)
* Ledger api test tool flakiness fix part 2: Add "eventually"

to synchronize use of waitForParties

* Upgrade to Canton 0.5.2
2019-12-13 13:37:02 +00:00
Samir Talwar
014b5608c2 Sandbox / Reference v2: Close the Ledger API Server on failure. (#3837)
* sandbox: No point creating a class just for the `close` method.

The LedgerApiServer class doesn't actually have much behavior apart from
closing. The `startServer` method is called during construction, which
definitely counts as spooky action at a distance. This change moves that
behavior to `LedgerApiServer.start` (renamed from `LedgerApiServer
.create` to make it more explicit).

There's not much point creating a class for the rest, so all behavior is
now in that `start` method.

* sandbox: Build up a list of "closeables" as the LedgerApiServer starts.

* sandbox: If the LedgerApiServer fails to come up, stop the parts.

* sandbox: Apply @stefanobaghino-da's refactoring suggestions.

* sandbox: Don't log while building the gRPC server; log at the end.

* sandbox: Turns out we should not stop the server when it works.

Facepalm.
2019-12-13 12:36:00 +00:00
Oliver Seeliger
2afd8bc55f Test tool party flakiness fix (#3841)
* Ledger api test tool party flakiness for multi-participant runs

Caused by synchronize not waiting for parties to fully exist on
all participants.

* Reenable canton test run

* Update canton to 0.5.2

* Revert "Update canton to 0.5.2"

This reverts commit d0e530c652.
2019-12-13 11:25:18 +00:00
Stefano Baghino
8965c1bf3b
Move TimeServiceDisabledIT to the sandbox integration tests (#3840)
Closes #2859
2019-12-13 11:53:27 +01:00
Jussi Mäki
ce70ad4a2f
Async package management (#3806)
* Add package_entries table

* Change PublicPackageUpload event to cover list of packages.

Add PublicPackageUploadRejected.

* Produce new package update events in KeyValueConsumption

* Update signature of uploadPackages

* Cleanup InMemoryKVParticipantState. Add submissionId to uploadPackages.

* Fix up InMemoryKVParticipantStateIT

* Initial ledger dao changes for package entries

Drop the participant_id as we never expect to see
entries of other participants. This should be done
for party_entries as well.

* Drop UploadPackagesResult

* Implement getPackageEntries and refactor callers

* Add maxRecordTime to uploadPackages

* First cut at updating ApiPackageManagementService

* Update tests, wire through the packageEntries

* Don't extend IndexPackagesService in InMemoryPackageStore

It does not implement the full interface and it isn't used
directly as one anyway.

* Drop maximum_record_time from package_management_service

Adding maximum record times touches the whole stack. Leaving
this change to another PR.

* Wire through the removal of maximum_record_time.

And remove dead code from InMemoryKVParticipantState

* Remove checking for duplicate package uploads

This aligns with the behaviour of WriteService.

* Reformat

* Fix PackageManagementService after adding of submission_id to the service
2019-12-13 09:56:47 +01:00
Gary Verhaegen
2b3693bf4d
restore 0.13.38 logging defaults for daml jars (#3819)
CHANGELOG_BEGIN
- [Sandbox] Restore 0.13.38 logging behaviour.
- [Navigator] Restore 0.13.38 logging behaviour.
- [Extractor] Restore 0.13.38 logging behaviour.
- [Internals] As of 0.13.39, we merged a number of internal JAR files in
  the SDK tarball to reduce its size. These jars used to be standalone
  JARs you could invoke as e.g. ``java -jar sandbox.jar <args>``. As a
  result of merging the jars, they lost their individual ``logback.xml``
  configuration file. Although running the jars directly was (and is
  still) not supported, note that you can now achieve the same behaviour
  with e.g. ``java -Dlogback.configurationFile=sandbox-logback.xml -jar
  daml-sdk.jar sandbox <args>``.
CHANGELOG_END
2019-12-12 14:02:23 +01:00
Samir Talwar
d7a7a78083 sandbox/reference-v2: Split Config into three. (#3823)
* sandbox/reference-v2: Split `Config` into three.

- Reference v2 CLI configuration
- Standalone API server configuration
- Standalone indexer configuration

* reference-v2: Simplify CLI parsing of TLS config and extra participants.

Turns out we _always_ want to support extra participants. They're
optional, after all.
2019-12-12 11:48:17 +00:00
Samir Talwar
90416744e4 sandbox: Re-add the Docker images with a public base image. (#3814)
* Revert "Remove docker bazel target for sandbox (#3802)"

This reverts commit 48a381ca49.

* sandbox: Use the public `openjdk` Docker image rather than GCR's.

Turns out you need to authenticate with Google Container Registry
regardless of whether the image is public or not. We don't want people
to have to bother logging in to GCR just to get Bazel working.
2019-12-11 16:58:08 +00:00
Samir Talwar
9ffa9b7aef sandbox: Delete unused test helpers. (#3820) 2019-12-11 16:11:07 +00:00
mziolekda
ac47a84085
clean up logs and metrics in the kvutils transaction processing (#3811)
* clean up logs and metrics in the kvutils transaction processing

* fix failing test
2019-12-11 15:36:12 +01:00
Samir Talwar
1184ee6f0a Sandbox: Split the Ledger API server and Indexer into separate packages. (#3783)
* sandbox: Split the StandaloneApiServer from the StandaloneIndexerServer.

* sandbox: Move StandaloneApiServer's nested classes to its companion.

And make them private.

* reference-v2: Rename `IndexServer` to `ApiServer`.

* sandbox: Move the services into the `apiserver.services` package.

* sandbox: Move SandboxEventIdFormatter's vals to the top.

* sandbox: StandaloneApiServer helper classes don't need to be Products.

* docs: Fix links for LedgerApiServer and Standalone{Api,Indexer}Server.

* sandbox: Delete a misleading comment from `StandaloneApiServer`.

* sandbox: Rename SandboxEventIdFormatter to EventIdFormatter.
2019-12-11 13:23:39 +00:00
Gerolf Seitz
48a381ca49 Remove docker bazel target for sandbox (#3802) 2019-12-10 15:43:12 +01:00
mziolekda
3c48bd37eb
Clean up kvutils logs (#3780)
* clean up

* clean up config committer

* remove unnecessary constructor parameters in the ConfigCommitter

* address review comments
2019-12-10 11:12:19 +01:00
Moritz Kiefer
e769264ddf Move all datatypes out of daml-prim (#3791)
* Move all datatypes out of daml-prim

This moves the remaining two modules DA.Types and GHC.Tuple to
separate LF packages with stable identifiers.

The only data types remaining are the ones for typeclasses which will
disappear once we move this to type synonyms.

CHANGELOG_BEGIN

- [DAML Compiler] The modules DA.Types and GHC.Tuple from daml-prim
have been moved to separate packages.

CHANGELOG_END

* Fix codegen tests

* Fix DarReader test

* Fix kvutils tests

* Fix jdbcdao tests

* Fix hs ledger bindings tests
2019-12-10 09:19:16 +01:00
Robert Autenrieth
bf2098f038
Check ledger and participant ID in claims (#3781)
* Add ledger and participant ID to claims

CHANGELOG_BEGIN
- [Ledger] AuthService implementations can now restrict the validity of access tokens to a single ledger or participant.
- [Sandbox] The sandbox JWT authentication now respects the ledgerId and participantId fields of the token payload.

CHANGELOG_END

* Add tests for ledger and participant in claims

* Address review comment

* Address review comment

* Fix tests

* Fix tests
2019-12-09 17:55:17 +01:00
Samir Talwar
639eba2c17 ledger-api-scala-logging: Fix errors in IntelliJ IDEA. (#3785)
* ledger-api-scala-logging: Fix errors in IntelliJ IDEA.

The Bazel plugin for IntelliJ doesn't seem to be smart enough to be able
to handle a Scala library that is part `src` directory and part
generated code from another Bazel rule. It just ignores the second part.
This means that IntelliJ cannot find the *ServiceLogging classes, as
they're not represented on the Bazel-generated classpath, and so
complains with lots of errors when working on the equivalent Api*Service
files.

To fix this, we can split these in two, compiling the base traits to
`ledger-api-scala-logging-base` and then the generated code separately.

It does result in an extra Bazel dependency for the users of
ledger-api-scala-logging, as Bazel doesn't realise transitive
dependencies for us.

* Release: Add `ledger-api-scala-logging-base` to the Maven list.
2019-12-09 16:02:59 +00:00
Samir Talwar
1033e48cb4
Ledger: Documentation for health checks. (#3779)
* ledger: Document the health checks.

* sandbox: Build a Docker image.

* sandbox: Create a sample Kubernetes YAML file.

* sandbox: Add health probes to the sample Kubernetes configuration file.

Startup and liveness are tested with a simple TCP connection to port
6865. Readiness checks are done with `grpc-health-probe`, which is added
to the Sandbox container image.

* sandbox: Link to kubernetes.yaml in the README and provide a disclaimer.

// changelog removed as it's not actually relevant to users

* sandbox: Don't try and build `sandbox-image-base` on Windows.

* Apply suggestions from code review

Co-Authored-By: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>
2019-12-09 12:43:20 +01:00
Samir Talwar
1d1c7e9033 sandbox: Increase the timeout in StaticTimeIT. (#3774)
It's currently quite flaky in CI; I think increasing it a little will
help.

Also fixes some warnings in the same file.
2019-12-09 07:53:40 +00:00
Samir Talwar
732c675e76 Sandbox: Perform JDBC health checks on a timer. (#3773)
* sandbox: HikariJdbcConnectionProvider.start(), rather than construction.

It's too easy to construct things; I'd like it to be obvious that we're
starting something (in this case a connection pool).

* sandbox: In SqlLedgerSpec, stop ledgers before shutting down PostgreSQL.

* sandbox: Perform JDBC health checks on a timer.

The problem with hooking into existing requests is that if the Sandbox
is running in a load balancer and reports itself as unhealthy, it might
be taken out of the load balancer. Without any requests going through,
it'll never realize it's healthy again, and so will remain thinking it's
unhealthy forever.
2019-12-06 17:25:11 +00:00
Samir Talwar
b7fdf2236c sandbox: Merge DbDispatcher and SqlExecutor. (#3753)
* sandbox: Inline SqlExecutor into DbDispatcher.

There's no clear delineation of responsibilities. I'll try and separate
some of this back out again later.

* sandbox: Make it clear that we're "starting" the DbDispatcher.

* sandbox: Simplify the promise-based behavior in DbDispatcher.

* sandbox: Rename `noOfShortLivedConnections` to `maxConnections`.
2019-12-06 15:09:58 +00:00
Gerolf Seitz
e1a59776a7 Increase party allocation timeout and mark test as flaky (#3768)
The timeout for witnessing the party allocation is now increased
to 30 seconds (from 10 seconds). Additionally the LotsOfParties
conformance test is marked as flaky.
2019-12-06 14:34:23 +00:00
Gerolf Seitz
17435d6e99 Sandbox: Remove streaming connections (#3682)
* Sandbox: Remove streaming connections

The separate database connection pool for streaming connections
was only used for the active contracts stream. However, a single
db connection was being occupied until the last active contract was
streamed over the Ledger API to the client. This effectively means
that only ever 2 concurrent active contract streams could exist.
No need to say that this is bad design.

The following changes happened:

- remove the db connection pool for streaming connections
- replace the streaming mechanism for active contracts with
  the already existing pagination mechanism in JdbcLedgerDao
- change the pagination mechanism to actually use database level
  limit and offset instead of doing the pagination "client side"
- configure the HikariDataSource with the metric registry

CHANGELOG_BEGIN
- [Sandbox] Improve loading of active contracts for the Sandbox SQL backend.
CHANGELOG_END

* Extract PaginatingAsyncStream from JdbcLedgerDao for testing

* Reset metrics registry before each test
2019-12-06 10:58:10 +00:00
Oliver Seeliger
655d3d6716 Disable multi-participant ledger api test by default (#3761) 2019-12-06 10:56:32 +00:00
Brian Healey
71205e1f78 Include party allocation related events in integrity check (#3758) 2019-12-06 09:22:52 +01:00
Gerolf Seitz
0c00b28c83
Party management (#3744)
* Implement Async party allocation

* Address Jussi's review.

- Remove comments about implicit party entries
- Remove PollingUtils#pollSingleUntilPersisted
- Remove ill-placed comment in SqlLedger

Review: https://github.com/digital-asset/daml/pull/3744#pullrequestreview-327453144

* Address Samir's review

- Slight improvement in InMemoryKVParticipantStateIT
- Fix typo in scaladoc
- Fix SqlLedgerSpec: remove unused param and rephrase clues

Review: https://github.com/digital-asset/daml/pull/3744#pullrequestreview-327461368

* Address Stefano's review

Review: https://github.com/digital-asset/daml/pull/3744#pullrequestreview-327455206

* Only poll from the ledger end just before submitting the party allocation request.
2019-12-05 17:50:21 +01:00
Samir Talwar
cb378017d9 sandbox: If the Flyway migrations fail, crash the process. (#3731)
* sandbox: If the Flyway migrations fail, crash the process.

Otherwise running it in the background can make it look like
everything's OK.

* reference-v2: If the Flyway migrations fail, crash the process.

Otherwise running it in the background can make it look like
everything's OK.

* sandbox: Remove an errant debugging `println`.

* sandbox: Use `DirectExecutionContext.implicitEC`.
2019-12-05 13:44:13 +00:00
mziolekda
68fc7de296
Refactor kv party allocation committer (#3701)
* convert party allocation to the new committer pattern

* scalafmt

* Use map with optional values for kvutils input state

We need to do this to detect when a submission has maliciously
omitted an input key.
2019-12-05 08:22:39 +01:00
Moritz Kiefer
ba30e86911
Split wired-in modules into separate LF packages (#3696)
This is a first step towards making sure that the package ids for
types defined in daml-prim and daml-stdlib don’t change. This PR
mostly adds all the necessary infrastructure for that and moves
GHC.Types and GHC.Prim to make sure it works.

Until data-dependencies are really solid and we have verified that we
no longer have performance issues with an increasing number of Haskell
packages, we still include the source files in daml-prim and then just
rewrite the references.

We will also need to add tests that these packages really have stable
ids but I’ll leave that for separate PRs since this doesn’t make that
much sense anyway until all of the types have moved to stable
packages.

CHANGELOG_BEGIN

- [DAML Compiler] The modules GHC.Prim and GHC.Types from daml-prim
have been moved to separate packages.

CHANGELOG_END
2019-12-04 16:42:48 +01:00
Jussi Mäki
95ddb65483
DAML Engine: accurate package dependency annotations (#3726)
* Track used packages during whole of engine submit

- Introduce MutableCompiledPackages interface
- Add TrackingCompiledPackages that tracks fetched packages
- Make used packages in transaction optional to distinguish between
  missing dependencies and empty set of dependencies.

* Reimplement package dependency tracking

- Compute direct dependencies of a package during decoding
- Compute transitive dependencies of a package when adding a package
  to engine.
- Annotate the resulting transaction with package dependencies
  in Engine.submit.

* Create Ast.Package with proper direct deps in scenario service

While we don't have use for direct dependencies of a package in
scenario service (only Engine.submit needs it), it's better to be
accurate.

This of course overapproximates the direct dependencies.

* Compile a each new package once in ConcurrentCompiledPackages
2019-12-04 15:01:21 +01:00
Stefano Baghino
9e2d0127f2 Fix comment explaining required claims for services (#3727)
Addresses https://github.com/digital-asset/daml/pull/3721#discussion_r353644232
2019-12-04 13:33:17 +00:00
Stefano Baghino
36da75e1d6
Add authentication support to Java command completion client (#3713)
* Add authentication support to Java command completion client

* Address https://github.com/digital-asset/daml/pull/3713#discussion_r353629606
2019-12-04 11:31:21 +01:00
Stefano Baghino
de0c3db1a1
Restore optional endpoints but adds check (#3722)
* Revert "ledger-api-test-tool: The endpoints are mandatory. (#3611)"

This reverts commit 603ee9367b.

* Restore LedgerTestContext requirement

* Exit early if there are no participants to test
2019-12-04 10:14:59 +01:00
Oliver Seeliger
c1319451bf Fix submissionId typo in JdbcLedgerDao logging parameter (#3679) 2019-12-02 15:55:30 +00:00
Samir Talwar
5dd38d54e8 sandbox: PostgreSQL health checks. (#3655)
* ledger-api-test-tool: Increase the duration when watching health.

This should hopefully stop CI from flaking out.

* reference-v2/sandbox: Avoid unnecessary companion object constructors.

I like indirection… when it does something.

* ledger: Propagate empty health checks throughout the services.

* reference: Remove duplication from the ReferenceServer object.

* ledger-api-common: Actually query a "reporter" in the health service.

* ledger-api-common: Report health per-component when required.

* ledger-api-health: Use a Map to represent components for health checks.

* sandbox: Fix warnings in SqlLedgerSpec.

* ledger-api-common: Throw GrpcHealthService errors inside the Future.

* ledger: Implement health checks against the PostgreSQL connection.

Without proper testing, because I am not great at this.

* sandbox: Remove duplication and fix warnings in PostgresAround.

* sandbox: Test the SQL Ledger's health reporting on failure.

* sandbox: Don't report as unhealthy until 3 connections fail.

* ledger-api-health: Remove unused parts of the API.

Bit of premature design there.

* sandbox: Rename the "ledger" health check to "write".

* participant-state: Add the ReportsHealth trait to ReadService.

* ledger-api-common: `Future.fromTry(Try(…))` -> `Future(…)`.

* ledger-api-common: Make it clearer that StubReporter closes over health.

* ledger-api-common: Explain the HealthService watch tests with comments.

* sandbox: Clean up SqlLedger a bit.

* sandbox: Don't try and stop PostgreSQL twice in PostgresAround.

* bazel_tools: Windows rlocation lookups need to be with forward slashes.

* release: Fix case of "true".

* ledger-api-common: Make `GrpcHealthService::matchResponse` return a Try.

* ledger-api-common: Make `GrpcHealthServiceSpec` async.

* sandbox: Make a couple of DB classes final.

* sandbox: Avoid importing `X._` in PostgresAround.

* sandbox: Add clues to the SqlLedgerSpec's multiple assertions.

* sandbox: If PostgreSQL doesn't come back up, keep retrying.

* sandbox: Remove duplication in SqlLedgerSpec.

* sandbox: In SqlLedgerSpec, actually wait for the health to change.

* sandbox: In PostgresAround, make stopping PostgreSQL idempotent.

* sandbox: Simplify the SqlLedgerSpec to make it work on CI.

It's worth a shot.

* ledger-api-common: Simplify the GrpcHealthServiceSpec a little.

And add a changelog.

CHANGELOG_BEGIN

- [Ledger API Server] Add a health check endpoint conforming to the
  `GRPC Health Checking Protocol <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_.
- [Ledger API Server] Add health checks for index database connectivity.
- [Participant State API] Add a mandatory ``currentHealth()`` method to
  ``IndexService``, ``ReadService`` and ``WriteService``.

CHANGELOG_END

* sandbox: Improve the Javadoc layout for DbDispatcher.

* sandbox: Capitalize constants in SqlExecutor.

* ledger-api-health: Convert HealthStatus to an abstract class.
2019-11-29 15:07:43 +00:00
Oliver Seeliger
ef08936c05 Ledger api CommandService conformance test fixes (#3675)
Adding missing synchronize to two tests
2019-11-29 09:57:14 +00:00
nickchapman-da
d3d6891021
Rename daml lf tuples (#3658)
* Rename DAML-LF tuples as structs (structural records)
2019-11-28 07:58:30 +00:00