Saving mail to sent folder fails when sent box is not yet available in the 
user's account
-----------------------------------------------------------------------------------------

                 Key: MAILBOX-165
                 URL: https://issues.apache.org/jira/browse/MAILBOX-165
             Project: James Mailbox
          Issue Type: Bug
          Components: jpa mailbox
    Affects Versions: 0.3
         Environment: JAMES 3.0 beta3.
PostgreSQL driver. JPA configured.
            Reporter: lcl hst
            Assignee: Norman Maurer


INFO  17:32:19,244 | james.smtpserver | ID=460713906 Connection established 
from 127.0.0.1 (127.0.0.1)
INFO  17:32:19,360 | james.smtpserver | ID=460713906 Successfully spooled mail 
Mail1329323539340-5edf1199-7656-4f6f-81d7-41023a033585 from [email protected] on 
127.0.0.1 for [[email protected], [email protected]]
INFO  17:32:19,384 | james.smtpserver | ID=460713906 Connection closed for 
127.0.0.1 (127.0.0.1)
INFO  17:32:19,423 | james.mailetcontext | Error while storing mail.
javax.mail.MessagingException: Unable to access RecipientRewriteTable;
  nested exception is:
        org.apache.james.rrt.api.RecipientRewriteTableException: Error while 
retrieve mappings
        at 
org.apache.james.transport.mailets.RecipientRewriteTable.processMail(RecipientRewriteTable.java:66)
        at 
org.apache.james.transport.mailets.AbstractRecipientRewriteTableMailet.service(AbstractRecipientRewriteTableMailet.java:73)
        at 
org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:65)
        at 
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:80)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
        at 
org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:515)
        at 
org.apache.camel.processor.MulticastProcessor.access$100(MulticastProcessor.java:73)
        at 
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:239)
        at 
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:231)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.james.rrt.api.RecipientRewriteTableException: Error while 
retrieve mappings
        at 
org.apache.james.rrt.jpa.JPARecipientRewriteTable.mapAddressInternal(JPARecipientRewriteTable.java:98)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.mapAddress(AbstractRecipientRewriteTable.java:451)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.getMappings(AbstractRecipientRewriteTable.java:125)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.getMappings(AbstractRecipientRewriteTable.java:115)
        at 
org.apache.james.transport.mailets.RecipientRewriteTable.processMail(RecipientRewriteTable.java:57)
        ... 43 more
Caused by: <openjpa-2.1.0-r422266:1071316 fatal general error> 
org.apache.openjpa.persistence.PersistenceException: ERROR: invalid escape 
string
  Hint: Escape string must be empty or one character. {prepstmnt 1446038943 
SELECT t0.domain_name, t0.user_name, t0.target_address FROM 
public.JAMES_RECIPIENT_REWRITE t0 WHERE ((t0.user_name LIKE ? ESCAPE '\\' OR 
t0.user_name
 = ?) AND (t0.domain_name LIKE ? ESCAPE '\\' OR t0.domain_name = ?)) ORDER BY 
t0.domain_name DESC [params=?, ?, ?, ?]} [code=0, state=22025]
FailedObject: SELECT rrt FROM JamesRecipientRewrite rrt WHERE (rrt.user LIKE 
:user OR rrt.user='*') and (rrt.domain like :domain or rrt.domain='*') ORDER BY 
rrt.domain DESC [java.lang.String]
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4869)
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4829)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:118)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:70)
        at 
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
        at 
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
        at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1251)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
        at 
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
        at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:305)
        at 
org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:319)
        at 
org.apache.james.rrt.jpa.JPARecipientRewriteTable.mapAddressInternal(JPARecipientRewriteTable.java:88)
        ... 47 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ERROR: invalid 
escape string
  Hint: Escape string must be empty or one character. {prepstmnt 1446038943 
SELECT t0.domain_name, t0.user_name, t0.target_address FROM 
public.JAMES_RECIPIENT_REWRITE t0 WHERE ((t0.user_name LIKE ? ESCAPE '\\' OR 
t0.user_name
 = ?) AND (t0.domain_name LIKE ? ESCAPE '\\' OR t0.domain_name = ?)) ORDER BY 
t0.domain_name DESC [params=?, ?, ?, ?]} [code=0, state=22025]
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:281)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:265)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:72)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1183)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.sql.PostgresDictionary$PostgresPreparedStatement.executeQuery(PostgresDictionary.java:1004)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1785)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:274)
        at 
org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:499)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:424)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
        at 
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
        at 
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
        ... 55 more
INFO  17:32:19,572 | james.mailetcontext | Error while storing mail.
javax.mail.MessagingException: Unable to access RecipientRewriteTable;
  nested exception is:
        org.apache.james.rrt.api.RecipientRewriteTableException: Error while 
retrieve mappings
        at 
org.apache.james.transport.mailets.RecipientRewriteTable.processMail(RecipientRewriteTable.java:66)
        at 
org.apache.james.transport.mailets.AbstractRecipientRewriteTableMailet.service(AbstractRecipientRewriteTableMailet.java:73)
        at 
org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:65)
        at 
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:80)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
        at 
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
        at 
org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:515)
        at 
org.apache.camel.processor.MulticastProcessor.access$100(MulticastProcessor.java:73)
        at 
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:239)
        at 
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:231)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.james.rrt.api.RecipientRewriteTableException: Error while 
retrieve mappings
        at 
org.apache.james.rrt.jpa.JPARecipientRewriteTable.mapAddressInternal(JPARecipientRewriteTable.java:98)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.mapAddress(AbstractRecipientRewriteTable.java:451)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.getMappings(AbstractRecipientRewriteTable.java:125)
        at 
org.apache.james.rrt.lib.AbstractRecipientRewriteTable.getMappings(AbstractRecipientRewriteTable.java:115)
        at 
org.apache.james.transport.mailets.RecipientRewriteTable.processMail(RecipientRewriteTable.java:57)
        ... 43 more
Caused by: <openjpa-2.1.0-r422266:1071316 fatal general error> 
org.apache.openjpa.persistence.PersistenceException: ERROR: invalid escape 
string
  Hint: Escape string must be empty or one character. {prepstmnt 32952671 
SELECT t0.domain_name, t0.user_name, t0.target_address FROM 
public.JAMES_RECIPIENT_REWRITE t0 WHERE ((t0.user_name LIKE ? ESCAPE '\\' OR 
t0.user_name =
 ?) AND (t0.domain_name LIKE ? ESCAPE '\\' OR t0.domain_name = ?)) ORDER BY 
t0.domain_name DESC [params=?, ?, ?, ?]} [code=0, state=22025]
FailedObject: SELECT rrt FROM JamesRecipientRewrite rrt WHERE (rrt.user LIKE 
:user OR rrt.user='*') and (rrt.domain like :domain or rrt.domain='*') ORDER BY 
rrt.domain DESC [java.lang.String]
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4869)
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4829)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:118)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:70)
        at 
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
        at 
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
        at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1251)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
        at 
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
        at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:305)
        at 
org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:319)
        at 
org.apache.james.rrt.jpa.JPARecipientRewriteTable.mapAddressInternal(JPARecipientRewriteTable.java:88)
        ... 47 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ERROR: invalid 
escape string
  Hint: Escape string must be empty or one character. {prepstmnt 32952671 
SELECT t0.domain_name, t0.user_name, t0.target_address FROM 
public.JAMES_RECIPIENT_REWRITE t0 WHERE ((t0.user_name LIKE ? ESCAPE '\\' OR 
t0.user_name =
 ?) AND (t0.domain_name LIKE ? ESCAPE '\\' OR t0.domain_name = ?)) ORDER BY 
t0.domain_name DESC [params=?, ?, ?, ?]} [code=0, state=22025]
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:281)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:265)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:72)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1183)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.sql.PostgresDictionary$PostgresPreparedStatement.executeQuery(PostgresDictionary.java:1004)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1785)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:274)
        at 
org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:499)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:424)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
        at 
org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
        at 
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
        at 
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
        ... 55 more
INFO  17:32:19,727 | james.mailetcontext | Storing mail 
Mail1329323539721-4d87e0c9-7379-43b6-b4a6-7a79a1eb11f8 in file://var/mail/error/
INFO  17:32:19,839 | james.mailetcontext | Local delivered mail 
Mail1329323539340-5edf1199-7656-4f6f-81d7-41023a033585 sucessfully from 
[email protected] to [email protected]
INFO  17:32:19,872 | james.mailetcontext | Local delivered mail 
Mail1329323539340-5edf1199-7656-4f6f-81d7-41023a033585 sucessfully from 
[email protected] to [email protected]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to