public static class FsCheckpointStreamFactory.FsCheckpointStateOutputStream extends CheckpointStreamFactory.CheckpointStateOutputStream
CheckpointStreamFactory.CheckpointStateOutputStream
that writes into a file and
returns a StreamStateHandle
upon closing.Constructor and Description |
---|
FsCheckpointStateOutputStream(Path basePath,
FileSystem fs,
int bufferSize,
int localStateThreshold) |
FsCheckpointStateOutputStream(Path basePath,
FileSystem fs,
int bufferSize,
int localStateThreshold,
boolean allowRelativePaths) |
Modifier and Type | Method and Description |
---|---|
void |
close()
If the stream is only closed, we remove the produced file (cleanup through the auto close
feature, for example).
|
StreamStateHandle |
closeAndGetHandle()
Closes the stream and gets a state handle that can create an input stream producing the
data written to this stream.
|
void |
flush()
Flush buffers to file if their size is above
localStateThreshold . |
void |
flushToFile() |
long |
getPos()
Gets the position of the stream (non-negative), defined as the number of bytes from the
beginning of the file to the current writing position.
|
boolean |
isClosed()
Checks whether the stream is closed.
|
void |
sync()
Flushes the data all the way to the persistent non-volatile storage (for example disks).
|
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
write
public FsCheckpointStateOutputStream(Path basePath, FileSystem fs, int bufferSize, int localStateThreshold)
public FsCheckpointStateOutputStream(Path basePath, FileSystem fs, int bufferSize, int localStateThreshold, boolean allowRelativePaths)
public void write(int b) throws IOException
write
in class OutputStream
IOException
public void write(byte[] b, int off, int len) throws IOException
write
in class OutputStream
IOException
public long getPos() throws IOException
FSDataOutputStream
This method must report accurately report the current position of the stream. Various components of the high-availability and recovery logic rely on the accurate
getPos
in class FSDataOutputStream
IOException
- Thrown if an I/O error occurs while obtaining the position from the
stream implementation.public void flushToFile() throws IOException
IOException
public void flush() throws IOException
localStateThreshold
.flush
in interface Flushable
flush
in class FSDataOutputStream
IOException
- Thrown if an I/O error occurs while flushing the stream.public void sync() throws IOException
FSDataOutputStream
sync
in class FSDataOutputStream
IOException
- Thrown if an I/O error occurspublic boolean isClosed()
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in class CheckpointStreamFactory.CheckpointStateOutputStream
@Nullable public StreamStateHandle closeAndGetHandle() throws IOException
CheckpointStreamFactory.CheckpointStateOutputStream
This 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 CheckpointStreamFactory.CheckpointStateOutputStream.close()
method removes the target resource when called.
closeAndGetHandle
in class CheckpointStreamFactory.CheckpointStateOutputStream
IOException
- Thrown, if the stream cannot be closed.Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.