daml/ledger-api
Samir Talwar c2f4231442
rs-grpc-bridge: If the execution sequencer pool is closed, fail fast. (#6474)
On closing the SingleThreadExecutionSequencerPool, all sequencers in the
pool are set to null (presumably to encourage garbage collection).
However, you can still ask for the next executor, which will then return
`null`, causing all manner of problems down the line.

This change forces the failure early, making it easier to debug, by
checking whether the pool is closed and if so, throwing an
`IllegalStateException`.

We see these null pointer exceptions in the `BotTest` test logs from
time to time.

CHANGELOG_BEGIN
- [RxJava Bindings] We now fail faster, with a more meaningful error,
  when RxJava flows continue running after shutting down the client.
CHANGELOG_END
2020-06-24 14:10:45 +00:00
..
grpc-definitions Improve explanation of offsets on the protobuf docs (#6465) 2020-06-23 14:11:07 +00:00
perf-testing disable warts.Any and remove most suppressions (#6132) 2020-05-28 16:53:41 +00:00
rs-grpc-akka disable warts.Any and remove most suppressions (#6132) 2020-05-28 16:53:41 +00:00
rs-grpc-bridge rs-grpc-bridge: If the execution sequencer pool is closed, fail fast. (#6474) 2020-06-24 14:10:45 +00:00
rs-grpc-testing-utils Use com.daml as root package (#5343) 2020-04-05 19:49:57 +02:00
sample-service Use com.daml as root package (#5343) 2020-04-05 19:49:57 +02:00
scripts open-sourcing daml 2019-04-04 09:33:38 +01:00
testing-utils Use com.daml as root package (#5343) 2020-04-05 19:49:57 +02:00
.gitignore open-sourcing daml 2019-04-04 09:33:38 +01:00
.sbtopts open-sourcing daml 2019-04-04 09:33:38 +01:00
BUILD.bazel replace DAML Authors with DA in copyright headers (#5228) 2020-03-27 01:26:10 +01:00
README.md correct broken ledger-api-introduction links (#1565) 2019-06-07 15:18:21 -04:00

Ledger-API

This is the API code for the ledger, which contains:

  • gRPC API definitions
  • Generated Scala bindings
  • gRPC-RS bridge
  • gRPC-Akka bridge
  • Server API classes with validation
  • Prototype Server
  • Prototype Clients
    • Scala
    • Python
    • Node.js
  • Integration tests for all of the above

Documentation

The Ledger API Introduction contains introductory material as well as links to the protodocs reference documentation.

See the docs README for more about how to preview and publish documentation.