5 Replies Latest reply on Sep 23, 2009 9:14 AM by mircea.markus

    transactions failed when integrated with cache

    sridhar_ratna

      Hi,

      I am using JBoss Cache 3.1 integrated with Gridgain 2.1.

      I built three jboss cache instances with Cache Mode as LOCAL.

      For a particular operation, i need to delete data from two caches and merge it with some data in third cache.

      Now i want to have these three opeations as atomic unit. for this i have followed the solution provide by "morpheus" in gridgain forum

      "What you need is to launch 3 jobs and have them coordinate between each other. So, for example, the 3rd job would have to wait for first two jobs to do the delete operation prior to continuing... If at any point anything fails, you can issue rollback from all jobs.

      Take a look at Distributed Task Session for information on how to use task session attributes to coordinate between task and jobs. Also, there are several session examples shipped with GridGain (e.g. +GridifyHelloWorldSessionExample+) "

      link to the forum is thread is http://www.gridgainsystems.com/jiveforums/thread.jspa?threadID=862

      Now i am trying to implement the same solution and for that i have written a sample program. i have placed the eclipse project at http://www.4shared.com/file/134482628/80d6c0fd/matcher.html.

      I have configured the JBossTs as per the installation document and the installation was success.

      but when i run the application i am getting the error

      [java] java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction!
      [java] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:158)
      [java] at com.cmc.messaging.HelloWorldJob.onMessage(Unknown Source)
      [java] at org.gridgain.grid.kernal.managers.communication.GridCommunicationManager$4.body(GridCommunicationManager.java:589)
      [java] at org.gridgain.grid.util.runnable.GridRunnable$1.run(GridRunnable.java:142)
      [java] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      [java] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      [java] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      [java] at org.gridgain.grid.util.runnable.GridRunnable.run(GridRunnable.java:194)
      [java] at org.gridgain.grid.util.runnable.GridRunnablePool$1.run(GridRunnablePool.java:80)
      [java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      [java] at java.lang.Thread.run(Thread.java:619)


      can any body help me out what was the problem.

      In the project enclosed there is an ant script.
      first run the target gridNode1
      then run the target gridNode2
      the run the target hw.

      Please help me.
      Thanks in advance.
      Sridhar