...
Code Block | ||
---|---|---|
| ||
interface ShuffleMaster<T extends ShuffleDescriptor> extends AutoCloseable { // other methods /** * Whether the shuffle master supports taking snapshot in batch scenarios, which will be used * when enable Job Recovery. If it returns true, we will call {@link #snapshotState} to take * snapshot, and call {@link #restoreState} to restore the state of shuffle master. */ default boolean supportsBatchSnapshot() { return false; } default void snapshotState( CompletableFuture<ShuffleMasterSnapshot> snapshotFuture, ShuffleMasterSnapshotContext context) { snapshotFuture.complete(null); } default void restoreState(List<ShuffleMasterSnapshot> snapshots) {} } interface ShuffleMasterSnapshot extends Serializable { /** * This class represents a snapshot of shuffle master, which can be used to restore the internal * state of the shuffle master. It is full or incremental. */ interface ShuffleMasterSnapshot extends Serializable { /** Returns whether the snapshot is incremental. */ boolean isIncremental(); } /** * Snapshot context used to create {@link ShuffleMasterSnapshot}, which can provide necessary * informations. */ interface ShuffleMasterSnapshotContext { } |
...