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:
{code}
while (i < keys.length) {
//get message properties
if (Bytes.startsWith(keys[i].getQualifier(), PREFIX_PROP_B)) {
propList.add(getProperty(keys[i].getValue()));
} else if (Bytes.startsWith(keys[i].getQualifier(),
PREFIX_SFLAGS_B)) {
{code}
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
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]