Skip to content
Discussions/App Development/TrackerImpl configForum ↗

TrackerImpl config

App Development7 posts486 views5 likesLast activity May 2020
SH
shaynefletcherOP
May 2020

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?

ST
stefanobaghino-da
May 2020

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.

SH
shaynefletcher
May 2020

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

ST
stefanobaghino-da
May 2020

That is not configurable via the CLI.

SH
shaynefletcher
May 2020

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?

ST
stefanobaghino-da
May 2020

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:

SH
shaynefletcher
May 2020

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

← Back to Discussions