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