@Override protected AbstractCloseableRegistry<Closeable, Object> createRegistry() { return new CloseableRegistry(); }
@Override public void close() throws IOException { closeableRegistry.close(); }
closeableRegistry.registerCloseable(inputStream); closeableRegistry.registerCloseable(outputStream); if (closeableRegistry.unregisterCloseable(outputStream)) { result = outputStream.closeAndGetHandle(); outputStream = null; if (closeableRegistry.unregisterCloseable(inputStream)) { IOUtils.closeQuietly(inputStream); if (closeableRegistry.unregisterCloseable(outputStream)) { IOUtils.closeQuietly(outputStream);
CloseableRegistry closeableRegistry = new CloseableRegistry(); OneShotLatch waitForBlock = new OneShotLatch(); OneShotLatch unblock = new OneShotLatch(); closeableRegistry.close(); unblock.trigger(); restoreThread.join();
protected void closeCurrentStream() { if (closableRegistry.unregisterCloseable(currentStream)) { IOUtils.closeQuietly(currentStream); } currentStream = null; }
protected void openCurrentStream() throws IOException { Preconditions.checkState(currentStream == null); FSDataInputStream stream = currentStateHandle.openInputStream(); closableRegistry.registerCloseable(stream); currentStream = stream; }
final CloseableRegistry closeableRegistry = new CloseableRegistry(); eq(CheckpointOptions.forCheckpointWithDefaultLocation()))).thenThrow(failingException); closeableRegistry.registerCloseable(operatorStateBackend); closeableRegistry.registerCloseable(keyedStateBackend);
closeableRegistry.registerClosable(inputStream); closeableRegistry.registerClosable(outputStream); closeableRegistry.unregisterClosable(outputStream); StreamStateHandle result = outputStream.closeAndGetHandle(); outputStream = null; } finally { if (inputStream != null) { closeableRegistry.unregisterClosable(inputStream); inputStream.close(); closeableRegistry.unregisterClosable(outputStream); outputStream.close();
"alternatives are available.", logDescription, alternativeIdx, restoreOptions.size(), ex); if (backendCloseableRegistry.isClosed()) { throw new FlinkException("Stopping restore attempts for already cancelled task.", collectedException);
public void runAsyncCheckpointingAndAcknowledge() throws IOException { AsyncCheckpointRunnable asyncCheckpointRunnable = new AsyncCheckpointRunnable( owner, nonPartitionedStates, snapshotInProgressList, checkpointMetaData, checkpointMetrics, startAsyncPartNano); owner.cancelables.registerClosable(asyncCheckpointRunnable); owner.asyncOperationsThreadPool.submit(asyncCheckpointRunnable); }
protected void closeCurrentStream() { closableRegistry.unregisterClosable(currentStream); IOUtils.closeQuietly(currentStream); currentStream = null; }
private static void closeFromRegistry(Closeable closeable, CloseableRegistry registry) { if (registry.unregisterCloseable(closeable)) { IOUtils.closeQuietly(closeable); } }
@Override protected void run() throws Exception { final OneShotLatch latch = new OneShotLatch(); final Object lock = new Object(); LockHolder holder = new LockHolder(lock, latch); holder.start(); try { // cancellation should try and cancel this getCancelables().registerCloseable(holder); // wait till the lock holder has the lock latch.await(); // we are at the point where cancelling can happen syncLatch.trigger(); // try to acquire the lock - this is not possible as long as the lock holder // thread lives //noinspection SynchronizationOnLocalVariableOrMethodParameter synchronized (lock) { // nothing } } finally { holder.close(); } }
private StreamStateHandle materializeMetaData() throws Exception { CheckpointStreamFactory.CheckpointStateOutputStream outputStream = null; try { outputStream = checkpointStreamFactory .createCheckpointStateOutputStream(checkpointId, checkpointTimestamp); closeableRegistry.registerClosable(outputStream); KeyedBackendSerializationProxy<K> serializationProxy = new KeyedBackendSerializationProxy<>(stateBackend.keySerializer, stateMetaInfoSnapshots); DataOutputView out = new DataOutputViewStreamWrapper(outputStream); serializationProxy.write(out); closeableRegistry.unregisterClosable(outputStream); StreamStateHandle result = outputStream.closeAndGetHandle(); outputStream = null; return result; } finally { if (outputStream != null) { closeableRegistry.unregisterClosable(outputStream); outputStream.close(); } } }
"alternatives are available.", logDescription, alternativeIdx, restoreOptions.size(), ex); if (backendCloseableRegistry.isClosed()) { throw new FlinkException("Stopping restore attempts for already cancelled task.", collectedException);
protected void openCurrentStream() throws IOException { FSDataInputStream stream = currentStateHandle.openInputStream(); closableRegistry.registerClosable(stream); currentStream = stream; }
@Override public void done(boolean canceled) { if (checkStreamOpenAndDoTransitionToClose()) { CheckpointStreamFactory.CheckpointStateOutputStream stream = getIoHandle(); if (stream != null) { closeStreamOnCancelRegistry.unregisterClosable(stream); IOUtils.closeQuietly(stream); } } }
FileSystem restoreFileSystem = restoreFilePath.getFileSystem(); inputStream = remoteFileHandle.openInputStream(); closeableRegistry.registerCloseable(inputStream); closeableRegistry.registerCloseable(outputStream); if (closeableRegistry.unregisterCloseable(inputStream)) { inputStream.close(); if (closeableRegistry.unregisterCloseable(outputStream)) { outputStream.close();
@Override public void close() throws IOException { closeableRegistry.close(); }
protected CloseableIterable<StatePartitionStreamProvider> rawOperatorStateInputs( Iterator<StateObjectCollection<OperatorStateHandle>> restoreStateAlternatives) { if (restoreStateAlternatives.hasNext()) { Collection<OperatorStateHandle> rawOperatorState = restoreStateAlternatives.next(); // TODO currently this does not support local state recovery, so we expect there is only one handle. Preconditions.checkState( !restoreStateAlternatives.hasNext(), "Local recovery is currently not implemented for raw operator state, but found state alternative."); if (rawOperatorState != null) { return new CloseableIterable<StatePartitionStreamProvider>() { final CloseableRegistry closeableRegistry = new CloseableRegistry(); @Override public void close() throws IOException { closeableRegistry.close(); } @Nonnull @Override public Iterator<StatePartitionStreamProvider> iterator() { return new OperatorStateStreamIterator( DefaultOperatorStateBackend.DEFAULT_OPERATOR_STATE_NAME, rawOperatorState.iterator(), closeableRegistry); } }; } } return CloseableIterable.empty(); }