diff --git a/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala b/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala index 53e03a598e..20550cf49c 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala @@ -240,7 +240,7 @@ private[daml] object ApiServices { ledgerId, commandConfig.inputBufferSize, commandConfig.maxCommandsInFlight, - commandConfig.retentionPeriod, + commandConfig.trackerRetentionPeriod, ), // Using local services skips the gRPC layer, improving performance. ApiCommandService.LocalServices( diff --git a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiCommandService.scala b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiCommandService.scala index 3765d90c47..8abcb1cd18 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiCommandService.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiCommandService.scala @@ -164,7 +164,7 @@ private[apiserver] object ApiCommandService { loggingContext: LoggingContext, ): CommandServiceGrpc.CommandService with GrpcApiService = { val submissionTracker = new TrackerMap.SelfCleaning( - configuration.retentionPeriod, + configuration.trackerRetentionPeriod, Tracking.getTrackerKey, Tracking.newTracker(configuration, services, ledgerConfigurationSubscription, metrics), trackerCleanupInterval, @@ -184,7 +184,7 @@ private[apiserver] object ApiCommandService { ledgerId: LedgerId, inputBufferSize: Int, maxCommandsInFlight: Int, - retentionPeriod: FiniteDuration, + trackerRetentionPeriod: FiniteDuration, ) final case class LocalServices( diff --git a/ledger/participant-integration-api/src/main/scala/platform/configuration/CommandConfiguration.scala b/ledger/participant-integration-api/src/main/scala/platform/configuration/CommandConfiguration.scala index fe8a913fda..b110443ce8 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/configuration/CommandConfiguration.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/configuration/CommandConfiguration.scala @@ -19,16 +19,16 @@ import scala.concurrent.duration.{DurationInt, FiniteDuration} * transaction has been shipped via the WriteService. * @param maxCommandsInFlight * Maximum number of submitted commands waiting to be completed for each party. - * @param retentionPeriod - * For how long the command service will keep an active command tracker for a given party. - * A longer retention period allows to not instantiate a new tracker for a party that seldom acts. - * A shorter retention period allows to quickly remove unused trackers. + * @param trackerRetentionPeriod + * The duration that the command service will keep an active command tracker for a given set + * of parties. A longer period cuts down on the tracker instantiation cost for a party that + * seldom acts. A shorter period causes a quick removal of unused trackers. */ final case class CommandConfiguration( inputBufferSize: Int, maxParallelSubmissions: Int, maxCommandsInFlight: Int, - retentionPeriod: FiniteDuration, + trackerRetentionPeriod: FiniteDuration, ) object CommandConfiguration { @@ -39,6 +39,6 @@ object CommandConfiguration { inputBufferSize = 512, maxParallelSubmissions = 512, maxCommandsInFlight = 256, - retentionPeriod = DefaultTrackerRetentionPeriod, + trackerRetentionPeriod = DefaultTrackerRetentionPeriod, ) } diff --git a/ledger/participant-state/kvutils/app/src/main/scala/com/daml/ledger/participant/state/kvutils/app/Config.scala b/ledger/participant-state/kvutils/app/src/main/scala/com/daml/ledger/participant/state/kvutils/app/Config.scala index d705e25b8b..2ba584b235 100644 --- a/ledger/participant-state/kvutils/app/src/main/scala/com/daml/ledger/participant/state/kvutils/app/Config.scala +++ b/ledger/participant-state/kvutils/app/src/main/scala/com/daml/ledger/participant/state/kvutils/app/Config.scala @@ -372,13 +372,17 @@ object Config { opt[Duration]("tracker-retention-period") .optional() .action((value, config) => - config.copy(commandConfig = - config.commandConfig - .copy(retentionPeriod = FiniteDuration(value.getSeconds, TimeUnit.SECONDS)) + config.copy( + commandConfig = config.commandConfig.copy( + trackerRetentionPeriod = FiniteDuration(value.getSeconds, TimeUnit.SECONDS) + ) ) ) .text( - s"How long will the command service keep an active command tracker for a given party. A longer period cuts down on the tracker instantiation cost for a party that seldom acts. A shorter period causes a quick removal of unused trackers. Default is ${CommandConfiguration.DefaultTrackerRetentionPeriod}." + "The duration that the command service will keep an active command tracker for a given set of parties." + + " A longer period cuts down on the tracker instantiation cost for a party that seldom acts." + + " A shorter period causes a quick removal of unused trackers." + + s" Default is ${CommandConfiguration.DefaultTrackerRetentionPeriod}." ) opt[Int]("max-inbound-message-size") diff --git a/ledger/participant-state/kvutils/app/src/test/scala/com/daml/ledger/participant/state/kvutils/app/ConfigSpec.scala b/ledger/participant-state/kvutils/app/src/test/scala/com/daml/ledger/participant/state/kvutils/app/ConfigSpec.scala index 4e90eedf53..2b28baa5a6 100644 --- a/ledger/participant-state/kvutils/app/src/test/scala/com/daml/ledger/participant/state/kvutils/app/ConfigSpec.scala +++ b/ledger/participant-state/kvutils/app/src/test/scala/com/daml/ledger/participant/state/kvutils/app/ConfigSpec.scala @@ -118,7 +118,7 @@ final class ConfigSpec ) .getOrElse(parsingFailure()) - config.commandConfig.retentionPeriod should be(expectedPeriod) + config.commandConfig.trackerRetentionPeriod should be(expectedPeriod) } it should "set the client-auth parameter when provided" in {