6 Replies Latest reply on May 7, 2006 11:53 PM by ben.wang

    trying to figure why we are getting RegionNameConflictExcept

    harshalx

      we have seven different applications running on two boxes. Each application has a dedicated JBoss instance for it and all these Jboss instances are running on different ports of the respective servers.

      Some of these apps use JBoss Cache and one of them needs to have multiple tree cache mbeans defined in JBoss service xml

      The last one that we deployed contains four tree cache mbeans . It uses Jboss ver 4.0.3SP1.

      The entire jboss-service.xml we are using is pasted at the last in this post.Please refer to it.

      The exception we get is pasted here.

      LRUPolicy.cacheStarted(): illegal region name specified for eviction policy exception: org.jboss.cache.eviction.RegionNameConflictException: RegionManager.checkConflict(): new region fqn /org/jboss/data is in conflict with current region fqn- /org/jboss/data

      Cache Loaded Successfully :RefreshCache
      ERROR LRUPolicy.cacheStarted(): illegal region name specified for eviction policy exception: org.jboss.cache.eviction.RegionNameConflictException: RegionManager.checkConflict(): new region fqn /org/jboss/data is in conflict with current region fqn- /org/jboss/data
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      We also get an exception for conflict in _default_ region even when a single app is running.

      And when other apps are running we get an exception for one of the other regions , which is also being used in the other apps.

      But since all of them run under different Jboss instances and also since clustering is not enabled in our environment why does a conflict occur?

      Also when this app alone is running , why do the default region names conflict?


      contents of jboss-service.xml



      <!-- ==================================================================== -->
      <!-- Defines TreeCache configuration -->
      <!-- ==================================================================== -->

      jboss:service=Naming
      jboss:service=TransactionManager

      <!-- Configure the TransactionManager -->
      <!-- org.jboss.cache.DummyTransactionManagerLookup-->

      MiddletierCache
      <!--
      Node locking level : SERIALIZABLE
      REPEATABLE_READ (default)
      READ_COMMITTED
      READ_UNCOMMITTED
      NONE
      -->
      NONE

      <!-- Valid modes are LOCAL
      REPL_ASYNC
      REPL_SYNC
      -->
      LOCAL

      <!-- Name of cluster. Needs to be the same for all clusters, in order
      to find each other -->
      TreeCache-Cluster



      <!-- UDP: if you have a multihomed machine,
      set the bind_addr attribute to the appropriate NIC IP address
      -->
      <!-- UDP: On Windows machines, because of the media sense feature
      being broken with multicast (even after disabling media sense)
      set the loopback attribute to true
      -->
      <UDP mcast_addr="228.1.2.3" mcast_port="45566" ip_ttl="64" ip_mcast="true"
      mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
      ucast_recv_buf_size="80000" loopback="false" />
      <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" />
      <MERGE2 min_interval="10000" max_interval="20000" />
      <FD shun="true" up_thread="true" down_thread="true" />
      <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" />
      <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
      down_thread="false" />
      <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" />
      <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" />
      <FRAG frag_size="8192" down_thread="false" up_thread="false" />
      <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" />
      <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" />



      <!-- The max amount of time (in milliseconds) we wait until the
      initial state (ie. the contents of the cache) are retrieved from
      existing members in a clustered environment
      -->
      5000

      <!-- Number of milliseconds to wait until all responses for a
      synchronous call have been received.
      -->
      10000

      <!-- Max number of milliseconds to wait for a lock acquisition -->
      15000

      <!-- Name of the eviction policy class. -->
      org.jboss.cache.eviction.LRUPolicy

      <!-- Specific eviction policy configurations. This is LRU -->


      5
      <!-- Cache wide default -->

      <!-- There is no limit on number of nodes -->
      0
      <!-- cache will expire 10 hours after last accessed -->
      43200



      10
      <!-- cache will never expire -->
      0



      5000
      1000





      <!-- org.jboss.cache.loader.FileCacheLoader
      /home/gtw/gtw_deve/fdgateway-->

      <!-- org.jboss.cache.loader.bdbje.BdbjeCacheLoader-->
      <!-- true-->
      <!-- /-->
      <!-- false-->
      <!-- true-->



      jboss:service=Naming
      jboss:service=TransactionManager

      <!-- Configure the TransactionManager -->
      <!-- org.jboss.cache.DummyTransactionManagerLookup-->

      MiddletierConfigCache
      <!--
      Node locking level : SERIALIZABLE
      REPEATABLE_READ (default)
      READ_COMMITTED
      READ_UNCOMMITTED
      NONE
      -->
      NONE

      <!-- Valid modes are LOCAL
      REPL_ASYNC
      REPL_SYNC
      -->
      LOCAL

      <!-- Name of cluster. Needs to be the same for all clusters, in order
      to find each other -->
      TreeCache-Cluster



      <!-- UDP: if you have a multihomed machine,
      set the bind_addr attribute to the appropriate NIC IP address
      -->
      <!-- UDP: On Windows machines, because of the media sense feature
      being broken with multicast (even after disabling media sense)
      set the loopback attribute to true
      -->
      <UDP mcast_addr="228.1.2.3" mcast_port="45576" ip_ttl="64" ip_mcast="true"
      mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
      ucast_recv_buf_size="80000" loopback="false" />
      <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" />
      <MERGE2 min_interval="10000" max_interval="20000" />
      <FD shun="true" up_thread="true" down_thread="true" />
      <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" />
      <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
      down_thread="false" />
      <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" />
      <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" />
      <FRAG frag_size="8192" down_thread="false" up_thread="false" />
      <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" />
      <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" />



      <!-- The max amount of time (in milliseconds) we wait until the
      initial state (ie. the contents of the cache) are retrieved from
      existing members in a clustered environment
      -->
      5000

      <!-- Number of milliseconds to wait until all responses for a
      synchronous call have been received.
      -->
      10000

      <!-- Max number of milliseconds to wait for a lock acquisition -->
      15000

      <!-- Name of the eviction policy class. -->
      org.jboss.cache.eviction.LRUPolicy

      <!-- Specific eviction policy configurations. This is LRU -->


      5
      <!-- Cache wide default -->

      <!-- There is no limit on number of nodes -->
      0
      <!-- cache will expire 10 hours after last accessed -->
      43200



      10
      <!-- cache will never expire -->
      0



      5000
      1000




      <!-- org.jboss.cache.loader.JDBCCacheLoader
      cache.jdbc.datasource=java:/jdbc/GTW_DB -->
      <!-- org.jboss.cache.loader.bdbje.BdbjeCacheLoader-->
      <!-- true-->
      <!-- /-->
      <!-- false-->
      <!-- true-->


      jboss:service=Naming
      jboss:service=TransactionManager

      <!-- Configure the TransactionManager -->
      <!-- org.jboss.cache.DummyTransactionManagerLookup-->

      OrderBook
      <!--
      Node locking level : SERIALIZABLE
      REPEATABLE_READ (default)
      READ_COMMITTED
      READ_UNCOMMITTED
      NONE
      -->
      NONE

      <!-- Valid modes are LOCAL
      REPL_ASYNC
      REPL_SYNC
      -->
      LOCAL

      <!-- Name of cluster. Needs to be the same for all clusters, in order
      to find each other -->
      TreeCache-Cluster



      <!-- UDP: if you have a multihomed machine,
      set the bind_addr attribute to the appropriate NIC IP address
      -->
      <!-- UDP: On Windows machines, because of the media sense feature
      being broken with multicast (even after disabling media sense)
      set the loopback attribute to true
      -->
      <UDP mcast_addr="228.1.2.3" mcast_port="45586" ip_ttl="64" ip_mcast="true"
      mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
      ucast_recv_buf_size="80000" loopback="false" />
      <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" />
      <MERGE2 min_interval="10000" max_interval="20000" />
      <FD shun="true" up_thread="true" down_thread="true" />
      <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" />
      <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
      down_thread="false" />
      <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" />
      <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" />
      <FRAG frag_size="8192" down_thread="false" up_thread="false" />
      <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" />
      <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" />



      <!-- The max amount of time (in milliseconds) we wait until the
      initial state (ie. the contents of the cache) are retrieved from
      existing members in a clustered environment
      -->
      5000

      <!-- Number of milliseconds to wait until all responses for a
      synchronous call have been received.
      -->
      10000

      <!-- Max number of milliseconds to wait for a lock acquisition -->
      15000

      <!-- Name of the eviction policy class. -->
      org.jboss.cache.eviction.LRUPolicy

      <!-- Specific eviction policy configurations. This is LRU -->


      5
      <!-- Cache wide default -->

      <!-- There is no limit on number of nodes -->
      0
      <!-- cache will expire 10 hours after last accessed -->
      43200





      <!-- org.jboss.cache.loader.JDBCCacheLoader
      cache.jdbc.datasource=java:/jdbc/GTW_DB -->
      <!-- org.jboss.cache.loader.bdbje.BdbjeCacheLoader-->
      <!-- true-->
      <!-- /-->
      <!-- false-->
      <!-- true-->


      jboss:service=Naming
      jboss:service=TransactionManager

      <!-- Configure the TransactionManager -->
      <!-- org.jboss.cache.DummyTransactionManagerLookup-->

      IoiBook
      <!--
      Node locking level : SERIALIZABLE
      REPEATABLE_READ (default)
      READ_COMMITTED
      READ_UNCOMMITTED
      NONE
      -->
      NONE

      <!-- Valid modes are LOCAL
      REPL_ASYNC
      REPL_SYNC
      -->
      LOCAL

      <!-- Name of cluster. Needs to be the same for all clusters, in order
      to find each other -->
      TreeCache-Cluster



      <!-- UDP: if you have a multihomed machine,
      set the bind_addr attribute to the appropriate NIC IP address
      -->
      <!-- UDP: On Windows machines, because of the media sense feature
      being broken with multicast (even after disabling media sense)
      set the loopback attribute to true
      -->
      <UDP mcast_addr="228.1.2.3" mcast_port="45596" ip_ttl="64" ip_mcast="true"
      mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
      ucast_recv_buf_size="80000" loopback="false" />
      <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" />
      <MERGE2 min_interval="10000" max_interval="20000" />
      <FD shun="true" up_thread="true" down_thread="true" />
      <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" />
      <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
      down_thread="false" />
      <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" />
      <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" />
      <FRAG frag_size="8192" down_thread="false" up_thread="false" />
      <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" />
      <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" />



      <!-- The max amount of time (in milliseconds) we wait until the
      initial state (ie. the contents of the cache) are retrieved from
      existing members in a clustered environment
      -->
      5000

      <!-- Number of milliseconds to wait until all responses for a
      synchronous call have been received.
      -->
      10000

      <!-- Max number of milliseconds to wait for a lock acquisition -->
      15000

      <!-- Name of the eviction policy class. -->
      org.jboss.cache.eviction.LRUPolicy

      <!-- Specific eviction policy configurations. This is LRU -->


      5
      <!-- Cache wide default -->

      <!-- There is no limit on number of nodes -->
      0
      <!-- cache will expire 10 hours after last accessed -->
      43200




      <!-- org.jboss.cache.loader.JDBCCacheLoader
      cache.jdbc.datasource=java:/jdbc/GTW_DB -->
      <!-- org.jboss.cache.loader.bdbje.BdbjeCacheLoader-->
      <!-- true-->
      <!-- /-->
      <!-- false-->
      <!-- true-->


        • 1. Re: trying to figure why we are getting RegionNameConflictEx
          harshalx

          I tried pasting jboss-service.xml but the contents of it do not arrive on the post for some reasom. Please give me your mail address and i will post you the file.

          • 2. Re: trying to figure why we are getting RegionNameConflictEx

            Why don't you just cut and paste the portion that declare eviction policy?

            • 3. Re: trying to figure why we are getting RegionNameConflictEx
              harshalx

               

              Entry 1
              
              <attribute name="EvictionPolicyConfig">
               <config>
               <attribute name="wakeUpIntervalSeconds">5</attribute>
               <!-- Cache wide default -->
               <region name="/_default_">
               <!-- There is no limit on number of nodes -->
               <attribute name="maxNodes">0</attribute>
               <!-- cache will expire 10 hours after last accessed -->
               <attribute name="timeToIdleSeconds">43200</attribute>
               </region>
              
               <region name="//nexus/exchange//service_status">
               <attribute name="maxNodes">10</attribute>
               <!-- cache will never expire -->
               <attribute name="timeToIdleSeconds">0</attribute>
               </region>
              
               <region name="/org/jboss/data">
               <attribute name="maxNodes">5000</attribute>
               <attribute name="timeToIdleSeconds">1000</attribute>
               </region>
              
               </config>
               </attribute>
              
              
              Entry 2
              
               <attribute name="EvictionPolicyConfig">
               <config>
               <attribute name="wakeUpIntervalSeconds">5</attribute>
               <!-- Cache wide default -->
               <region name="/_default_">
               <!-- There is no limit on number of nodes -->
               <attribute name="maxNodes">0</attribute>
               <!-- cache will expire 10 hours after last accessed -->
               <attribute name="timeToIdleSeconds">43200</attribute>
               </region>
              
               <region name="//config/data//service_status">
               <attribute name="maxNodes">10</attribute>
               <!-- cache will never expire -->
               <attribute name="timeToIdleSeconds">0</attribute>
               </region>
              
               <region name="/org/jboss/data">
               <attribute name="maxNodes">5000</attribute>
               <attribute name="timeToIdleSeconds">1000</attribute>
               </region>
              
               </config>
               </attribute>
              
              Entry 3
              
               <attribute name="EvictionPolicyConfig">
               <config>
               <attribute name="wakeUpIntervalSeconds">5</attribute>
               <!-- Cache wide default -->
               <region name="/_default_">
               <!-- There is no limit on number of nodes -->
               <attribute name="maxNodes">0</attribute>
               <!-- cache will expire 10 hours after last accessed -->
               <attribute name="timeToIdleSeconds">43200</attribute>
               </region>
              
              
               </config>
               </attribute>
              
              Entry 4
              
               <attribute name="EvictionPolicyConfig">
               <config>
               <attribute name="wakeUpIntervalSeconds">5</attribute>
               <!-- Cache wide default -->
               <region name="/_default_">
               <!-- There is no limit on number of nodes -->
               <attribute name="maxNodes">0</attribute>
               <!-- cache will expire 10 hours after last accessed -->
               <attribute name="timeToIdleSeconds">43200</attribute>
               </region>
              
               </config>
               </attribute>
              



              • 4. Re: trying to figure why we are getting RegionNameConflictEx

                I have no idea why it failed for you. I have just created a unit test for 2 instances of cache reading off the same eviction config. It works fine.

                If you are still stuck, please create a junit test case to see it that works first. If it fails, then you can submit it and it will be easier to troubleshoot.

                • 5. Re: trying to figure why we are getting RegionNameConflictEx
                  harshalx

                  I will do as you suggest. However, I noted this thing in testing this further.

                  Ealier the applications used to use JBoss3.2.2 and some version of JBossCache. I cant find which version since there is no org.jboss.cache.Version class in that version. So its definitely a version before 1.2.x.

                  Now I upgraded all the apps to use JBoss4.0.3SP1 and upgraded JBossCache 1.0.3SP1. The problem has been on since this upgrade.

                  Does this help in any way?

                  • 6. Re: trying to figure why we are getting RegionNameConflictEx

                    I assumed you meant 1.3.0SP1. So you have couple JBossCache instances insides 4.0.3SP1. That should still work though. Are they running as MBean service?