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)
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)
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)