zuston commented on a change in pull request #18157:
URL: https://github.com/apache/flink/pull/18157#discussion_r786396516
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/state/filesystem/FsCheckpointMetadataOutputStream.java
##########
@@ -162,4 +164,97 @@ public FsCompletedCheckpointStorageLocation
closeAndFinalizeCheckpoint() throws
}
}
}
+
+ static MetadataOutputStreamBackend getOutputStreamBackend(
+ final FileSystem fileSystem, final Path metadataFilePath) throws
IOException {
+ try {
+ RecoverableWriter recoverableWriter =
fileSystem.createRecoverableWriter();
+ if (fileSystem.exists(metadataFilePath)) {
+ throw new IOException("Target file " + metadataFilePath + " is
already exists.");
+ }
+ return new
RecoverableStreamBackend(recoverableWriter.open(metadataFilePath));
+ } catch (Throwable throwable) {
+ LOG.warn("Errors on creating recoverable writer.", throwable);
+ }
+ return new FSDataOutputStreamBackend(fileSystem, metadataFilePath);
+ }
+
+ /** The backend to wrap a whole output stream. */
+ interface MetadataOutputStreamBackend {
+
+ FSDataOutputStream getOutput();
+
+ void commit() throws IOException;
Review comment:
All Done.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]