/** * Tries to remove the checkpoint identified by the given checkpoint id. * * @param checkpointId identifying the checkpoint to remove * @return true if the checkpoint could be removed */ private boolean tryRemove(long checkpointId) throws Exception { return checkpointsInZooKeeper.releaseAndTryRemove(checkpointIdToPath(checkpointId)); }
/** * Tries to remove the checkpoint identified by the given checkpoint id. * * @param checkpointId identifying the checkpoint to remove * @return true if the checkpoint could be removed */ private boolean tryRemove(long checkpointId) throws Exception { return checkpointsInZooKeeper.releaseAndTryRemove(checkpointIdToPath(checkpointId)); }
/** * Removes a subsumed checkpoint from ZooKeeper and drops the state. */ private void removeSubsumed( final CompletedCheckpoint completedCheckpoint) throws Exception { if (completedCheckpoint == null) { return; } ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint> action = new ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint>() { @Override public void apply(@Nullable RetrievableStateHandle<CompletedCheckpoint> value) throws FlinkException { if (value != null) { try { completedCheckpoint.discardOnSubsume(); } catch (Exception e) { throw new FlinkException("Could not discard the completed checkpoint on subsume.", e); } } } }; checkpointsInZooKeeper.releaseAndTryRemove( checkpointIdToPath(completedCheckpoint.getCheckpointID()), action); }
/** * Removes a checkpoint from ZooKeeper because of Job shutdown and drops the state. */ private void removeShutdown( final CompletedCheckpoint completedCheckpoint, final JobStatus jobStatus) throws Exception { if (completedCheckpoint == null) { return; } ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint> removeAction = new ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint>() { @Override public void apply(@Nullable RetrievableStateHandle<CompletedCheckpoint> value) throws FlinkException { try { completedCheckpoint.discardOnShutdown(jobStatus); } catch (Exception e) { throw new FlinkException("Could not discard the completed checkpoint on subsume.", e); } } }; checkpointsInZooKeeper.releaseAndTryRemove( checkpointIdToPath(completedCheckpoint.getCheckpointID()), removeAction); }
/** * Removes a checkpoint from ZooKeeper because of Job shutdown and drops the state. */ private void removeShutdown( final CompletedCheckpoint completedCheckpoint, final JobStatus jobStatus) throws Exception { if (completedCheckpoint == null) { return; } ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint> removeAction = new ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint>() { @Override public void apply(@Nullable RetrievableStateHandle<CompletedCheckpoint> value) throws FlinkException { try { completedCheckpoint.discardOnShutdown(jobStatus); } catch (Exception e) { throw new FlinkException("Could not discard the completed checkpoint on subsume.", e); } } }; checkpointsInZooKeeper.releaseAndTryRemove( checkpointIdToPath(completedCheckpoint.getCheckpointID()), removeAction); }
/** * Synchronously writes the new checkpoints to ZooKeeper and asynchronously removes older ones. * * @param checkpoint Completed checkpoint to add. */ @Override public void addCheckpoint(final CompletedCheckpoint checkpoint) throws Exception { checkNotNull(checkpoint, "Checkpoint"); final String path = checkpointIdToPath(checkpoint.getCheckpointID()); // Now add the new one. If it fails, we don't want to loose existing data. checkpointsInZooKeeper.addAndLock(path, checkpoint); completedCheckpoints.addLast(checkpoint); // Everything worked, let's remove a previous checkpoint if necessary. while (completedCheckpoints.size() > maxNumberOfCheckpointsToRetain) { try { removeSubsumed(completedCheckpoints.removeFirst()); } catch (Exception e) { LOG.warn("Failed to subsume the old checkpoint", e); } } LOG.debug("Added {} to {}.", checkpoint, path); }
/** * Removes a subsumed checkpoint from ZooKeeper and drops the state. */ private void removeSubsumed( final CompletedCheckpoint completedCheckpoint) throws Exception { if (completedCheckpoint == null) { return; } ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint> action = new ZooKeeperStateHandleStore.RemoveCallback<CompletedCheckpoint>() { @Override public void apply(@Nullable RetrievableStateHandle<CompletedCheckpoint> value) throws FlinkException { if (value != null) { try { completedCheckpoint.discardOnSubsume(); } catch (Exception e) { throw new FlinkException("Could not discard the completed checkpoint on subsume.", e); } } } }; checkpointsInZooKeeper.releaseAndTryRemove( checkpointIdToPath(completedCheckpoint.getCheckpointID()), action); }
/** * Synchronously writes the new checkpoints to ZooKeeper and asynchronously removes older ones. * * @param checkpoint Completed checkpoint to add. */ @Override public void addCheckpoint(final CompletedCheckpoint checkpoint) throws Exception { checkNotNull(checkpoint, "Checkpoint"); final String path = checkpointIdToPath(checkpoint.getCheckpointID()); // Now add the new one. If it fails, we don't want to loose existing data. checkpointsInZooKeeper.addAndLock(path, checkpoint); completedCheckpoints.addLast(checkpoint); // Everything worked, let's remove a previous checkpoint if necessary. while (completedCheckpoints.size() > maxNumberOfCheckpointsToRetain) { final CompletedCheckpoint completedCheckpoint = completedCheckpoints.removeFirst(); tryRemoveCompletedCheckpoint(completedCheckpoint, CompletedCheckpoint::discardOnSubsume); } LOG.debug("Added {} to {}.", checkpoint, path); }
/** * Synchronously writes the new checkpoints to ZooKeeper and asynchronously removes older ones. * * @param checkpoint Completed checkpoint to add. */ @Override public void addCheckpoint(final CompletedCheckpoint checkpoint) throws Exception { checkNotNull(checkpoint, "Checkpoint"); final String path = checkpointIdToPath(checkpoint.getCheckpointID()); // Now add the new one. If it fails, we don't want to loose existing data. checkpointsInZooKeeper.addAndLock(path, checkpoint); completedCheckpoints.addLast(checkpoint); // Everything worked, let's remove a previous checkpoint if necessary. while (completedCheckpoints.size() > maxNumberOfCheckpointsToRetain) { try { removeSubsumed(completedCheckpoints.removeFirst()); } catch (Exception e) { LOG.warn("Failed to subsume the old checkpoint", e); } } LOG.debug("Added {} to {}.", checkpoint, path); }
/** * Synchronously writes the new checkpoints to ZooKeeper and asynchronously removes older ones. * * @param checkpoint Completed checkpoint to add. */ @Override public void addCheckpoint(final CompletedCheckpoint checkpoint) throws Exception { checkNotNull(checkpoint, "Checkpoint"); final String path = checkpointIdToPath(checkpoint.getCheckpointID()); // Now add the new one. If it fails, we don't want to loose existing data. checkpointsInZooKeeper.addAndLock(path, checkpoint); completedCheckpoints.addLast(checkpoint); // Everything worked, let's remove a previous checkpoint if necessary. while (completedCheckpoints.size() > maxNumberOfCheckpointsToRetain) { final CompletedCheckpoint completedCheckpoint = completedCheckpoints.removeFirst(); tryRemoveCompletedCheckpoint(completedCheckpoint, CompletedCheckpoint::discardOnSubsume); } LOG.debug("Added {} to {}.", checkpoint, path); }