Skip to content


ExecutorPodsSnapshotsStoreImpl is an ExecutorPodsSnapshotsStore.

Creating Instance

ExecutorPodsSnapshotsStoreImpl takes the following to be created:

ExecutorPodsSnapshotsStoreImpl is created when:


  newSnapshot: Seq[Pod]): Unit

replaceSnapshot is part of the ExecutorPodsSnapshotsStore abstraction.

replaceSnapshot replaces the currentSnapshot internal registry with a new ExecutorPodsSnapshot (with the given snapshot and the current time).

In the end, updatePod addCurrentSnapshotToSubscribers.


  updatedPod: Pod): Unit

updatePod is part of the ExecutorPodsSnapshotsStore abstraction.

updatePod requests the current ExecutorPodsSnapshot to update based on the given updated pod.

In the end, updatePod addCurrentSnapshotToSubscribers.

Registering Subscriber

  processBatchIntervalMillis: Long)
  (onNewSnapshots: Seq[ExecutorPodsSnapshot] => Unit): Unit

addSubscriber is part of the ExecutorPodsSnapshotsStore abstraction.

addSubscriber adds a new SnapshotsSubscriber to the subscribers internal registry.

addSubscriber requests the ScheduledExecutorService to schedule processing executor pods by the SnapshotsSubscriber every given processBatchIntervalMillis delay (starting immediately).

In the end, addSubscriber adds the scheduled action to the pollingTasks internal registry.


  subscriber: SnapshotsSubscriber): Unit


callSubscriber is used when:

pollingTasks Registry

pollingTasks: CopyOnWriteArrayList[Future[_]]

ExecutorPodsSnapshotsStoreImpl uses pollingTasks internal registry to track the recurring actions scheduled for subscribers.

pollingTasks are cancelled when ExecutorPodsSnapshotsStoreImpl is requested to stop.

subscribers Registry

subscribers: CopyOnWriteArrayList[SnapshotsSubscriber]

ExecutorPodsSnapshotsStoreImpl uses subscribers internal registry to track subscribers that want to be notified regularly about the current state of executor pods in a cluster.


addCurrentSnapshotToSubscribers(): Unit

addCurrentSnapshotToSubscribers requests every SnapshotsSubscriber to addCurrentSnapshot.

addCurrentSnapshotToSubscribers is used when:

Back to top