[infinispan-dev] https://issues.jboss.org/browse/ISPN-2719

Madhu Venugopal (vmadhu) vmadhu at cisco.com
Tue Aug 13 14:11:31 EDT 2013


With SyncCommit = true & useSynchronization = true & moving to 5.3.0, I
don't see the problem any more.
I will continue testing it further.

infinispan-config.xml
@@ -25,13 +25,13 @@
   <namedCache name="transactional-type">
     <transaction
        
transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStand
aloneJTAManagerLookup"
-        syncRollbackPhase="false"
-        syncCommitPhase="false"
+        syncRollbackPhase="true"
+        syncCommitPhase="true"
         cacheStopTimeout="30000"
         use1PcForAutoCommitTransactions="false"
         autoCommit="true"
         lockingMode="OPTIMISTIC"
-        useSynchronization="false"
+        useSynchronization="true"
         transactionMode="TRANSACTIONAL"
         />
   </namedCache>



Thanks for your help.

-Madhu


On 8/13/13 8:30 AM, "Madhu Venugopal (vmadhu)" <vmadhu at cisco.com> wrote:

>Precisely, it is simple.
>
>I have 2 nodes in the cluster & I have 1 TRANSACTIONAL cache.
>At the very same time (few millisecs apart, both the nodes starts to write
>key/value into the cache.
>Both the nodes write the exact same Key, but different values in each
>Node.
>I just have 6 keys/values to write. But just after 2 or 3 entries, I see
>this exception.
>Since this is happening in a different thread (and not in the thread that
>writes the K/V in the cache,
>I am not sure which operation causes this.
>
>Let me look @ the iSPN that you pointed out.
>
>Thanks,
>-Madhu
>
>On 8/13/13 3:54 AM, "Mircea Markus" <mmarkus at redhat.com> wrote:
>
>>
>>On 13 Aug 2013, at 00:55, Madhu Venugopal (vmadhu) <vmadhu at cisco.com>
>>wrote:
>>
>>> Hi Mircea,
>>> 
>>> I asked this question in the IRC #infinispan.
>>> 
>>> Madhu:Recently I faced an issue wherein, putIfAbsent is not atomic for
>>>a NON_TRANSCTIONAL cache (Infinispan 5.2.3.final)
>>
>>What is your use case precisely?
>>Does it happen during rehashing? ISPN-3366 and ISPN-3357 should fix that.
>>
>>> [4:37pm]Madhu:Advice was to use TRANSACTIONAL Cache.
>>> [4:38pm]Madhu:Hence we replaced the DummyTransactionManager to
>>>JBossTransactionManager and used TRASCTIONAL cache.
>>> [4:39pm]Madhu:With this change, i see that putIfAbsent is behaving
>>>better. But, I am consistently running into an exception :
>>> [4:39pm]Madhu:org.infinispan.CacheException: Remote transaction for
>>>global transaction (RecoveryAwareGlobalTransaction{xid=< 131077, 29, 36,
>>>0000000000-1-1-64-88-1100-573382911275000649,
>>>0000000000-1-1-64-88-1100-573382911275000700000000 >,
>>>internalId=281483566645250}
>>>GlobalTransaction:<Madhu-Mac-19065>:2:remote) not found
>>> [4:39pm]Madhu:after this exception, the cache goes completely out of
>>>sync.
>>> [4:39pm]Madhu:Can Anyone help ?
>>> [4:43pm]Madhu:seems similar to
>>>https://issues.jboss.org/browse/ISPN-2719
>>> 
>>> I see that you are working on it. Can you please let me know if you
>>>want me to try out any patch. I will be glad to :-)
>>> 
>>> Thanks,
>>> Madhu
>>
>>Cheers,
>>-- 
>>Mircea Markus
>>Infinispan lead (www.infinispan.org)
>>
>>
>>
>>
>




More information about the infinispan-dev mailing list