3 Replies Latest reply on Feb 18, 2009 1:33 PM by cjnoyescrisp

    Content of ArrayList in Object cached, when retrieved is mis

    cjnoyescrisp

      Stored in cache is an object which has a number of member variables including two ArrayLists. Under certain circumstances, which are unclear when the cached object is retrieved, the array lists are empty.

      The data that is contained in the array lists are also present at other points in the cache and are valid as expected.

      Other uses of the cache work as expected.

      Jdk 1.5.0.16
      under tomcat 5.5
      Windows XP

      Using Jboss Cache 2.1.1.GA

      Note the instance is also running Activemq

      It's unclear if moving to the lastest build would help
      We are using the core cache because of historical reasons.
      we moved forward to this from 1.2.2 to 1.4.1 and then to this version, due to the stuck lock issue with the 1.x code

        • 1. Re: Content of ArrayList in Object cached, when retrieved is
          manik

          Do you have any other threads that have reference to the object cached, or the array lists in question, and may be clearing them?

          • 2. Re: Content of ArrayList in Object cached, when retrieved is
            cjnoyescrisp

            I did some research around the comments you made, and the objects in question are not being modified once they have been stored. they are retrieved but never modified. I did some prevention thinking we were getting objects that weren't fully setup stored, but I am still seeing the problem. On the machine it works on, in addition to a live instance, there is a qa instance and a preview/staging instance, though all different tomcats. The ones where it is failing, there is only one instance on the machine, and the JDK is made private with jvm.dll in tombat\bin

            • 3. Re: Content of ArrayList in Object cached, when retrieved is
              cjnoyescrisp

              These are the relevant settings in the config. I have stripped out unused regions, the bold region is the problem, rest work

              <?xml version="1.0" encoding="UTF-8"?>




              5

              <!-- This defaults to 200000 if not specified -->
              200000
              org.jboss.cache.eviction.LRUPolicy



              <!-- Node locking level : SERIALIZABLE

              REPEATABLE_READ (default)

              READ_COMMITTED

              READ_UNCOMMITTED

              NONE -->

              READ_UNCOMMITTED



              <!-- Lock parent before doing node additions/removes -->

              true



              <!-- Valid modes are LOCAL (default)

              REPL_ASYNC

              REPL_SYNC

              INVALIDATION_ASYNC

              INVALIDATION_SYNC -->

              LOCAL


              <!-- Cache wide default -->

              5000
              600



              0
              600



              0
              0


              0
              0


              0
              150