Author: fhanik Date: Wed Mar 15 13:57:32 2006 New Revision: 386177 URL: http://svn.apache.org/viewcvs?rev=386177&view=rev Log: Fixed sender state
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/SenderState.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/MultipointBioSender.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/nio/ParallelNioSender.java tomcat/container/tc5.5.x/modules/groupcom/test/org/apache/catalina/tribes/demos/LoadTest.java Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java Wed Mar 15 13:57:32 2006 @@ -17,6 +17,7 @@ import java.io.Serializable; +import java.util.ArrayList; import java.util.Iterator; import org.apache.catalina.tribes.ByteMessage; @@ -32,8 +33,6 @@ import org.apache.catalina.tribes.MembershipService; import org.apache.catalina.tribes.io.ClusterData; import org.apache.catalina.tribes.io.XByteBuffer; -import java.util.ArrayList; -import org.apache.catalina.tribes.tcp.*; /** * The GroupChannel manages the replication channel. It coordinates @@ -136,7 +135,7 @@ if (channelListener != null && channelListener.accept(fwd, source)) channelListener.messageReceived(fwd, source); }//for - }catch ( Exception x ) { + } catch ( Exception x ) { log.error("Unable to deserialize channel message.",x); } } Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java Wed Mar 15 13:57:32 2006 @@ -519,7 +519,7 @@ } public static Serializable deserialize(byte[] data, int offset, int length) - throws IOException, ClassNotFoundException, ClassCastException { + throws IOException, ClassNotFoundException, ClassCastException { Object message = null; if (data != null) { InputStream instream = new ByteArrayInputStream(data,offset,length); Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/SenderState.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/SenderState.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/SenderState.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/SenderState.java Wed Mar 15 13:57:32 2006 @@ -79,6 +79,10 @@ this.state = state; } + /** + * + * @return boolean + */ public boolean isSuspect() { return state == SUSPECT; } Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java Wed Mar 15 13:57:32 2006 @@ -490,7 +490,7 @@ } } catch (IOException x) { String errmsg = sm.getString("IDataSender.ack.missing", getAddress(),new Integer(socket.getLocalPort()), new Long(this.timeout)); - if ( !SenderState.getSenderState(member).isSuspect() ) { + if ( SenderState.getSenderState(member).isReady() ) { SenderState.getSenderState(member).setSuspect(); if ( log.isWarnEnabled() ) log.warn(errmsg, x); } else { Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/MultipointBioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/MultipointBioSender.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/MultipointBioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/MultipointBioSender.java Wed Mar 15 13:57:32 2006 @@ -1,6 +1,6 @@ package org.apache.catalina.tribes.tcp.bio; -import java.net.InetAddress; +import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -10,8 +10,6 @@ import org.apache.catalina.tribes.io.ClusterData; import org.apache.catalina.tribes.io.XByteBuffer; import org.apache.catalina.tribes.tcp.MultiPointSender; -import org.apache.catalina.tribes.tcp.SenderState; -import java.io.IOException; /** * <p>Title: </p> Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/nio/ParallelNioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/nio/ParallelNioSender.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/nio/ParallelNioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/nio/ParallelNioSender.java Wed Mar 15 13:57:32 2006 @@ -29,6 +29,7 @@ import org.apache.catalina.tribes.io.ClusterData; import org.apache.catalina.tribes.io.XByteBuffer; import org.apache.catalina.tribes.tcp.MultiPointSender; +import org.apache.catalina.tribes.tcp.SenderState; /** * <p>Title: </p> @@ -43,6 +44,10 @@ * @version 1.0 */ public class ParallelNioSender implements MultiPointSender { + + protected static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(ParallelNioSender.class); + + protected long timeout = 15000; protected long selectTimeout = 1000; protected boolean waitForAck = false; @@ -112,8 +117,14 @@ sender.reset(); completed++; sender.setComplete(true); + SenderState.getSenderState(sender.getDestination()).setReady(); }//end if } catch (Exception x) { + SenderState state = SenderState.getSenderState(sender.getDestination()); + if ( state.isReady() ) { + log.warn("Member send is failing for:"+sender.getDestination().getName()+"; Setting to suspect."); + } + state.setSuspect(); byte[] data = sender.getMessage(); int attempt = sender.getAttempt()+1; if ( sender.getAttempt() >= maxAttempts && maxAttempts>0 ) { @@ -123,7 +134,7 @@ sender.setAttempt(attempt); sender.setMessage(data); }catch ( Exception ignore){ - //dont report the error on a resend + state.setFailing(); } } else { ChannelException cx = new ChannelException(x); Modified: tomcat/container/tc5.5.x/modules/groupcom/test/org/apache/catalina/tribes/demos/LoadTest.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/test/org/apache/catalina/tribes/demos/LoadTest.java?rev=386177&r1=386176&r2=386177&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/test/org/apache/catalina/tribes/demos/LoadTest.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/test/org/apache/catalina/tribes/demos/LoadTest.java Wed Mar 15 13:57:32 2006 @@ -160,7 +160,8 @@ } }catch ( Exception x ) { - x.printStackTrace(); + log.error("Captured error while sending:"+x.getMessage()); + if ( debug ) log.error("",x); printSendStats(LoadTest.messagesSent, LoadTest.messageSize); } endTest(); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]