From 5ebd0a708bf105fadb2e4ecdaf124e93c522674e Mon Sep 17 00:00:00 2001 From: Ryan Roberts Date: Wed, 15 Sep 2021 18:11:18 +0100 Subject: [PATCH] fix: update daml to 14.2, enable concurrency Signed-off-by: Ryan Roberts --- Makefile | 2 +- pom.xml | 2 +- .../daml/participant/InProcLedgerSubmitter.java | 7 ++++--- src/main/scala/com/blockchaintp/daml/qldb/Main.scala | 7 +------ .../com/blockchaintp/daml/runtime/ParticipantOwner.scala | 7 +++---- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index c140e60a..405c532b 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ build: $(MARKERS)/build_mvn $(MARKERS)/build_ledgertest package: $(MARKERS)/package_mvn $(MARKERS)/package_docker -test: $(MARKERS)/test_mvn +test: $(MARKERS)/test_mvn $(MARKERS)/test_daml test_daml: $(MARKERS)/test_daml ${} diff --git a/pom.xml b/pom.xml index cc7335cf..55505c56 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,7 @@ UTF-8 3.17.3 - 1.13.1 + 1.14.2 2.13 diff --git a/src/main/java/com/blockchaintp/daml/participant/InProcLedgerSubmitter.java b/src/main/java/com/blockchaintp/daml/participant/InProcLedgerSubmitter.java index f20b0a04..96ffcb8c 100644 --- a/src/main/java/com/blockchaintp/daml/participant/InProcLedgerSubmitter.java +++ b/src/main/java/com/blockchaintp/daml/participant/InProcLedgerSubmitter.java @@ -33,6 +33,7 @@ import com.daml.ledger.participant.state.kvutils.Raw; import com.daml.ledger.participant.state.v1.SubmissionResult; import com.daml.ledger.validator.SubmissionValidator; +import com.daml.ledger.validator.SubmissionValidator$; import com.daml.ledger.validator.ValidatingCommitter; import com.daml.lf.engine.Engine; import com.daml.metrics.Metrics; @@ -102,18 +103,18 @@ public InProcLedgerSubmitter(final Engine theEngine, final Metrics theMetrics, dispatcher = theDispatcher; comitter = new ValidatingCommitter<>(TimeProvider.UTC$.MODULE$::getCurrentTime, - SubmissionValidator.create( + SubmissionValidator$.MODULE$.createForTimeMode( new StateAccess(CoercingStore.from(Bijection.of(Raw.StateKey::bytes, Raw.StateKey$.MODULE$::apply), Bijection.of(Raw.Envelope::bytes, Raw.Envelope$.MODULE$::apply), theStateStore), writer), () -> logEntryIdToDamlLogEntryId(Functions.uncheckFn(writer::begin).apply()), false, - new StateCache<>(new LRUCache<>(STATE_CACHE_SIZE)), theEngine, theMetrics), + new StateCache<>(new LRUCache<>(STATE_CACHE_SIZE)), theEngine, theMetrics, false), r -> { LOG.info("Signal new head {}", () -> r + 1); dispatcher.signalNewHead(r + 1); return BoxedUnit.UNIT; }); - context = scala.concurrent.ExecutionContext.fromExecutorService(Executors.newWorkStealingPool()); + context = scala.concurrent.ExecutionContext.fromExecutorService(Executors.newCachedThreadPool()); } @Override diff --git a/src/main/scala/com/blockchaintp/daml/qldb/Main.scala b/src/main/scala/com/blockchaintp/daml/qldb/Main.scala index c267b3ab..c85f84db 100644 --- a/src/main/scala/com/blockchaintp/daml/qldb/Main.scala +++ b/src/main/scala/com/blockchaintp/daml/qldb/Main.scala @@ -64,12 +64,6 @@ object Main extends App { "daml-on-qldb", new LedgerFactory((config: Config[ExtraConfig], builder: ParticipantBuilder[QldbIdentifier, QldbAddress]) => { - val httpClient = NettyNioAsyncHttpClient.builder.maxConcurrency(NETTY_MAX_CONCURRENCY).build - val clientBuilder = S3AsyncClient.builder - .httpClient(httpClient) - .region(Region.of(config.extra.region)) - .credentialsProvider(DefaultCredentialsProvider.builder.build) - if (config.extra.createAws) { try { val qldbClient = QldbClient.builder @@ -106,6 +100,7 @@ object Main extends App { QldbDriver.builder .ledger(Aws.complyWithQldbLedgerNaming(config.ledgerId)) .sessionClientBuilder(sessionBuilder) + .maxConcurrentTransactions(100) .ionSystem(ionSystem) .build() diff --git a/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala b/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala index 2438b9c1..e70744a0 100644 --- a/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala +++ b/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala @@ -17,13 +17,12 @@ import com.blockchaintp.daml.address.Identifier import com.blockchaintp.daml.address.LedgerAddress import com.blockchaintp.daml.participant.Participant import com.blockchaintp.daml.participant.ParticipantBuilder -import com.daml.ledger.participant.state.kvutils.KeyValueSubmission +import com.daml.ledger.api.domain.LedgerId import com.daml.ledger.participant.state.kvutils.app.Config -import com.daml.ledger.participant.state.v1.LedgerId -import com.daml.ledger.participant.state.v1.ParticipantId import com.daml.ledger.resources.Resource import com.daml.ledger.resources.ResourceContext import com.daml.ledger.resources.ResourceOwner +import com.daml.lf.data.Ref.ParticipantId import com.daml.lf.engine.Engine import com.daml.logging.LoggingContext import com.daml.metrics.Metrics @@ -35,7 +34,7 @@ class ParticipantOwner[ExtraConfig, Id <: Identifier, Address <: LedgerAddress]( val engine: Engine, val metrics: Metrics, val logCtx: LoggingContext, - val ledgerId: LedgerId, + val ledgerId: String, val participantId: ParticipantId, val config: Config[ExtraConfig], val build: (Config[ExtraConfig], ParticipantBuilder[Id, Address]) => ParticipantBuilder[Id, Address]