Hi Kevin,
you guess was right. I disabled the cache in persistence.xml via :
<property name="openjpa.jdbc.QuerySQLCache" value="false"/>
After this the problems were gone. After that I changed it to "true"
again (just to double-checked) and was able to reproduce the problem again.
So smells like a bug. Should I open the jira issue ?
Bye,
Norman
Am 06.10.2010 19:57, schrieb Norman Maurer:
Hi Kevin,
I will test it tomorrow when I have access to the server where I saw
the problem.
I will keep you updated as soon as I have some more info.
Thx,
Norman
2010/10/6 Kevin Sutter<kwsut...@gmail.com>:
I'm grabbing at straws here, but my first guess is that our caching of
prepared SQL queries is hitting a hiccup... To verify this, could you
temporarily turn off this cache (it's on by default) via the most convenient
method as documented here:
http://openjpa.apache.org/builds/2.0.1/apache-openjpa-2.0.1/docs/manual/manual.html#ref_guide_cache_querysql
Thanks!
Kevin
On Wed, Oct 6, 2010 at 7:10 AM, Norman Maurer<nor...@apache.org> wrote:
Hi there,
we at JAMES use openjpa 2.0.1 as JPA Provider. Sometimes I see the
following Exception on "heavy processing":
RROR 13:59:10,182 | james.virtualusertable-store | Failed to get
mapping for t...@localhost
<openjpa-2.0.1-r422266:989424 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: Failed to execute
query "SELECT vut FROM JamesVirtualUserTable vut WHERE (vut.user LIKE
:user OR vut.user='*') and (vut.domain like :domain or vut.domain='*')
ORDER BY vut.domain DESC". Check the query syntax for correctness. See
nested exception for details.
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:870)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:792)
at
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
at
org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:288)
at
org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302)
at
org.apache.james.vut.JPAVirtualUserTable.mapAddressInternal(JPAVirtualUserTable.java:83)
at
org.apache.james.impl.vut.AbstractVirtualUserTable.mapAddress(AbstractVirtualUserTable.java:408)
at
org.apache.james.impl.vut.AbstractVirtualUserTable.getMappings(AbstractVirtualUserTable.java:108)
at
org.apache.james.impl.vut.AbstractVirtualUserTable.getMappings(AbstractVirtualUserTable.java:100)
at
org.apache.james.transport.mailets.VirtualUserTable.processMail(VirtualUserTable.java:89)
at
org.apache.james.transport.mailets.AbstractVirtualUserTableMailet.service(AbstractVirtualUserTableMailet.java:76)
at
org.apache.james.mailetcontainer.camel.MailetProcessor.process(MailetProcessor.java:59)
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:290)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
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:72)
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:290)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
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:290)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
at
org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:449)
at
org.apache.camel.processor.MulticastProcessor.access$100(MulticastProcessor.java:67)
at
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:230)
at
org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:223)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: java.lang.String cannot be
cast to java.lang.Integer
at
org.apache.openjpa.jdbc.kernel.PreparedSQLStoreQuery$PreparedSQLExecutor.toParameterArray(PreparedSQLStoreQuery.java:157)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:855)
... 47 more
Which does not make any sense to me. The Statement is constructed as :
List<JPAVirtualUser> virtualUsers =
entityManager.createNamedQuery("selectMappings")
.setParameter("user", user)
.setParameter("domain", domain).getResultList();
Any idea what could be wrong ?
Bye,
Norman
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org