Skip to main content

CompleteFileOptions

Struct CompleteFileOptions 

Source
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

Source§

fn clone(&self) -> CompleteFileOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CompleteFileOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CompleteFileOptions

Source§

fn default() -> CompleteFileOptions

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more