You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2025/03/20 14:14:11 UTC

(opendal) 01/01: refactor(core): Migrate BlockWriter to use executor from context

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

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

commit 07339788679e343e281be0bc38b976701cfe1b57
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Thu Mar 20 22:13:25 2025 +0800

    refactor(core): Migrate BlockWriter to use executor from context
    
    Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
 core/src/raw/oio/write/block_write.rs | 8 ++++----
 core/src/services/azblob/backend.rs   | 2 +-
 core/src/services/ghac/writer.rs      | 2 +-
 core/src/services/webhdfs/backend.rs  | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/core/src/raw/oio/write/block_write.rs b/core/src/raw/oio/write/block_write.rs
index 99a0028b1..e65b92d76 100644
--- a/core/src/raw/oio/write/block_write.rs
+++ b/core/src/raw/oio/write/block_write.rs
@@ -114,8 +114,8 @@ pub struct BlockWriter<W: BlockWrite> {
 
 impl<W: BlockWrite> BlockWriter<W> {
     /// Create a new BlockWriter.
-    pub fn new(inner: W, executor: Option<Executor>, concurrent: usize) -> Self {
-        let executor = executor.unwrap_or_default();
+    pub fn new(info: Arc<AccessorInfo>, inner: W, concurrent: usize) -> Self {
+        let executor = info.executor();
 
         Self {
             w: Arc::new(inner),
@@ -328,7 +328,7 @@ mod tests {
     async fn test_block_writer_with_concurrent_errors() {
         let mut rng = thread_rng();
 
-        let mut w = BlockWriter::new(TestWrite::new(), Some(Executor::new()), 8);
+        let mut w = BlockWriter::new(Arc::default(), TestWrite::new(), 8);
         let mut total_size = 0u64;
         let mut expected_content = Vec::new();
 
@@ -372,7 +372,7 @@ mod tests {
         let mut rng = thread_rng();
 
         for _ in 1..100 {
-            let mut w = BlockWriter::new(TestWrite::new(), Some(Executor::new()), 8);
+            let mut w = BlockWriter::new(Arc::default(), TestWrite::new(), 8);
 
             let size = rng.gen_range(1..1024);
             let mut bs = vec![0; size];
diff --git a/core/src/services/azblob/backend.rs b/core/src/services/azblob/backend.rs
index ad3d00b19..b90ee56e2 100644
--- a/core/src/services/azblob/backend.rs
+++ b/core/src/services/azblob/backend.rs
@@ -596,8 +596,8 @@ impl Access for AzblobBackend {
             AzblobWriters::Two(oio::AppendWriter::new(w))
         } else {
             AzblobWriters::One(oio::BlockWriter::new(
+                self.core.info.clone(),
                 w,
-                args.executor().cloned(),
                 args.concurrent(),
             ))
         };
diff --git a/core/src/services/ghac/writer.rs b/core/src/services/ghac/writer.rs
index 4e129b906..7fb2b3630 100644
--- a/core/src/services/ghac/writer.rs
+++ b/core/src/services/ghac/writer.rs
@@ -138,7 +138,7 @@ impl GhacWriter {
                     signer: { reqsign::AzureStorageSigner::new() },
                 });
                 let w = AzblobWriter::new(azure_core, OpWrite::default(), path.to_string());
-                let writer = oio::BlockWriter::new(w, None, 4);
+                let writer = oio::BlockWriter::new(core.info.clone(), w, 4);
                 Ok(TwoWays::Two(GhacWriterV2 {
                     core,
                     writer,
diff --git a/core/src/services/webhdfs/backend.rs b/core/src/services/webhdfs/backend.rs
index b991b97b6..ca2714838 100644
--- a/core/src/services/webhdfs/backend.rs
+++ b/core/src/services/webhdfs/backend.rs
@@ -684,8 +684,8 @@ impl Access for WebhdfsBackend {
             WebhdfsWriters::Two(oio::AppendWriter::new(w))
         } else {
             WebhdfsWriters::One(oio::BlockWriter::new(
+                self.info.clone(),
                 w,
-                args.executor().cloned(),
                 args.concurrent(),
             ))
         };