> > Hi, > I am trying to setup Ignite as a Read -Write though cache backed by a > RDBMS database.I created a sample project with Wildfly 8.X here > > > https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/cache/CacheInitializer.java > > I have a query as below > > Ignite documentation says Ignite writes through updates transactionally. > But when I add a few logger I see the writes to database are triggered post > commit triggered by CMT. > > Can anyone help me confirm if this is a desired behaviour or a > misconfiguration that I have done ? > > *Refer repository : ignite cache is initialised here* > *https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/cache/CacheInitializer.java > <https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/cache/CacheInitializer.java>* > > *And : ignite cache put is invoked here* > *https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/ejb/OnboardingService.java > <https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/ejb/OnboardingService.java>* > > *CMT demarcation start at * > *https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/ejb/CustomerManagerEJB.java > <https://github.com/vikramp/ignite-test/blob/master/cmt/src/main/java/org/jboss/as/quickstarts/cmt/ejb/CustomerManagerEJB.java>* > > > See log below > 12:32:27,727 TRACE [com.arjuna.ats.jta] (default task-5) > BaseTransaction.begin > 12:32:27,728 TRACE [com.arjuna.ats.jta] (default task-5) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:27,728 TRACE [com.arjuna.ats.jta] (default task-5) > BaseTransaction.commit > 12:32:27,728 TRACE [com.arjuna.ats.jta] (default task-5) > TransactionImple.commitAndDisassociate > 12:32:31,261 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.begin > 12:32:31,261 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.suspend > 12:32:31,261 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.begin > 12:32:31,262 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,262 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.commit > 12:32:31,262 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.commitAndDisassociate > 12:32:31,262 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.resume > *12:32:31,262 WARNING > [org.jboss.as.quickstarts.cmt.ejb.CustomerManagerEJB] (default task-6) > Request to add Customer with name :ewrqewrq : arrived* > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getRollbackOnly > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,264 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,265 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.registerInterposedSynchronization > 12:32:31,265 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,267 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,267 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,269 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.registerInterposedSynchronization > 12:32:31,269 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,269 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.putResource > 12:32:31,269 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,276 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,276 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,277 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.putResource > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.putResource > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,278 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,280 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.registerInterposedSynchronization > 12:32:31,280 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,282 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.enlistResource ( XAResourceWrapperImpl@586af4b1 > [xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@632f5f3c > pad=false overrideRmValue=null productName=H2 productVersion=1.3.173 > (2013-07-28) jndiName=java:jboss/datasources/db1] ) > 12:32:31,282 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,282 TRACE [com.arjuna.ats.jta] (default task-6) > XAResourceRecord.XAResourceRecord ( < formatId=131077, gtrid_length=29, > bqual_length=36, tx_uid=0:ffff0a0a29ba:1268d680:61655915:b0, node_name=1, > branch_uid=0:ffff0a0a29ba:1268d680:61655915:b5, subordinatenodename=null, > eis_name=java:jboss/datasources/db1 >, XAResourceWrapperImpl@586af4b1 > [xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@632f5f3c > pad=false overrideRmValue=null productName=H2 productVersion=1.3.173 > (2013-07-28) jndiName=java:jboss/datasources/db1] ), record > id=0:ffff0a0a29ba:1268d680:61655915:b6 > 12:32:31,285 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,286 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,292 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,292 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,293 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,300 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.suspend > 12:32:31,300 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.begin > 12:32:31,302 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:31,302 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.commit > 12:32:31,302 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.commitAndDisassociate > 12:32:31,302 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.resume > 12:32:41,029 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.registerSynchronization > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.suspend > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.begin > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.commit > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.commitAndDisassociate > 12:32:41,114 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.resume > *12:32:41,115 WARNING > [org.jboss.as.quickstarts.cmt.ejb.CustomerManagerEJB] (default task-6) > Request to add Customer with name :ewrqewrq : processed* > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.suspend > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.begin > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.commit > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.commitAndDisassociate > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImpleManager.resume > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > BaseTransaction.commit > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.commitAndDisassociate > 12:32:41,115 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.beforeCompletion > 12:32:41,148 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.beforeCompletion > 12:32:41,149 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getTransactionKey > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionSynchronizationRegistryImple.getResource > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.equals > 12:32:41,169 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,173 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,175 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,175 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE > 12:32:41,175 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.beforeCompletion > 12:32:41,175 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.beforeCompletion > 12:32:41,175 TRACE [com.arjuna.ats.jta] (default task-6) > XAResourceRecord.topLevelOnePhaseCommit for XAResourceRecord < > resource:XAResourceWrapperImpl@586af4b1 > [xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@632f5f3c > pad=false overrideRmValue=null productName=H2 productVersion=1.3.173 > (2013-07-28) jndiName=java:jboss/datasources/db1], txid:< formatId=131077, > gtrid_length=29, bqual_length=36, > tx_uid=0:ffff0a0a29ba:1268d680:61655915:b0, node_name=1, > branch_uid=0:ffff0a0a29ba:1268d680:61655915:b5, subordinatenodename=null, > eis_name=java:jboss/datasources/db1 >, heuristic: > TwoPhaseOutcome.FINISH_OK, product: H2/1.3.173 (2013-07-28), jndiName: > java:jboss/datasources/db1 > com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord@429eceef > >, record id=0:ffff0a0a29ba:1268d680:61655915:b6 > 12:32:41,180 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.afterCompletion > 12:32:41,180 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.afterCompletion > 12:32:41,180 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_COMMITTED > 12:32:41,180 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.afterCompletion > 12:32:41,180 TRACE [com.arjuna.ats.jta] (default task-6) > SynchronizationImple.afterCompletion > 12:32:41,192 INFO > [org.jboss.as.quickstarts.cmt.cache.OnboardingProcessCacheStoreFactory] > (default task-6) *About to write entry* > 12:32:41,199 TRACE [com.arjuna.ats.jta] (default task-6) > TransactionImple.getStatus: javax.transaction.Status.STATUS_COMMITTED > 12:32:41,222 WARN [com.arjuna.ats.jta] (default task-6) ARJUNA016029: > SynchronizationImple.afterCompletion - failed for CacheJtaResource > [cacheTx=GridNearTxLocal [mappings=IgniteTxMappingsImpl [], > nearLocallyMapped=false, colocatedLocallyMapped=true, needCheckBackup=null, > hasRemoteLocks=false, trackTimeout=false, systemTime=0, > systemStartTime=12495890522066, prepareStartTime=12495890524689, > prepareTime=70222632, commitOrRollbackStartTime=12495960758305, > commitOrRollbackTime=0, > txDumpsThrottling=org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager$TxDumpsThrottling@1165d5c3, > lb=null, mvccOp=false, qryId=-1, crdVer=0, thread=default task-6, > mappings=IgniteTxMappingsImpl [], super=GridDhtTxLocalAdapter > [nearOnOriginatingNode=false, nearNodes=KeySetView [], dhtNodes=KeySetView > [], explicitLock=false, super=IgniteTxLocalAdapter [completedBase=null, > sndTransformedVals=false, depEnabled=false, txState=IgniteTxStateImpl > [activeCacheIds=[-1690436546], recovery=false, mvccEnabled=false, > mvccCachingCacheIds=[], txMap=HashSet [IgniteTxEntry [txKey=IgniteTxKey > [key=KeyCacheObjectImpl [part=430, val=ewrqewrq, hasValBytes=true], > cacheId=-1690436546], val=[op=CREATE, > val=org.jboss.as.quickstarts.cmt.model.OnboardingProcess [idHash=50427147, > hash=-1794684740, customerName=ewrqewrq, status=new]], prevVal=[op=CREATE, > val=org.jboss.as.quickstarts.cmt.model.OnboardingProcess [idHash=50427147, > hash=-1794684740, customerName=ewrqewrq, status=new]], oldVal=[op=NOOP, > val=null], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, > conflictVer=null, explicitVer=null, dhtVer=null, > filters=CacheEntryPredicate[] [], filtersPassed=false, filtersSet=true, > entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=430, > super=GridDistributedCacheEntry [super=GridCacheMapEntry > [key=KeyCacheObjectImpl [part=430, val=ewrqewrq, hasValBytes=true], > val=null, ver=GridCacheVersion [topVer=0, order=0, nodeOrder=0], > hash=1540148322, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc > [locs=LinkedList [GridCacheMvccCandidate > [nodeId=8587ebcf-0f90-4228-a208-1e22aa084c21, ver=GridCacheVersion > [topVer=245511898, order=1634031897078, nodeOrder=1], threadId=652, id=1, > topVer=AffinityTopologyVersion [topVer=1, minorTopVer=0], reentry=null, > otherNodeId=8587ebcf-0f90-4228-a208-1e22aa084c21, otherVer=GridCacheVersion > [topVer=245511898, order=1634031897078, nodeOrder=1], mappedDhtNodes=null, > mappedNearNodes=null, ownerVer=null, serOrder=null, key=KeyCacheObjectImpl > [part=430, val=ewrqewrq, hasValBytes=true], > masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null]], rmts=null]], flags=2]]], prepared=1, > locked=false, nodeId=8587ebcf-0f90-4228-a208-1e22aa084c21, locMapped=false, > expiryPlc=null, transferExpiryPlc=false, flags=0, partUpdateCntr=0, > serReadVer=null, xidVer=GridCacheVersion [topVer=245511898, > order=1634031897078, nodeOrder=1]]]], super=IgniteTxAdapter > [xidVer=GridCacheVersion [topVer=245511898, order=1634031897078, > nodeOrder=1], writeVer=GridCacheVersion [topVer=245511898, > order=1634031897080, nodeOrder=1], implicit=false, loc=true, threadId=652, > startTime=1634034761008, nodeId=8587ebcf-0f90-4228-a208-1e22aa084c21, > startVer=GridCacheVersion [topVer=245511898, *order=1634031897078, > nodeOrder=1], endVer=null, isolation=READ_COMMITTED, > concurrency=OPTIMISTIC, timeout=0, sysInvalidate=false, sys=false, plc=2, > commitVer=GridCacheVersion [topVer=245511898, order=1634031897078, > nodeOrder=1], finalizing=NONE, invalidParts=null, state=MARKED_ROLLBACK, > timedOut=false, topVer=AffinityTopologyVersion [topVer=1, minorTopVer=0], > mvccSnapshot=null, skipCompletedVers=false, parentTx=null, duration=195ms, > onePhaseCommit=false], size=1]]], xid=null] with exception: > javax.cache.CacheException: Failed to commit cache transaction.* > * at > org.apache.ignite.internal.processors.cache.jta.CacheJtaResource.afterCompletion(CacheJtaResource.java:286) > [ignite-jta-2.8.0.jar:2.8.0]* >