THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
It is recommended to add the ability to load SnapshotLifecycleListener user extensions that will implement custom checks.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/** * Snapshot lifecycle listener. */ public interface SnapshotLifecycleListener extends Extension { /** Default listener priority. */ public static final int DEFAULT_PRIORITY = 0; /** Listener name (must be unique). */ public String name(); /** Listener invocation priority (ascending order is used). */ public default int priority() { return DEFAULT_PRIORITY; } /** * Called locally after the snapshot files have been created on the node. * * @param snpName Snapshot name. * @throws IgniteCheckedException If failed. */ public default void afterCreate(String snpName) throws IgniteCheckedException { // No-op. } /** * Called locally before restore snapshot files. * * @param snpName Snapshot name. * @param consId Consistent snapshot metadata file name. * @param grps Cache groups to be restored ({@code null} if all cache groups are restored from the snapshot). * @param <T> Type of the result. * @return Local node result, or {@code null} if cluster-wide aggregation is not required. * @throws IgniteCheckedException If failed. */ @Nullable public default <T> T beforeRestore( String snpName, String consId, @Nullable Collection<String> grps ) throws IgniteCheckedException { return null; } /** * Process the results of a pre-restore operation across the cluster. * * @param res Results from all nodes. * @throws IgniteCheckedException If failed. */ public default void handlePreRestoreResults(List<ComputeJobResult> res) throws IgniteCheckedException { // No-op. } } |
...