JAMES-2122 Emit warning log on swallowed Cassandra attachment

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/40c98168
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/40c98168
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/40c98168

Branch: refs/heads/master
Commit: 40c9816836e5f2eababc887cb16e2c5dbfbcd2b4
Parents: 8061849
Author: benwa <btell...@linagora.com>
Authored: Thu Aug 17 10:38:38 2017 +0700
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Thu Aug 17 13:13:33 2017 +0200

----------------------------------------------------------------------
 .../mailbox/cassandra/mail/CassandraAttachmentMapper.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/40c98168/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
index e121cc6..6c15999 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
@@ -39,7 +39,6 @@ import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
 import org.apache.james.mailbox.exception.AttachmentNotFoundException;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -47,6 +46,9 @@ import org.apache.james.mailbox.model.Attachment;
 import org.apache.james.mailbox.model.AttachmentId;
 import org.apache.james.mailbox.store.mail.AttachmentMapper;
 import org.apache.james.util.FluentFutureStream;
+import org.apache.james.util.OptionalConverter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.datastax.driver.core.Row;
 import com.datastax.driver.core.Session;
@@ -54,10 +56,10 @@ import com.github.fge.lambdas.Throwing;
 import com.github.fge.lambdas.ThrownByLambdaException;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Preconditions;
-import org.apache.james.util.OptionalConverter;
 
 public class CassandraAttachmentMapper implements AttachmentMapper {
 
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(CassandraAttachmentMapper.class);
     private final CassandraAsyncExecutor cassandraAsyncExecutor;
 
     @Inject
@@ -123,7 +125,9 @@ public class CassandraAttachmentMapper implements 
AttachmentMapper {
                 .from(TABLE_NAME)
                 .where(eq(ID, id)))
             .thenApply(optional ->
-                optional.map(this::attachment));
+                OptionalConverter.ifEmpty(
+                    optional.map(this::attachment),
+                    () -> LOGGER.warn("Failed retrieving attachment {}", 
attachmentId)));
     }
 
     @Override


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

Reply via email to