I'm working with the cvs tagged 5.5.10 version of tomcat to check out
some clustering fixes.

When I bring a 2nd server into the pool, I get this exception repeated
every time an mcast packet is received:

==CUT==
java.lang.ArrayIndexOutOfBoundsException
        at
java.lang.System.arraycopy(Ljava.lang.Object;ILjava.lang.Object;II)V(Unknown
Source)
        at
org.apache.catalina.cluster.mcast.McastMember.getMember(McastMember.java:181)
        at
org.apache.catalina.cluster.mcast.McastServiceImpl.receive(McastServiceImpl.java:209)
        at
org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:253)
==END CUT==

Here are the relevant lines of code from McastMember.java:

==CUT==
byte[] domaind = new byte[dlen];
System.arraycopy(data, nlen + 24, domaind, 0, domaind.length);
==END CUT==

I added some debugging to figure out the length of the data.  The
exception occurs because data.length is 23.  Obviously 23+24 is going to
throw an ArrayIndexOBE.

My question is.. is there a configuration thing that is causing data to
be sent to be less than the desired length?  It appears the data is not
coming in in the format expected.

Thoughts?
Thanks
Dennis

Here is the config I'm using on each server for the cluster.

==cluster config==
   <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="false"
                 notifyListenersOnReplication="true">

            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.1.2"
                mcastPort="45564"
                mcastFrequency="500"
                mcastClusterDomain="dev"
                mcastDropTime="3000"/>

            <Receiver
               
className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="192.168.1.27"
                tcpListenPort="8010"
                tcpSelectorTimeout="100"
                tcpThreadCount="3"/>

            <Sender
               
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"/>

            <Valve
className="org.apache.catalina.cluster.tcp.ReplicationValve"
                  
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

                   <!--
            <Deployer
className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>
                   -->

            <ClusterListener
className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>
==END cluster config==


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to