You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by tu...@apache.org on 2024/02/07 16:22:25 UTC

(arrow-rs) branch master updated: docs(object-store): add warning to flush (#5369)

This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 55723980d3 docs(object-store): add warning to flush (#5369)
55723980d3 is described below

commit 55723980d394465953705ea9af9d7069bd588f73
Author: Will Jones <wi...@gmail.com>
AuthorDate: Wed Feb 7 08:22:19 2024 -0800

    docs(object-store): add warning to flush (#5369)
    
    * add warning to flush
    
    * Update object_store/src/lib.rs
    
    Co-authored-by: Raphael Taylor-Davies <17...@users.noreply.github.com>
    
    * format
    
    ---------
    
    Co-authored-by: Raphael Taylor-Davies <17...@users.noreply.github.com>
---
 object_store/src/lib.rs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs
index a25224aaaa..deb133d250 100644
--- a/object_store/src/lib.rs
+++ b/object_store/src/lib.rs
@@ -551,6 +551,15 @@ pub trait ObjectStore: std::fmt::Display + Send + Sync + Debug + 'static {
     /// writer fails or panics, you must call [ObjectStore::abort_multipart]
     /// to clean up partially written data.
     ///
+    /// <div class="warning">
+    /// It is recommended applications wait for any in-flight requests to complete by calling `flush`, if
+    /// there may be a significant gap in time (> ~30s) before the next write.
+    /// These gaps can include times where the function returns control to the
+    /// caller while keeping the writer open. If `flush` is not called, futures
+    /// for in-flight requests may be left unpolled long enough for the requests
+    /// to time out, causing the write to fail.
+    /// </div>
+    ///
     /// For applications requiring fine-grained control of multipart uploads
     /// see [`MultiPartStore`], although note that this interface cannot be
     /// supported by all [`ObjectStore`] backends.