pub struct CompleteFileOptions {
pub ufs_length: Option<i64>,
pub operation_id: Option<FsOpPId>,
pub locations: Vec<FileLocation>,
pub async_persist_options: Option<ScheduleAsyncPersistencePOptions>,
pub force_persisted: Option<bool>,
pub inode_id: Option<i64>,
pub crc_type: Option<i32>,
pub crc_value: Option<i64>,
}Expand description
Write-path-driven fields of CompleteFilePOptions.
§Java authority
Mirrors the builder calls in GoosefsFileOutStream.close(). Grouping them
keeps MasterClient::complete_file_with_options to two arguments as the
option set grows.
Fields§
§ufs_length: Option<i64>Final file length (setUfsLength). Java sends this for every write
type, not just the persisting ones.
operation_id: Option<FsOpPId>Idempotency token, carried in commonOptions.operationId.
locations: Vec<FileLocation>Last block’s replica locations. ASYNC_THROUGH only — sending these for other write types makes the Master treat the file as persist-scheduled.
async_persist_options: Option<ScheduleAsyncPersistencePOptions>Ask the Master to schedule an async-persist job.
Mutually exclusive with force_persisted: a
file that is already on the UFS must not also be queued for persisting.
force_persisted: Option<bool>Mark the file as already persisted.
Set when the client degraded to a UFS-only write and that write
completed, so the bytes are on the UFS before CompleteFile runs. The
Master then fetches the UFS fingerprint and stamps the inode
PERSISTED instead of queueing a persist job.
inode_id: Option<i64>Inode id from CreateFile (CompleteFilePRequest.inode_id).
Java GooseFSFileOutStream.close() always sends mInodeId so Master
can lock the inode if the path has already been renamed. None falls
back to path-only lookup.
crc_type: Option<i32>CompleteFilePOptions.crc_type. Java always sets this from
DataChecksum.getChecksumType() (default CRC32C).
crc_value: Option<i64>CompleteFilePOptions.crc_value. Running checksum of every byte
accepted by write(), matching Java mOptions.getFileChecksum().getValue().
Trait Implementations§
Source§impl Clone for CompleteFileOptions
impl Clone for CompleteFileOptions
Source§fn clone(&self) -> CompleteFileOptions
fn clone(&self) -> CompleteFileOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompleteFileOptions
impl Debug for CompleteFileOptions
Source§impl Default for CompleteFileOptions
impl Default for CompleteFileOptions
Source§fn default() -> CompleteFileOptions
fn default() -> CompleteFileOptions
Auto Trait Implementations§
impl Freeze for CompleteFileOptions
impl RefUnwindSafe for CompleteFileOptions
impl Send for CompleteFileOptions
impl Sync for CompleteFileOptions
impl Unpin for CompleteFileOptions
impl UnsafeUnpin for CompleteFileOptions
impl UnwindSafe for CompleteFileOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request