object ErrorCategory extends Serializable
- Alphabetic
- By Inheritance
- ErrorCategory
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
-  abstract class ErrorCategoryImpl extends AnyRef
-   final  case class GenericErrorCategory(grpcCode: Option[Code], logLevel: Level, retryable: Option[ErrorCategoryRetry], securitySensitive: Boolean, asInt: Int, rank: Int) extends ErrorCategoryImpl with ErrorCategory with Product with SerializableGeneric error category class meant to be used as a data container for information deserialized from gRPC statuses (see com.daml.error.utils.DeserializedCantonError). Generic error category class meant to be used as a data container for information deserialized from gRPC statuses (see com.daml.error.utils.DeserializedCantonError). Note: Do NOT use this class for adding error category information to error code instances but instead re-use existing ones or define new ones (see ErrorCategory.all) 
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
 
-  val all: Seq[ErrorCategory]
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-  def fromInt(ii: Int): Option[ErrorCategory]
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
 
-  implicit val orderingErrorType: Ordering[ErrorCategory]
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   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])
 
-    case object AuthInterceptorInvalidAuthenticationCredentials extends ErrorCategoryImpl with ErrorCategory with Product with SerializableClient is not authenticated properly Client is not authenticated properly - Annotations
- @Description(description = """The request does not have valid authentication credentials for the operation. This error is exposed on the API with grpc-status UNAUTHENTICATED without any details for security reasons""") @RetryStrategy(retryStrategy = """Retry after application operator intervention.""") @Resolution(resolution = """Expectation: this is an application bug, application misconfiguration or ledger-level
 |misconfiguration. Resolution requires application and/or ledger operator intervention.""")
 
-    case object BackgroundProcessDegradationWarning extends ErrorCategoryImpl with ErrorCategory with Product with SerializableBackground daemon notifying about observed degradation Background daemon notifying about observed degradation - Annotations
- @Description(description = """This error category is used internally to signal to the system operator an internal degradation.""") @RetryStrategy(retryStrategy = """Not an API error, therefore not retryable.""") @Resolution(resolution = """Inspect details of the specific error for more information.""")
 
-    case object ContentionOnSharedResources extends ErrorCategoryImpl with ErrorCategory with Product with SerializableFailure due to contention on some resources Failure due to contention on some resources - Annotations
- @Description(description = """The request could not be processed due to shared processing resources
 |(e.g. locks or rate limits that replenish quickly) being occupied.
 |If the resource is known (i.e. locked contract), it will be included as a resource info. (Not known
 |resource contentions are e.g. overloaded networks where we just observe timeouts, but can’t pin-point the cause).""") @RetryStrategy(retryStrategy = "Retry quickly (indefinitely or limited), but do not retry in load balancer.") @Resolution(resolution = """Expectation: this is processing-flow level contention that should be handled by
 |retrying the request with appropriate backoff.""")
 
-    case object DeadlineExceededRequestStateUnknown extends ErrorCategoryImpl with ErrorCategory with Product with SerializableRequest completion not observed within a pre-defined window Request completion not observed within a pre-defined window - Annotations
- @Description(description = """The request might not have been processed, as its deadline expired before its
 |completion was signalled. Note that for requests that change the state of the
 |system, this error may be returned even if the request has completed successfully.
 |Note that known and well-defined timeouts are signalled as
 |[[ContentionOnSharedResources]], while this category indicates that the
 |state of the request is unknown.""") @RetryStrategy(retryStrategy = "Retry for a limited number of times with deduplication.") @Resolution(resolution = """Expectation: the deadline might have been exceeded due to transient resource
 |congestion or due to a timeout in the request processing pipeline being too low.
 |The transient errors might be solved by the application retrying.
 |The non-transient errors will require operator intervention to change the timeouts.""")
 
-    case object InsufficientPermission extends ErrorCategoryImpl with ErrorCategory with Product with SerializableClient does not have appropriate permissions Client does not have appropriate permissions - Annotations
- @Description(description = """The caller does not have permission to execute the specified operation. This error is exposed on the API with grpc-status PERMISSION_DENIED without any details for security reasons""") @RetryStrategy(retryStrategy = """Retry after application operator intervention.""") @Resolution(resolution = """Expectation: this is an application bug or application misconfiguration. Resolution requires
 |application operator intervention.""")
 
-    case object InternalUnsupportedOperation extends ErrorCategoryImpl with ErrorCategory with Product with Serializable- Annotations
- @Description(description = """This error category is used to signal that an unimplemented code-path has been triggered by a client or participant operator request. This error is exposed on the API with grpc-status UNIMPLEMENTED without any details for security reasons""") @RetryStrategy(retryStrategy = """Errors in this category are non-retryable.""") @Resolution(resolution = """This error is caused by a ledger-level misconfiguration or by an implementation bug.
 |Resolution requires participant operator intervention.""")
 
-    case object InvalidGivenCurrentSystemStateOther extends ErrorCategoryImpl with ErrorCategory with Product with SerializableA failure due to the current system state A failure due to the current system state - Annotations
- @Description(description = """The mutable state of the system does not satisfy the preconditions required to execute the request.
 |We consider the whole Daml ledger including ledger config, parties, packages, users and command
 |deduplication to be mutable system state. Thus all Daml interpretation errors are reported
 |as this error or one of its specializations.""") @RetryStrategy(retryStrategy = """Retry after application operator intervention.""") @Resolution(resolution = """ALREADY_EXISTS and NOT_FOUND are special cases for the existence and non-existence of well-defined
 |entities within the system state; e.g., a .dalf package, contracts ids, contract keys, or a
 |transaction at an offset. OUT_OF_RANGE is a special case for reading past a range. Violations of the
 |Daml ledger model always result in these kinds of errors. Expectation: this is due to
 |application-level bugs, misconfiguration or contention on application-visible resources; and might be
 |resolved by retrying later, or after changing the state of the system. Handling these errors requires
 |an application-specific strategy and/or operator intervention.""")
 
-    case object InvalidGivenCurrentSystemStateResourceExists extends ErrorCategoryImpl with ErrorCategory with Product with SerializableA failure due to a resource already existing in the current system state A failure due to a resource already existing in the current system state - Annotations
- @Description(description = """Special type of InvalidGivenCurrentSystemState referring to a well-defined
 |resource.""") @RetryStrategy(retryStrategy = """Inspect resource failure and retry after resource failure has been resolved (depends on type of
 |resource and application).""") @Resolution(resolution = """Same as [[InvalidGivenCurrentSystemStateOther]].""")
 
-    case object InvalidGivenCurrentSystemStateResourceMissing extends ErrorCategoryImpl with ErrorCategory with Product with SerializableA failure due to a resource not existing in the current system state A failure due to a resource not existing in the current system state - Annotations
- @Description(description = """Special type of InvalidGivenCurrentSystemState referring to a well-defined
 |resource.""") @RetryStrategy(retryStrategy = """Inspect resource failure and retry after resource failure has been resolved (depends on type of
 |resource and application).""") @Resolution(resolution = """Same as [[InvalidGivenCurrentSystemStateOther]].""")
 
-    case object InvalidGivenCurrentSystemStateSeekAfterEnd extends ErrorCategoryImpl with ErrorCategory with Product with SerializableThe supplied offset is out of range The supplied offset is out of range - Annotations
- @Description(description = """This error is only used by the Ledger API server in connection with invalid offsets.""") @RetryStrategy(retryStrategy = """Retry after application operator intervention.""") @Resolution(resolution = """Expectation: this error is only used by the Ledger API server in connection with invalid offsets.""")
 
-    case object InvalidIndependentOfSystemState extends ErrorCategoryImpl with ErrorCategory with Product with SerializableA request which is never going to be valid A request which is never going to be valid - Annotations
- @Description(description = """The request is invalid independent of the state of the system.""") @RetryStrategy(retryStrategy = """Retry after application operator intervention.""") @Resolution(resolution = """Expectation: this is an application bug or ledger-level misconfiguration (e.g. request size limits).
 |Resolution requires application and/or ledger operator intervention.""")
 
-    case object SecurityAlert extends ErrorCategoryImpl with ErrorCategory with Product with Serializable- Annotations
- @Description(description = """A potential attack or a faulty peer component has been detected.
 |This error is exposed on the API with grpc-status INVALID_ARGUMENT without any details for security reasons.""") @RetryStrategy(retryStrategy = "Errors in this category are non-retryable.") @Resolution(resolution = """Expectation: this can be a severe issue that requires operator attention or intervention, and
 |potentially vendor support. It means that the system has detected invalid information that can be attributed
 |to either faulty or malicious manipulation of data coming from a peer source.""")
 
-    case object SystemInternalAssumptionViolated extends ErrorCategoryImpl with ErrorCategory with Product with SerializableSome internal error Some internal error - Annotations
- @Description(description = "Request processing failed due to a violation of system internal invariants.  This error is exposed on the API with grpc-status INTERNAL without any details for security reasons") @RetryStrategy(retryStrategy = "Retry after operator intervention.") @Resolution(resolution = """Expectation: this is due to a bug in the implementation or data corruption in the systems databases.
 |Resolution will require operator intervention, and potentially vendor support.""")
 
-    case object TransientServerFailure extends ErrorCategoryImpl with ErrorCategory with Product with SerializableService is temporarily unavailable Service is temporarily unavailable - Annotations
- @Description(description = "One of the services required to process the request was not available.") @RetryStrategy(retryStrategy = "Retry quickly in load balancer.") @Resolution(resolution = "Expectation: transient failure that should be handled by retrying the request with appropriate backoff.")