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

xuanwo pushed a commit to branch cleanup-sink
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit dfc41b8b38f74a168bd8ff1177c06b4293fca3b5
Author: Xuanwo <[email protected]>
AuthorDate: Thu Aug 31 17:44:00 2023 +0800

    Fix order
    
    Signed-off-by: Xuanwo <[email protected]>
---
 core/src/layers/complete.rs      | 16 ++++++++--------
 core/src/services/sftp/writer.rs |  2 --
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/core/src/layers/complete.rs b/core/src/layers/complete.rs
index a673c9698..19a7c50b5 100644
--- a/core/src/layers/complete.rs
+++ b/core/src/layers/complete.rs
@@ -365,10 +365,7 @@ impl<A: Accessor> LayeredAccessor for 
CompleteReaderAccessor<A> {
     type Inner = A;
     type Reader = CompleteReader<A, A::Reader>;
     type BlockingReader = CompleteReader<A, A::BlockingReader>;
-    type Writer = oio::TwoWaysWriter<
-        CompleteWriter<A::Writer>,
-        oio::BoundedBufWriter<CompleteWriter<A::Writer>>,
-    >;
+    type Writer = CompleteWriter<oio::TwoWaysWriter<A::Writer, 
oio::BoundedBufWriter<A::Writer>>>;
     type BlockingWriter = CompleteWriter<A::BlockingWriter>;
     type Pager = CompletePager<A, A::Pager>;
     type BlockingPager = CompletePager<A, A::BlockingPager>;
@@ -433,7 +430,6 @@ impl<A: Accessor> LayeredAccessor for 
CompleteReaderAccessor<A> {
         let buffer_size = args.buffer_size();
 
         let (rp, w) = self.inner.write(path, args).await?;
-        let w = CompleteWriter::new(w, size);
 
         // FIXME
         //
@@ -445,7 +441,7 @@ impl<A: Accessor> LayeredAccessor for 
CompleteReaderAccessor<A> {
             oio::TwoWaysWriter::One(w)
         };
 
-        Ok((rp, w))
+        Ok((rp, CompleteWriter::new(w, size)))
     }
 
     fn blocking_write(&self, path: &str, args: OpWrite) -> Result<(RpWrite, 
Self::BlockingWriter)> {
@@ -735,7 +731,9 @@ where
             return Err(Error::new(
                 ErrorKind::Unexpected,
                 "writer can't be used for mixed write and sink",
-            ));
+            )
+            .with_context("expect", WriteOperation::Write.into_static())
+            .with_context("actual", WriteOperation::Sink.into_static()));
         }
 
         let n = bs.len();
@@ -767,7 +765,9 @@ where
             return Err(Error::new(
                 ErrorKind::Unexpected,
                 "writer can't be used for mixed write and sink",
-            ));
+            )
+            .with_context("expect", WriteOperation::Sink.into_static())
+            .with_context("actual", WriteOperation::Write.into_static()));
         }
 
         if let Some(total_size) = self.size {
diff --git a/core/src/services/sftp/writer.rs b/core/src/services/sftp/writer.rs
index b48395814..ce039b8c4 100644
--- a/core/src/services/sftp/writer.rs
+++ b/core/src/services/sftp/writer.rs
@@ -21,8 +21,6 @@ use openssh_sftp_client::file::File;
 
 use crate::raw::oio;
 use crate::raw::oio::StreamExt;
-use crate::Error;
-use crate::ErrorKind;
 use crate::Result;
 
 pub struct SftpWriter {

Reply via email to