Module: WaterDrop::Errors

Defined in:
lib/waterdrop/errors.rb

Overview

Namespace used to encapsulate all the internal errors of WaterDrop

Defined Under Namespace

Classes: ProduceManyError

Constant Summary collapse

BaseError =

Base class for all the WaterDrop internal errors

Class.new(StandardError)
ConfigurationInvalidError =

Raised when configuration doesn’t match with validation contract

Class.new(BaseError)
VariantInvalidError =

Raised when variant alteration is not valid

Class.new(BaseError)
ProducerNotConfiguredError =

Raised when we want to use a producer that was not configured

Class.new(BaseError)
ProducerAlreadyConfiguredError =

Raised when we want to reconfigure a producer that was already configured

Class.new(BaseError)
ProducerUsedInParentProcess =

Raised when trying to use connected producer from a forked child process Producers cannot be used in forks if they were already used in the child processes

Class.new(BaseError)
ProducerClosedError =

Raised when there was an attempt to use a closed producer

Class.new(BaseError)
ProducerTransactionalCloseAttemptError =

Raised if you attempt to close the producer from within a transaction. This is not allowed.

Class.new(BaseError)
MessageInvalidError =

Raised when we want to send a message that is invalid (impossible topic, etc)

Class.new(BaseError)
TransactionalOffsetInvalidError =

Raised when we want to commit transactional offset and the input is invalid

Class.new(BaseError)
ProducerNotTransactionalError =

Raised when transaction attempt happens on a non-transactional producer

Class.new(BaseError)
StatusInvalidError =

Raised when we’ve got an unexpected status. This should never happen. If it does, please contact us as it is an error.

Class.new(BaseError)
ProduceError =

Raised when there is an inline error during single message produce operations

Class.new(BaseError)
TransactionRequiredError =

Raised when we attempt to perform operation that is only allowed inside of a transaction and there is no transaction around us

Class.new(BaseError)
AbortTransaction =

Raise it within a transaction to abort it It does not have an ‘Error` postfix because technically it is not an error as it is used for graceful transaction aborting

Class.new(BaseError)
EarlyTransactionExitNotAllowedError =

Do not use ‘break`, `return` or `throw` inside of the transaction blocks

Class.new(BaseError)
PollerError =

Raised when an error occurs in the polling loop

Class.new(BaseError)
StatisticsNotEnabledError =

Raised when trying to subscribe to ‘statistics.emitted` after the underlying rdkafka client has been built without any listener present at build time. In that case, librdkafka statistics are disabled entirely for performance, and late subscriptions would silently receive nothing. To fix: subscribe the listener BEFORE first producer use (i.e. before the underlying client is lazily initialized).

Class.new(BaseError)