TrackerImpl config

I’m a newbie that got dropped into trying to quickly muster some support for questions coming out of a production upgrade.

The file sandbox/src/main/scala/com/digitalasset/platform/apiserver/services/tracking/TrackerImpl.scala defines an object TrackerImpl.

(1) What role does this object play?
(2) It appears to host a couple of fixed size input queues where the size is determined by configuration constants:

 final case class Configuration(
      ledgerId: LedgerId,
      inputBufferSize: Int,
      maxCommandsInFlight: Int,
      limitMaxCommandsInFlight: Boolean,
      retentionPeriod: FiniteDuration,
      // TODO(RA): this should be updated dynamically from the ledger configuration
      maxDeduplicationTime: java.time.Duration,
  )

I presume this all relates to ledger configuration. Are these constants configurable from the ledger command line? How does one manipulate them?

1 Like

daml sandbox --help probably puts it best. :smiley:

--max-commands-in-flight <value>
The maximum number of unconfirmed commands in flight in CommandService.

The default should be 256.

1 Like

Yes, but in fact it is the inputBufferSize: Int, one I have an interest in. I did of course look at the help :wink:

1 Like

That is not configurable via the CLI.

Rather suspected it wasn’t. Should it be? Perhaps it’s intimately related to other parameters from which it can thus be deduced in which case no I guess?

I agree it should be configurable. Perhaps if you have further points we can merge this discussion in this other thread where this point popped up. :slightly_smiling_face:

1 Like

I’m satisfied and happy for this thread to be merged. Thank-you!

1 Like