You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2006/01/05 20:30:49 UTC

svn commit: r366253 - in /tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp: AsyncSocketSender.java DataSender.java FastAsyncSocketSender.java ReplicationTransmitter.java SimpleTcpCluster.java WorkerThread.java

Author: pero
Date: Thu Jan  5 11:30:42 2006
New Revision: 366253

URL: http://svn.apache.org/viewcvs?rev=366253&view=rev
Log:
DataSender close socket after connection failure and throws Exception also even if waitForAck is false!

Modified:
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java Thu Jan  5 11:30:42 2006
@@ -268,11 +268,11 @@
                         ClusterData data = (ClusterData) entry.getValue();
                         messagesize = data.getMessage().length;
                         sender.pushMessage(data);
-                        outQueueCounter++;
                     } catch (Exception x) {
                         log.warn(sm.getString("AsyncSocketSender.send.error",
                                 entry.getKey()));
                     } finally {
+                        outQueueCounter++;
                         decQueuedNrOfBytes(messagesize);
                     }
                 }

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java Thu Jan  5 11:30:42 2006
@@ -822,7 +822,7 @@
                     closeSocket();
                 }
                 exception = x;
-                // FIXME Hmm, throw the exception or not?
+                throw x ;
             }
         } finally {
             this.keepAliveCount++;

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java Thu Jan  5 11:30:42 2006
@@ -474,12 +474,12 @@
                     ClusterData data = (ClusterData) entry.data();
                     messagesize = data.getMessage().length;
                     sender.pushMessage(data);
-                    outQueueCounter++;
                 } catch (Exception x) {
                     log.warn(sm.getString(
                             "AsyncSocketSender.send.error", entry
                                     .getKey()), x);
                 } finally {
+                    outQueueCounter++;
                     decQueuedNrOfBytes(messagesize);
                 }
                 entry = entry.next();

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java Thu Jan  5 11:30:42 2006
@@ -439,6 +439,7 @@
      * Send to all senders at same cluster domain as message from address
      * @param message Cluster message to send
      * @since 5.5.10
+     * FIXME Refactor with sendMessage get a sender list from
      */
     public void sendMessageClusterDomain(ClusterMessage message) 
          throws java.io.IOException {
@@ -459,15 +460,12 @@
                     try {
                         sendMessageData(data, sender);
                     } catch (Exception x) {
-                        if (!sender.getSuspect()) {
-                            log.warn("Unable to send replicated message to "
-                                    + sender + ", is server down?", x);
-                            sender.setSuspect(true);
-                        }
+                        // FIXME remember exception and send it at finally
                     }
                 }
             }
         } finally {
+            // FIXME better exception handling
             if (doTransmitterProcessingStats) {
                 addProcessingStats(time);
             }
@@ -478,6 +476,7 @@
     /**
      * send message to all senders (broadcast)
      * @see org.apache.catalina.cluster.ClusterSender#sendMessage(org.apache.catalina.cluster.ClusterMessage)
+     * FIXME Refactor with sendMessageClusterDomain!
      */
     public void sendMessage(ClusterMessage message)
             throws java.io.IOException {
@@ -494,14 +493,11 @@
                 try {
                     sendMessageData(data, sender);
                 } catch (Exception x) {
-                    if (!sender.getSuspect()) {
-                        log.warn("Unable to send replicated message to "
-                                + sender + ", is server down?", x);
-                        sender.setSuspect(true);
-                    }
+                    // FIXME remember exception and send it at finally
                 }
             }
         } finally {
+            // FIXME better exception handling
             if (doTransmitterProcessingStats) {
                 addProcessingStats(time);
             }
@@ -801,7 +797,8 @@
     }
 
     /**
-     * serialize message and add timestamp
+     * serialize message and add timestamp from message
+     * handle compression
      * @see GZIPOutputStream
      * @param msg cluster message
      * @return cluster message as byte array
@@ -819,7 +816,7 @@
         data.setTimestamp(msg.getTimestamp());
         data.setCompress(msg.getCompress());
         data.setResend(msg.getResend());
-        // FIXME add Stats how much comress and uncompress messages and bytes are transfered
+        // FIXME add stats: How much comress and uncompress messages and bytes are transfered
         if ((isCompress() && msg.getCompress() != ClusterMessage.FLAG_FORBIDDEN)
                 || msg.getCompress() == ClusterMessage.FLAG_ALLOWED) {
             gout = new GZIPOutputStream(outs);

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java Thu Jan  5 11:30:42 2006
@@ -914,17 +914,20 @@
      * @throws ClassNotFoundException
      */
     protected void registerClusterValve() throws Exception {
-        for (Iterator iter = valves.iterator(); iter.hasNext();) {
-            ClusterValve valve = (ClusterValve) iter.next();
-            if (log.isDebugEnabled())
-                log.debug("Invoking addValve on " + getContainer()
-                        + " with class=" + valve.getClass().getName());
-            if (valve != null) {
-                IntrospectionUtils.callMethodN(getContainer(), "addValve",
-                        new Object[] { valve }, new Class[] { org.apache.catalina.Valve.class });
+        if(container != null ) {
+            for (Iterator iter = valves.iterator(); iter.hasNext();) {
+                ClusterValve valve = (ClusterValve) iter.next();
+                if (log.isDebugEnabled())
+                    log.debug("Invoking addValve on " + getContainer()
+                            + " with class=" + valve.getClass().getName());
+                if (valve != null) {
+                    IntrospectionUtils.callMethodN(getContainer(), "addValve",
+                            new Object[] { valve },
+                            new Class[] { org.apache.catalina.Valve.class });
 
+                }
+                valve.setCluster(this);
             }
-            valve.setCluster(this);
         }
     }
 

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java?rev=366253&r1=366252&r2=366253&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java Thu Jan  5 11:30:42 2006
@@ -23,8 +23,6 @@
  */
 public class WorkerThread extends Thread
 {
-    private static org.apache.commons.logging.Log log =
-        org.apache.commons.logging.LogFactory.getLog( WorkerThread.class );
     protected ThreadPool pool;
     protected boolean doRun = true;
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org