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

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 57f1f7a979307577d5188aa32b99415262ccde6c
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Wed Apr 12 13:45:11 2023 +0700

    [PERF] S3BlobStoreDAO: Open/close inout streams on elastic threads
    
    Blocking operations where performed on the Cassandra driver event loop.
---
 .../java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git 
a/server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java
 
b/server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java
index 564a8a8381..ba85e2375e 100644
--- 
a/server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java
+++ 
b/server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java
@@ -305,10 +305,9 @@ public class S3BlobStoreDAO implements BlobStoreDAO, 
Startable, Closeable {
 
         return Mono.fromCallable(content::size)
             .flatMap(contentLength ->
-                Mono.using(content::openStream,
+                
Mono.usingWhen(Mono.fromCallable(content::openStream).subscribeOn(Schedulers.boundedElastic()),
                     stream -> save(resolvedBucketName, blobId, stream, 
contentLength),
-                    Throwing.consumer(InputStream::close),
-                    LAZY))
+                    stream -> 
Mono.fromRunnable(Throwing.runnable(stream::close))))
             .retryWhen(createBucketOnRetry(resolvedBucketName))
             .onErrorMap(IOException.class, e -> new 
ObjectStoreIOException("Error saving blob", e))
             .onErrorMap(SdkClientException.class, e -> new 
ObjectStoreIOException("Error saving blob", e))


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to