Packages

object ParticipantBackpressure extends ErrorCode

Annotations
@Explanation(explanation = """This error occurs when a participant rejects a command due to excessive load.
|Load can be caused by the following factors:
|1. when commands are submitted to the participant through its Ledger API,
|2. when the participant receives validation requests from other participants through a connected synchronizer.
|
|In order to prevent the participant of being overloaded, it will start to reject commands once a
|certain load threshold is reached. The main threshold is the number of in-flight validation requests
|that the participant is currently processing. These requests can be caused either by this participant
|or by other participants.
|
|For a submission to be counted as an in-flight validation request, the participant must first
|observe its sequencing, which means that there is a delay between the submission and the submitted
|command to be counted towards the currently in-flight validation requests. In order to avoid an
|overload situation by a sudden burst of commands, the participant will also enforce a rate limit
|before a submission is accepted for interpretation. This rate limit can be configured with a steady
|state rate and a burst factor. The burst factor is a multiplier of the steady state rate that allows
|for a certain number of commands to be submitted in a burst before the rate limit kicks in.
|
|As an example, with a rate limit of 1000 commands per second and a burst factor of 2, the rate limit
|will kick in once 2000 commands have been submitted on top of the commands allowed by the rate limit.
|
|"""
)
@Resolution(resolution = """Verify the limits configured, the load and the command latency on the participant and adjust if necessary.
|If the participant is highly loaded, ensure that your application waits some time with the resubmission, preferably with some backoff factor.
|If possible, ask other participants to send fewer requests; the synchronizer operator can enforce this by imposing a rate limit."""
)
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ParticipantBackpressure
  2. ErrorCode
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class Rejection(reason: String)(implicit errorLogger: ErrorLoggingContext) extends DamlErrorWithDefiniteAnswer with Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val category: ErrorCategory
    Definition Classes
    ErrorCode
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. implicit val code: ErrorCode
    Definition Classes
    ErrorCode
  8. def codeStr(correlationId: Option[String]): String

    The machine readable error code string, uniquely identifiable by the error id, error category and correlation id.

    The machine readable error code string, uniquely identifiable by the error id, error category and correlation id. e.g. NOT_CONNECTED_TO_ANY_SYNCHRONIZER(2,ABC234)

    Definition Classes
    ErrorCode
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def errorConveyanceDocString: Option[String]

    The error conveyance doc string provides a statement about the form this error will be returned to the user

    The error conveyance doc string provides a statement about the form this error will be returned to the user

    Definition Classes
    ErrorCode
  12. def exposedViaApi: Boolean

    True if this error may appear on the API

    True if this error may appear on the API

    Attributes
    protected
    Definition Classes
    ErrorCode
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  15. val id: String
    Definition Classes
    ErrorCode
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def logLevel: Level

    Log level of the error code

    Log level of the error code

    Generally, the log level is defined by the error category. In rare cases, it might be overridden by the error code.

    Definition Classes
    ParticipantBackpressureErrorCode
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  21. implicit val parent: ErrorClass
    Definition Classes
    ErrorCode
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toMsg(cause: => String, correlationId: Option[String], limit: Option[Int]): String

    returns

    message including error category id, error code id, correlation id and cause

    Definition Classes
    ErrorCode
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from ErrorCode

Inherited from AnyRef

Inherited from Any

Ungrouped