openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Maurer <nor...@apache.org>
Subject Re: ClassCastException / org.apache.openjpa.persistence.ArgumentException on heavy processing
Date Wed, 06 Oct 2010 17:57:46 GMT
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 <kwsutter@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 <norman@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 te@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
>>
>

Mime
View raw message