final case class TestingConfigInternal(testSequencerClientFor: Set[TestSequencerClientFor] = Set.empty, metricsFactoryType: MetricsFactoryType = External, supportAdhocMetrics: Boolean = false, initializeGlobalOpenTelemetry: Boolean = true, doNotUseCommitmentCachingFor: Set[String] = Set.empty, reinterpretationTestHookFor: (String) => () => Unit = _ => () => (), maxCommitmentSendDelayMillis: Option[NonNegativeInt] = None, sequencerTransportSeed: Option[Long] = None, participantsWithoutLapiVerification: Set[String] = Set.empty, enableInMemoryTransactionStoreForParticipants: Boolean = false, warnOnAcsCommitmentDegradation: Boolean = true) extends Product with Serializable
Used to set parameters for testing when these don't need to be exposed in a config file.
- supportAdhocMetrics
if true, then creating adhoc metrics is supported (conflicts with histogram redefinitions)
- initializeGlobalOpenTelemetry
Determines whether the OpenTelemetry instance we build is set as the global OpenTelemetry instance. This is set to false during tests to prevent failures as the global OpenTelemetry instance can be initialized just once.
- doNotUseCommitmentCachingFor
A participant whose participant.uid.identifier that matches one of these strings will be excluded from the commitment caching.
- reinterpretationTestHookFor
Hooks allowing participants to perform actions during reinterpretation interruptions. The argument to pass is a function that takes a string as an argument and returns the hook for the corresponding member whose identifier matches the string. The hook itself is a function that takes no argument and returns
Unit
. The default value provides hooks that do nothing for all members. Example:def myHooks(identifier: String): () => Unit = identifier match { case "participant1" => () => println(s"do something special for `participant1`") case _ => () => println(s"no action") }
See also the example in
EngineComputationAbortIntegrationTest
.- maxCommitmentSendDelayMillis
The maximum delay for sending commitments in milliseconds. If not set, commitment sending is delayed by a random amount at most the default value.
- sequencerTransportSeed
The seed to be used for choosing threshold number of sequencer transports.
- warnOnAcsCommitmentDegradation
When true, we log a warning when the participant falls behind in producing ACS commitments. This is the default. A false value lowers the logging level to debug, while keeping the degradation of the health status. In tests, we should set it to false, because any test with high load can cause a participant to lag behind in producing commitments, which would produce an ACS commitment degradation warning and cause a CI test to be reported as failed. Because in our testing framework any test can run colocated with any other test, any test, load-intensive or not, can issue the warning. Therefore, this parameter should be set to false in tests, unless the test expressly checks the behavior of the degradation.
- Alphabetic
- By Inheritance
- TestingConfigInternal
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TestingConfigInternal(testSequencerClientFor: Set[TestSequencerClientFor] = Set.empty, metricsFactoryType: MetricsFactoryType = External, supportAdhocMetrics: Boolean = false, initializeGlobalOpenTelemetry: Boolean = true, doNotUseCommitmentCachingFor: Set[String] = Set.empty, reinterpretationTestHookFor: (String) => () => Unit = _ => () => (), maxCommitmentSendDelayMillis: Option[NonNegativeInt] = None, sequencerTransportSeed: Option[Long] = None, participantsWithoutLapiVerification: Set[String] = Set.empty, enableInMemoryTransactionStoreForParticipants: Boolean = false, warnOnAcsCommitmentDegradation: Boolean = true)
- supportAdhocMetrics
if true, then creating adhoc metrics is supported (conflicts with histogram redefinitions)
- initializeGlobalOpenTelemetry
Determines whether the OpenTelemetry instance we build is set as the global OpenTelemetry instance. This is set to false during tests to prevent failures as the global OpenTelemetry instance can be initialized just once.
- doNotUseCommitmentCachingFor
A participant whose participant.uid.identifier that matches one of these strings will be excluded from the commitment caching.
- reinterpretationTestHookFor
Hooks allowing participants to perform actions during reinterpretation interruptions. The argument to pass is a function that takes a string as an argument and returns the hook for the corresponding member whose identifier matches the string. The hook itself is a function that takes no argument and returns
Unit
. The default value provides hooks that do nothing for all members. Example:def myHooks(identifier: String): () => Unit = identifier match { case "participant1" => () => println(s"do something special for `participant1`") case _ => () => println(s"no action") }
See also the example in
EngineComputationAbortIntegrationTest
.- maxCommitmentSendDelayMillis
The maximum delay for sending commitments in milliseconds. If not set, commitment sending is delayed by a random amount at most the default value.
- sequencerTransportSeed
The seed to be used for choosing threshold number of sequencer transports.
- warnOnAcsCommitmentDegradation
When true, we log a warning when the participant falls behind in producing ACS commitments. This is the default. A false value lowers the logging level to debug, while keeping the degradation of the health status. In tests, we should set it to false, because any test with high load can cause a participant to lag behind in producing commitments, which would produce an ACS commitment degradation warning and cause a CI test to be reported as failed. Because in our testing framework any test can run colocated with any other test, any test, load-intensive or not, can issue the warning. Therefore, this parameter should be set to false in tests, unless the test expressly checks the behavior of the degradation.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- val doNotUseCommitmentCachingFor: Set[String]
- val enableInMemoryTransactionStoreForParticipants: Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- val initializeGlobalOpenTelemetry: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val maxCommitmentSendDelayMillis: Option[NonNegativeInt]
- val metricsFactoryType: MetricsFactoryType
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val participantsWithoutLapiVerification: Set[String]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val reinterpretationTestHookFor: (String) => () => Unit
- val sequencerTransportSeed: Option[Long]
- val supportAdhocMetrics: Boolean
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val testSequencerClientFor: Set[TestSequencerClientFor]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val warnOnAcsCommitmentDegradation: Boolean