Module: Karafka::Errors

Defined in:
lib/karafka/errors.rb

Overview

Namespace used to encapsulate all the internal errors of Karafka

Constant Summary collapse

BaseError =

Base class for all the Karafka internal errors

Class.new(StandardError)
NonMatchingRouteError =

Raised when router receives topic name which does not correspond with any routes This can only happen in a case when:

- you've received a message and we cannot match it with a consumer
- you've changed the routing, so router can no longer associate your topic to
  any consumer
- or in a case when you do a lot of meta-programming and you change routing/etc on runtime

In case this happens, you will have to create a temporary route that will allow you to “eat” everything from the Sidekiq queue.

Class.new(BaseError)
InvalidConfigurationError =

Raised when configuration doesn’t match with validation contract

Class.new(BaseError)
MissingBootFileError =

Raised when we try to use Karafka CLI commands (except install) without a boot file

Class.new(BaseError)
ForcefulShutdownError =

Raised when we’ve waited enough for shutting down a non-responsive process

Class.new(BaseError)
JobsQueueSynchronizationError =

Raised when the jobs queue receives a job that should not be received as it would cause the processing to go out of sync. We should never process in parallel data from the same topic partition (unless virtual partitions apply)

Class.new(BaseError)
TopicNotFoundError =

Raised when given topic is not found while expected

Class.new(BaseError)
UnsupportedCaseError =

This should never happen. Please open an issue if it does.

Class.new(BaseError)
InvalidLicenseTokenError =

Raised when the license token is not valid

Class.new(BaseError)
MessageClearedError =

Raised on attempt to deserializer a cleared message

Class.new(BaseError)
InvalidCoordinatorStateError =

This should never happen. Please open an issue if it does.

Class.new(BaseError)
StrategyNotFoundError =

This should never happen. Please open an issue if it does.

Class.new(BaseError)
InvalidRealOffsetUsageError =

This should never happen. Please open an issue if it does.

Class.new(BaseError)
InvalidTimeBasedOffsetError =

This should never happen. Please open an issue if it does.

Class.new(BaseError)
ResultNotVisibleError =

For internal usage only Raised when we run operations that require certain result but despite successfully finishing it is not yet available due to some synchronization mechanisms and caches

Class.new(BaseError)
UnrecognizedCommandError =

Raised when there is an attempt to run an unrecognized CLI command

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

Raised in case user would want to perform nested transactions.

Class.new(BaseError)
InvalidListenerResumeError =

Raised in case a listener that was paused is being resumed

Class.new(BaseError)
InvalidListenerPauseError =

Raised when we want to un-pause listener that was not paused

Class.new(BaseError)
AssignmentLostError =

Raised in transactions when we attempt to store offset for a partition that we have lost This does not affect producer only transactions, hence we raise it only on offset storage

Class.new(BaseError)
DependencyConstraintsError =

Raised if optional dependencies like karafka-web are required in a version that is not supported by the current framework version or when an optional dependency is missing.

Because we do not want to require web out of the box and we do not want to lock web with karafka 1:1, we do such a sanity check. This also applies to cases where some external optional dependencies are needed but not available.

Class.new(BaseError)
PidfdOpenFailedError =

Raised when we were not able to open pidfd for given pid This should not happen. If you see it, please report.

Class.new(BaseError)
PidfdSignalFailedError =

Failed to send signal to a process via pidfd This should not happen. If you see it, please report.

Class.new(BaseError)
UnsupportedOptionError =

Raised when given option/feature is not supported on a given platform or when given option is not supported in a given configuration

Class.new(BaseError)