Class: Karafka::Web::Ui::Models::Status::Checks::ConsumersSchemas

Inherits:
Base
  • Object
show all
Defined in:
lib/karafka/web/ui/models/status/checks/consumers_schemas.rb

Overview

Note:

This is a warning-only check - incompatible schemas don’t block the dependency chain but should be addressed.

Checks if any consumer processes have incompatible schemas.

Schema compatibility is important for proper data deserialization. This check identifies processes that don’t match the expected schema version used by the Web UI.

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

depends_on, independent!, independent?, #initialize

Constructor Details

This class inherits a constructor from Karafka::Web::Ui::Models::Status::Checks::Base

Class Method Details

.halted_detailsHash

Returns details with empty incompatible list for halted state.

Returns:

  • (Hash)

    details with empty incompatible list for halted state



22
23
24
# File 'lib/karafka/web/ui/models/status/checks/consumers_schemas.rb', line 22

def halted_details
  { incompatible: [] }
end

Instance Method Details

#callStatus::Step

Executes the consumers schemas check.

Identifies processes with incompatible schema versions.

Returns:

  • (Status::Step)

    success if all compatible, warning if any incompatible



32
33
34
35
36
37
# File 'lib/karafka/web/ui/models/status/checks/consumers_schemas.rb', line 32

def call
  incompatible = context.processes.reject(&:schema_compatible?)
  status = incompatible.empty? ? :success : :warning

  step(status, { incompatible: incompatible })
end