[infinispan-dev] Fwd: NPE ... heeeeelp

philippe van dyck pvdyck at gmail.com
Sat Apr 17 06:18:35 EDT 2010


Well, I left the bug open, so you can still add a better fix !
Actually, taking in charge an empty collection looks better...

phil



Le 17 avr. 2010 à 00:47, Mircea Markus a écrit :

> Thanks Phil,
> I was thinking on a slightly different fix, in which modifications cannot ever be null (but Coollections.EMPTY_LIST);
> 
> On 15 Apr 2010, at 13:47, Philippe Van Dyck wrote:
> 
>> Done : https://jira.jboss.org/jira/browse/ISPN-401
>> 
>> The fix is included... could you please update the code ?
>> 
>> thanks
>> 
>> phil
>> 
>> On Thu, Apr 15, 2010 at 12:07 PM, Mircea Markus <mircea.markus at jboss.com> wrote:
>> By the way the code looks, I think this only happens when there's no state modifications in the transaction.
>> Can you please confirm that? If so, a workaround would be to do a dummy remove, e.g. for a key you know does not exist.
>> Application would be useful as well.
>> Mind creating a bug for this one?
>> 
>> Thank you,
>> Mircea
>> 
>> On 14 Apr 2010, at 20:42, Philippe Van Dyck wrote:
>> 
>>> Sorry, I meant transaction manager ...
>>> 
>>> seems to happen in
>>> 
>>>     if (modifications.isEmpty()) {
>>>          if (trace) log.trace("Transaction has not logged any modifications!");
>>>          return;
>>>       }
>>> 
>>> 
>>> ---------- Forwarded message ----------
>>> From: Philippe Van Dyck <pvdyck at gmail.com>
>>> Date: Wed, Apr 14, 2010 at 7:41 PM
>>> Subject: NPE ... heeeeelp
>>> To: infinispan -Dev List <infinispan-dev at lists.jboss.org>
>>> 
>>> 
>>> Anyone ?
>>> Using Atomikos Session manager :
>>> 
>>> 21590604 [Atomikos:245] ERROR org.infinispan.transaction.xa.TransactionXaAdapter  - Error while processing PrepareCommand
>>>  java.lang.NullPointerException
>>> 	at org.infinispan.interceptors.CacheStoreInterceptor.prepareCacheLoader(CacheStoreInterceptor.java:240)
>>> 	at org.infinispan.interceptors.CacheStoreInterceptor.visitPrepareCommand(CacheStoreInterceptor.java:167)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
>>> 	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
>>> 	at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:48)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
>>> 	at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:91)
>>> 	at org.infinispan.interceptors.DistTxInterceptor.visitPrepareCommand(DistTxInterceptor.java:59)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
>>> 	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
>>> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:48)
>>> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:34)
>>> 	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105)
>>> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120)
>>> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:269)
>>> 	at org.infinispan.transaction.xa.TransactionXaAdapter.prepare(TransactionXaAdapter.java:87)
>>> 	at org.infinispan.transaction.xa.TransactionXaAdapter.commit(TransactionXaAdapter.java:97)
>>> 	at com.atomikos.datasource.xa.XAResourceTransaction.commit(XAResourceTransaction.java:967)
>>> 	at com.atomikos.icatch.imp.CommitMessage.send(CommitMessage.java:94)
>>> 	at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:86)
>>> 	at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:62)
>>> 	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)
>>> 
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> 
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
>> 
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20100417/1db67f0f/attachment-0002.html 


More information about the infinispan-dev mailing list