1 Reply Latest reply on Sep 29, 2006 8:55 AM by Owen Taylor

    Asynchronous replication on REPL_SYNC

    Ruchi Newbie

      I am using JBoss Cache version 1.4.0.SP1. The cache mode in treecache configuration is REPL_SYNC. I often see the following messages in my logs -


      2006-09-29 12:01:24,677 [WebContainer : 1] DEBUG - local transaction exists - registering global tx if not present for Thread[WebContainer : 1,5,main]
      2006-09-29 12:01:24,677 [WebContainer : 1] DEBUG - Associated gtx in txTable is GlobalTransaction:<A.B.C.D:9999>:1
      2006-09-29 12:01:24,677 [WebContainer : 1] DEBUG - Transaction com.ibm.ws.Transaction.JTA.TransactionImpl@10675896#tid=2 is already registered.
      ....
      ....
      2006-09-29 12:01:24,693 [WebContainer : 1] DEBUG - Attempting to release locks on current thread. Lock table is {}
      2006-09-29 12:01:24,693 [WebContainer : 1] DEBUG - Non-tx crud meth
      2006-09-29 12:01:24,693 [WebContainer : 1] DEBUG - forcing asynchronous replication for putFailFast()

      Why is the replication asynchronous when i am using REPL_SYNC.
      Why is it displaying Non-tx crud meth when i have passed the transaction.

      Any ideas????

        • 1. Re: Asynchronous replication on REPL_SYNC
          Owen Taylor Newbie

          It looks to me like you are using the Hibernate "TreeCache" cache provider. What the last two messages are from is a cache "put' - reading data from the cache failed, so after Hibernate fetched the data from the database it stored it into the cache. The store into the cache is done in a special manner so it:

          - Is independent from the current transaction (it's data read from the database, so even if the transaction is rolled back, it's still valid). Thta's what "Non-tx crud meth" means.
          - Is replicated to other nodes asynchronously (if other nodes don't have the data before the replication happens, they'll just read it from the database.) That's what "forcing asynchronous replicatoin for putFailFast()" means.