james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolai Grigoriev (JIRA)" <server-...@james.apache.org>
Subject [jira] [Created] (JAMES-1580) HBase mailbox may be blocked permanently by a malformed email
Date Fri, 05 Jun 2015 17:39:00 GMT
Nikolai Grigoriev created JAMES-1580:

             Summary: HBase mailbox may be blocked permanently by a malformed email
                 Key: JAMES-1580
                 URL: https://issues.apache.org/jira/browse/JAMES-1580
             Project: James Server
          Issue Type: Bug
          Components: POP3Server
    Affects Versions: 3.0-beta4, Trunk
         Environment: POP3 mailbox access with the mailbox managed by HBase
            Reporter: Nikolai Grigoriev

I have discovered the problem when working on a company-specific fork of James but when I
verified the trunk code I believe I saw the same problem there too.

org.apache.james.mailbox.hbase.HBaseUtils.messageMetaFromResult() calls getProperty() method
like this:

while (i < keys.length) {
            //get message properties
            if (Bytes.startsWith(keys[i].getQualifier(), PREFIX_PROP_B)) {
            } else if (Bytes.startsWith(keys[i].getQualifier(), PREFIX_SFLAGS_B)) {

getProperty() method throws RuntimeException (which is a bad practice, in my opinion, in this
case). This exception is not handled anywhere close enough in this method or in the caller.
As result, when a message in the mailbox cannot be parsed, then the mailbox becomes permanently
inaccessible until that message is removed manually.

I am receiving such messages from time to time so the problem is real.

I think the best solution would be either to skip the property and move to the next one.

This message was sent by Atlassian JIRA

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

View raw message