public final class FileBasedStateOutputStream extends CheckpointStateOutputStream
CheckpointStateOutputStream that writes into a specified file and returns a FileStateHandle upon closing.
Unlike the FsCheckpointStreamFactory.FsCheckpointStateOutputStream,
this stream does not have a threshold below which it returns a memory byte stream handle, and
does not create random files, but writes to a specified file.
| Constructor and Description |
|---|
FileBasedStateOutputStream(org.apache.flink.core.fs.FileSystem fileSystem,
org.apache.flink.core.fs.Path path) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
This method should close the stream, if has not been closed before.
|
FileStateHandle |
closeAndGetHandle()
Closes the stream and gets a state handle that can create an input stream producing the data
written to this stream.
|
void |
flush() |
long |
getPos() |
boolean |
isClosed() |
void |
sync() |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
writepublic FileBasedStateOutputStream(org.apache.flink.core.fs.FileSystem fileSystem,
org.apache.flink.core.fs.Path path)
throws IOException
IOExceptionpublic final void write(int b)
throws IOException
write in class OutputStreamIOExceptionpublic final void write(@Nonnull byte[] b, int off, int len) throws IOException
write in class OutputStreamIOExceptionpublic long getPos()
throws IOException
getPos in class org.apache.flink.core.fs.FSDataOutputStreamIOExceptionpublic void flush()
throws IOException
flush in interface Flushableflush in class org.apache.flink.core.fs.FSDataOutputStreamIOExceptionpublic void sync()
throws IOException
sync in class org.apache.flink.core.fs.FSDataOutputStreamIOExceptionpublic boolean isClosed()
public void close()
CheckpointStateOutputStreamThe above implies that this method is intended to be the "unsuccessful close", such as
when cancelling the stream writing, or when an exception occurs. Closing the stream for the
successful case must go through CheckpointStateOutputStream.closeAndGetHandle().
close in interface Closeableclose in interface AutoCloseableclose in class CheckpointStateOutputStream@Nullable public FileStateHandle closeAndGetHandle() throws IOException
CheckpointStateOutputStreamThis closing must be called (also when the caller is not interested in the handle) to
successfully close the stream and retain the produced resource. In contrast, the CheckpointStateOutputStream.close() method removes the target resource when called.
closeAndGetHandle in class CheckpointStateOutputStreamIOException - Thrown, if the stream cannot be closed.Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.