Documentation
¶
Index ¶
Constants ¶
View Source
const FILES_EXCHANGE = "checkpoint_files_broadcast"
Exchange the propagator publishes checkpoint file requests for local checkpoints to. A request is routed either to every helper on a cluster (routing key `<cluster>`, to find the node holding a checkpoint) or to one node (`<cluster>.<node>`).
View Source
const HOST_ROOT = "/host"
HOST_ROOT is where the helper pod mounts the node's root filesystem.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EventStream ¶
func New ¶
func New(ctx context.Context, cedana *client.Client, propagator *propagatorsdk.ApiClient, containerdAddress string) (*EventStream, error)
func (*EventStream) Close ¶ added in v0.9.284
func (es *EventStream) Close() error
func (*EventStream) StartCheckpointsConsumer ¶
func (es *EventStream) StartCheckpointsConsumer(ctx context.Context) error
func (*EventStream) StartCheckpointsPublisher ¶
func (es *EventStream) StartCheckpointsPublisher(ctx context.Context) error
func (*EventStream) StartFilesConsumer ¶ added in v0.9.308
func (es *EventStream) StartFilesConsumer(ctx context.Context) error
StartFilesConsumer serves checkpoint file requests (locate a checkpoint, list the files in it, upload one of them, delete it) coming from the propagator. Every request is handled exactly once, by a helper that can reach the checkpoint:
- Remote checkpoints (`scheme://`) are readable from any node, so their requests come through a work queue shared by all helpers on the cluster.
- Local checkpoints only exist on the node that took them, so the propagator first broadcasts a locate request, which only the node holding the checkpoint answers, then routes the request to that node.
Replies go to the request's reply queue.
Click to show internal directories.
Click to hide internal directories.