5 Replies Latest reply on Nov 11, 2011 5:24 AM by galder.zamarreno

    org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.

    kwoyna

      Here's the error ==>  "org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting."

       

      I have spent the last couple of days reading through all discussions and cannot find a way to address this.

       

      I have a generic simple developer environment on a laptop with JBoss 6, JPA, and Second Level Cache.  All of this works great!

       

      However, when I try for performance improvement by using Async EJB3 called in parellel, I get:

       

      > 14:36:37,265 INFO  [org.infinispan.remoting.InboundInvocationHandlerImpl]Cachepersistence.unit:unitName=Vribe.ear/#XerxesPU.org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.

      > 14:36:37,266 INFO  [org.infinispan.remoting.InboundInvocationHandlerImpl]Cache named persistence.unit:unitName=Vribe.ear/#XerxesPU.org.hibernate.cache.UpdateTimestampsCache does not exist on this cache manager!

       

      I can get to further stranger errors by putting  <class>org.hibernate.cache.UpdateTimestampsCache</class> into persistence.xml, but I am sure that is is a bad hack at best.

       

      Any input/assistance would be greatly appreciated.

        • 1. Re: org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.
          galder.zamarreno

          How many nodes do you have in the cluster?

           

          Are you deploying Vribe.ear in all of them?

           

          Don't put <class>org.hibernate.cache.UpdateTimestampsCache</class>, it doesn't make sense!

           

          What the info message (not error btw ) is that the caches for that deployment are not set in a node. What this probably means is that there're nodes that do not contain this deployment and so the caches for them have not been set up, which is understandable.

          • 2. Re: org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.
            kwoyna

            Thank you for your helpful response. 

             

            I have  a simple straight from the jboss.org download jboss install with no modifications.  I am running the server "all" with the command "run -c all"..

             

            Grep searchs of C:\jboss-6.1.0.Final on a windows pc show that "UpdateTimesampsCache" does not exist as text anywhere.

             

            Using this documentation: http://www.jboss.org/jbossas/docs/6-x  does not document how to determine nodes or where to define node caches.  Doing grep scans for "node"  "Node" "NODE" do not reveal any files that would have multiple nodes defined.

             

            I am sure that it is ludicrously simple to configure, but I cannot find where/how to do so.

            • 3. Re: org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.
              kwoyna

              We put this entry into persistence.xml       

               

              <properties>

                    <property name="hibernate.cache.use_second_level_cache" value="true"/>

                    <property name="hibernate.cache.use_query_cache" value="true"/>

                    <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/>

              </properties>

               

              C:\jboss-6.1.0.Final\server\all\lib\inifinity-core.jar  <== looking inside this jar shows files dated 12/17/10.

               

              We have not editted any infinityspan config files.

               

              What documentation should I use to correctly configure what is needed?   (And would jumping to JBoss 7 help?)

               

              My guess is that we need to define org.hibernate.cache.UpdateTimestampsCache in infinispan for hibernate to be able to use.

              • 4. Re: org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.
                galder.zamarreno

                Hmmm, so you're suggesting you're only running a single server in your environment? I was under the impression that you were running a cluster of two or more JBoss instances, cos otherwise you'd not see InboundInvocationHandlerImpl in action. That's why I was asking whether you were running multiple servers.

                 

                Can you please enable TRACE on org.hibernate.infinispan and org.infinispan packages, repeat the test and attach the server.log file of your server? If you do have multiple servers, attach log files from all of them.

                 

                You don't need to define org.hibernate.cache.UpdateTimestampsCache cache. The Hibernate/Infinispan layer does it internally.

                • 5. Re: org.hibernate.cache.UpdateTimestampsCache is not defined.  No point in waiting.
                  galder.zamarreno

                  Kristian, to avoid those timing issues you're having, please use the suggested configuration options in http://community.jboss.org/wiki/InfinispanIntegrationInAS6

                   

                  IOW, use:

                   

                  <properties>

                  <property name="hibernate.cache.use_second_level_cache">true</property>

                  <property name="hibernate.cache.use_query_cache">true</property>

                  <property name="hibernate.cache.region.factory_class">org.hibernate.cache.infinispan.JndiInfinispanRegionFactory</property>

                  <property name="hibernate.cache.infinispan.cachemanager">java:CacheManager/entity</property>

                  </properties>

                   

                  This options make sure you use the Infinispan cache instances provided with AS6 that get around this issue, rather than creating your Infinispan instance in your app.