[infinispan-issues] [JBoss JIRA] (ISPN-1996) Failed to prepare view exceptions

dex chen (JIRA) jira-events at lists.jboss.org
Mon Apr 23 19:07:18 EDT 2012


    [ https://issues.jboss.org/browse/ISPN-1996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12686886#comment-12686886 ] 

dex chen commented on ISPN-1996:
--------------------------------

Here is the infinispan.xml:
<infinispan xmlns="urn:infinispan:config:5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd">

   <global>
      <transport clusterName="Test" machineId="portal1.xx.net" nodeName="portal1.xx.net" rackId="rack_test">
         <properties>
            <property name="configurationFile" value="/test/etc/jgroups-tcp.xml"/>
         </properties>
      </transport>
      <globalJmxStatistics enabled="true"/>
      <!--
            Used to register JVM shutdown hooks.
            hookBehavior: DEFAULT, REGISTER, DONT_REGISTER
      -->
       <shutdown hookBehavior="DONT_REGISTER"/>
   </global>

   <default>
     <locking concurrencyLevel="5000" isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="1500" useLockStriping="false" writeSkewCheck="false"/>
      <!--
         Used to register a transaction manager and participate in JTA and XA transactions.

         See:

            http://community.jboss.org/wiki/Infinispantransactions
      -->
      <transaction cacheStopTimeout="30000" eagerLockSingleNode="false" syncCommitPhase="false" syncRollbackPhase="false" transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" useEagerLocking="false"/>
      <!--
         Enables deadlock detection.  See:

         http://community.jboss.org/wiki/Infinispantransactions#deadlock

      -->
      <deadlockDetection enabled="true" spinDuration="1000"/>
      <jmxStatistics enabled="true"/>

    </default>

   <namedCache name="session">
      <clustering mode="replication">
         <stateRetrieval alwaysProvideInMemoryState="false" fetchInMemoryState="true" timeout="240000"/>
         <async asyncMarshalling="false" replQueueInterval="5000" replQueueMaxElements="500" useReplQueue="true"/>

      </clustering>
      <transaction transactionMode="NON_TRANSACTIONAL"/>
      <eviction maxEntries="250000" strategy="LRU"/>
      <!--  time units below are millseconds -->
      <expiration lifespan="-1" maxIdle="-1" wakeUpInterval="-1"/>

   </namedCache>

   <namedCache name="keychain">  
      <clustering mode="replication">
         <stateRetrieval alwaysProvideInMemoryState="false" fetchInMemoryState="true" timeout="240000"/>
         <async asyncMarshalling="false" replQueueInterval="5000" replQueueMaxElements="500" useReplQueue="true"/>
      </clustering>
         <transaction transactionMode="TRANSACTIONAL"/>
         <loaders passivation="false" preload="true" shared="false">
            <loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true" purgeOnStartup="false">

              <properties>
                <property name="stringsTableNamePrefix" value="ISPN_STRING_TABLE"/>
                <property name="idColumnName" value="ID_COLUMN"/>
                <property name="dataColumnName" value="DATA_COLUMN"/>
                <property name="timestampColumnName" value="TIMESTAMP_COLUMN"/>
                <property name="timestampColumnType" value="BIGINT"/>
                <property name="connectionFactoryClass" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory"/>
                <property name="datasourceJndiLocation" value="java:comp/env/jdbc/UserProfile"/>

                <property name="idColumnType" value="VARCHAR(255)"/>
                <property name="dataColumnType" value="BINARY"/>
                <property name="dropTableOnExit" value="false"/>
                <property name="createTableOnStart" value="true"/>
             </properties>
            <async enabled="false"/>
           </loader>
        </loaders>
   </namedCache>

  <namedCache name="ispn-cipherkey">
        <clustering mode="replication">
            <stateRetrieval alwaysProvideInMemoryState="false" fetchInMemoryState="true" timeout="240000"/>
            <async asyncMarshalling="false" replQueueInterval="5000" replQueueMaxElements="500" useReplQueue="true"/>
        </clustering>
        <loaders passivation="false" preload="true" shared="false">
        
            <loader class="org.infinispan.loaders.file.FileCacheStore"
                    fetchPersistentState="true"
                    purgerThreads="3"
                    purgeSynchronously="true"
                    ignoreModifications="false"
                    purgeOnStartup="false">
                <properties>
                    <property name="location" value="/test/cacheData/cipher"/>
                </properties>
                <async enabled="true" flushLockTimeout="15000" threadPoolSize="5"/>
            </loader>
       
        </loaders>
        <transaction transactionMode="NON_TRANSACTIONAL"/>
        <!--  time units below are millseconds -->
        <expiration lifespan="-1" maxIdle="-1" wakeUpInterval="-1"/>

    </namedCache>

    <namedCache name="ispn-ldapcookie">
        <clustering mode="replication">
            <stateRetrieval alwaysProvideInMemoryState="false" fetchInMemoryState="true" timeout="240000"/>
            <async asyncMarshalling="false" replQueueInterval="5000" replQueueMaxElements="500" useReplQueue="true"/>
        </clustering>
        <loaders passivation="false" preload="true" shared="false">
              
            <loader class="org.infinispan.loaders.file.FileCacheStore"
                    fetchPersistentState="true"
                    purgerThreads="3"
                    purgeSynchronously="true"
                    ignoreModifications="false"
                    purgeOnStartup="false">

                <properties>
                    <property name="location" value="/test/cacheData/ldapcookie"/>
                </properties>
                <async enabled="true" flushLockTimeout="15000" threadPoolSize="5"/>
            </loader>
          
        </loaders>
        <transaction transactionMode="NON_TRANSACTIONAL"/>
        <!--  time units below are millseconds -->
        <expiration lifespan="-1" maxIdle="-1" wakeUpInterval="-1"/>

    </namedCache>
</infinispan>

Here is the jgroup-tcp.xml:

<config xmlns="urn:org:jgroups" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:jgroups file:schema/JGroups-2.8.xsd">
   <TCP bind_addr="10.200.22.21" bind_port="7900" discard_incompatible_packets="true" enable_bundling="true" enable_diagnostics="false" loopback="true" max_bundle_size="64000" max_bundle_timeout="30" oob_thread_pool.enabled="true" oob_thread_pool.keep_alive_time="5000" oob_thread_pool.max_threads="30" oob_thread_pool.min_threads="2" oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="Discard" port_range="30" recv_buf_size="20000000" send_buf_size="640000" sock_conn_timeout="300" thread_pool.enabled="true" thread_pool.keep_alive_time="5000" thread_pool.max_threads="30" thread_pool.min_threads="2" thread_pool.queue_enabled="false" thread_pool.queue_max_size="100" thread_pool.rejection_policy="Discard" use_send_queues="true"/>

   <!-- Ergonomics, new in JGroups 2.11, are disabled by default in TCPPING until JGRP-1253 is resolved -->
   <TCPPING ergonomics="false" initial_hosts="ip1[7900],ip2[7900], ip3[7900]" num_initial_members="3" port_range="1" timeout="3000"/>
<!--
   <MPING bind_addr="${jgroups.bind_addr:127.0.0.1}" break_on_coord_rsp="true"
      mcast_addr="${jgroups.udp.mcast_addr:228.6.7.8}" mcast_port="${jgroups.udp.mcast_port:46655}" ip_ttl="${jgroups.udp.ip_ttl:2}"
      num_initial_members="3"/>
-->
   <MERGE2 max_interval="30000" min_interval="10000"/>
   <FD_SOCK/>
   <FD max_tries="3" timeout="3000"/>
   <VERIFY_SUSPECT timeout="1500"/>
   <pbcast.NAKACK discard_delivered_msgs="false" retransmit_timeout="300,600,1200,2400,4800" use_mcast_xmit="false"/>
   <UNICAST2 timeout="300,600,1200"/>
   <pbcast.STABLE desired_avg_gossip="50000" max_bytes="400000" stability_delay="1000"/>
   <pbcast.GMS join_timeout="7000" print_local_addr="false" view_bundling="true"/>
   <UFC max_credits="2000000" min_threshold="0.10"/>
   <MFC max_credits="2000000" min_threshold="0.10"/>
   <FRAG2 frag_size="60000"/>
</config>


                
> Failed to prepare view exceptions
> ---------------------------------
>
>                 Key: ISPN-1996
>                 URL: https://issues.jboss.org/browse/ISPN-1996
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core API
>    Affects Versions: 5.1.3.FINAL
>         Environment: ISPN 5.1.3.Final; Java 7; Cent OS
> 3-node cluster in replication mode using jgroups-tcp config.
>            Reporter: dex chen
>            Assignee: Dan Berindei
>
> I saw lot (re-curring) cache view exceptions (below) when I start up a 3 node cluster.
> I am running ISPN 5.1.3 final with replication mode, and jgroup-tcp config.
> In this case, I start first 2 nodes first, and later try to join the 3rd node.
>  
> {code}
> =======================================
> 2012-04-10/12:13:45.714/MDT
> [CacheViewInstaller-3,portal1.net-1609] ERROR
> org.infinispan.cacheviews.CacheViewsManagerImpl[263] - ISPN000172: Failed to prepare view CacheView{viewId=832, members=[portal1.net-1609, portal2.net-11982]} for cache  ispn-cipherkey, rolling back to view CacheView{viewId=831, members=[portal1.net-1609]}
> java.util.concurrent.ExecutionException: org.infinispan.CacheException: java.lang.IllegalStateException: Cannot prepare new view CacheView{viewId=832, members=[portal1.net-1609, portal2.net-11982]} on cache ispn-cipherkey, we have already committed view CacheView{viewId=844, members=[]}
>         at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262)
>         at java.util.concurrent.FutureTask.get(FutureTask.java:119)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl.clusterPrepareView(CacheViewsManagerImpl.java:318)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl.clusterInstallView(CacheViewsManagerImpl.java:249)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl$ViewInstallationTask.call(CacheViewsManagerImpl.java:875)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> Caused by: org.infinispan.CacheException: java.lang.IllegalStateException: Cannot prepare new view CacheView{viewId=832, members=[portal1.net-1609, portal2.net-11982]} on cache ispn-cipherkey, we have already committed view CacheView{viewId=844, members=[]}
>         at org.infinispan.util.Util.rewrapAsCacheException(Util.java:524)
>         at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:172)
>         at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:488)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl$2.call(CacheViewsManagerImpl.java:302)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl$2.call(CacheViewsManagerImpl.java:299)
>         ... 5 more
> Caused by: java.lang.IllegalStateException: Cannot prepare new view CacheView{viewId=832, members=[portal1.net-1609, portal2.net-11982]} on cache ispn-cipherkey, we have already committed view CacheView{viewId=844, members=[]}
>         at org.infinispan.cacheviews.CacheViewInfo.prepareView(CacheViewInfo.java:107)
>         at org.infinispan.cacheviews.CacheViewsManagerImpl.handlePrepareView(CacheViewsManagerImpl.java:481)
>         at org.infinispan.commands.control.CacheViewControlCommand.perform(CacheViewControlCommand.java:125)
>         at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:95)
>         at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:221)
>         at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:201)
>         at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:456)
>         at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:363)
>         at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:238)
>         at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:543)
>         at org.jgroups.JChannel.up(JChannel.java:716)
>         at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1026)
>         at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
>         at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
>         at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
>         at org.jgroups.protocols.pbcast.GMS.up(GMS.java:882)
>         at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
>         at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:759)
>         at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:365)
>         at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:595)
>         at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143)
>         at org.jgroups.protocols.FD.up(FD.java:273)
>         at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:282)
>         at org.jgroups.protocols.MERGE2.up(MERGE2.java:205)
>         at org.jgroups.protocols.Discovery.up(Discovery.java:359)
>         at org.jgroups.protocols.TP.passMessageUp(TP.java:1174)
>         at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1722)
>         at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1704)
>         ... 3 more
> 2012-04-10/12:13:46.715/MDT
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list