faust.tables.recovery

Table recovery after rebalancing.

exception faust.tables.recovery.ServiceStopped[source]

The recovery service was stopped.

exception faust.tables.recovery.RebalanceAgain[source]

During rebalance, another rebalance happened.

class faust.tables.recovery.Recovery(app: faust.types.app.AppT, tables: faust.types.tables.TableManagerT, **kwargs) → None[source]

Service responsible for recovering tables from changelog topics.

stats_interval = 5.0
in_recovery = False
standbys_pending = False
signal_recovery_start
Return type:Event
signal_recovery_end
Return type:Event
signal_recovery_reset
Return type:Event
add_active(table: faust.types.tables.CollectionT, tp: faust.types.tuples.TP) → None[source]
Return type:None
add_standby(table: faust.types.tables.CollectionT, tp: faust.types.tuples.TP) → None[source]
Return type:None
revoke(tp: faust.types.tuples.TP) → None[source]
Return type:None
on_partitions_revoked(revoked: Set[faust.types.tuples.TP]) → None[source]
Return type:None
standby_highwaters = None

Standby highwaters by TP.

active_highwaters = None

Active highwaters by TP.

logger = <Logger faust.tables.recovery (WARNING)>
coroutine on_rebalance(self, assigned: Set[faust.types.tuples.TP], revoked: Set[faust.types.tuples.TP], newly_assigned: Set[faust.types.tuples.TP]) → None[source]
Return type:None
coroutine on_recovery_completed(self) → None[source]
Return type:None
coroutine on_stop(self) → None[source]

Service is being stopped/restarted.

Return type:None
highwaters = None

Mapping of highwaters by tp.

tp_to_table = None

Mapping from TP to table

active_tps = None

Set of active tps.

standby_tps = None

Set of standby tps.

active_offsets = None

Active offset by TP.

standby_offsets = None

Standby offset by TP.

buffers = None

Changelog event buffers by table. These are filled by background task _slurp_changelog, and need to be flushed before starting new recovery/stopping.

buffer_sizes = None

Cache of buffer size by TopicPartitiojn.

flush_buffers() → None[source]
Return type:None
need_recovery() → bool[source]
Return type:bool
active_remaining() → Counter[faust.types.tuples.TP][source]
Return type:Counter[TP]
standby_remaining() → Counter[faust.types.tuples.TP][source]
Return type:Counter[TP]
active_remaining_total() → int[source]
Return type:int
standby_remaining_total() → int[source]
Return type:int
active_stats() → MutableMapping[faust.types.tuples.TP, Tuple[int, int, int]][source]
Return type:MutableMapping[TP, Tuple[int, int, int]]
standby_stats() → MutableMapping[faust.types.tuples.TP, Tuple[int, int, int]][source]
Return type:MutableMapping[TP, Tuple[int, int, int]]