You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/03/20 19:38:47 UTC

svn commit: r387274 - in /tomcat/container/tc5.5.x/modules/groupcom: src/share/org/apache/catalina/tribes/io/ClusterData.java to-do.txt

Author: fhanik
Date: Mon Mar 20 10:38:45 2006
New Revision: 387274

URL: http://svn.apache.org/viewcvs?rev=387274&view=rev
Log:
Created a deepclone method, that performs a deep clone :)

Modified:
    tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ClusterData.java
    tomcat/container/tc5.5.x/modules/groupcom/to-do.txt

Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ClusterData.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ClusterData.java?rev=387274&r1=387273&r2=387274&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ClusterData.java (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ClusterData.java Mon Mar 20 10:38:45 2006
@@ -224,6 +224,15 @@
         return clone;
     }
     
+    /**
+     * Complete clone
+     * @return ClusterData
+     */
+    public ClusterData deepclone() {
+        byte[] d = this.getDataPackage();
+        return ClusterData.getDataFromPackage(d);
+    }
+    
     public static boolean sendAckSync(int options) {
         return ( (Channel.SEND_OPTIONS_USE_ACK & options) == Channel.SEND_OPTIONS_USE_ACK) &&
             ( (Channel.SEND_OPTIONS_SYNCHRONIZED_ACK & options) == Channel.SEND_OPTIONS_SYNCHRONIZED_ACK);

Modified: tomcat/container/tc5.5.x/modules/groupcom/to-do.txt
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/to-do.txt?rev=387274&r1=387273&r2=387274&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/to-do.txt (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/to-do.txt Mon Mar 20 10:38:45 2006
@@ -23,6 +23,16 @@
 
 Code Tasks:
 ===========================================
+30. CookieBasedReplicationMap - a very simple extension to the LazyReplicatedMap
+    but instead of randomly selecting a backup node and then publishing the PROXY to all
+    the other nodes in the group, this will simply 
+    read/write a cookie, for a backup location, so the nodes will 
+    never know until the request comes in.
+    This is useful in extremely large clusters, and essentially reduces
+    very much of the network chatter, this task is dependent on task25
+    Question to be answered: How does the map know of the cookie?
+    Potential answer: Use a thread local and bind the request/response to it
+
 29. Thread pool, shrink dynamically
 
 27. XmlConfigurator - read an XML file to configure the channel.
@@ -41,6 +51,7 @@
     - (optional)persistent - writes messages to persistent store first, then starts processing
     - Callback error handler - for when messages fail, and the application wishes to become notified
     - MUST HAVE A LIMIT QUEUE SIZE IN MB, to avoid OOM errors or persist the queue.
+    - MUST USE ClusterData.deepclone() to ensure thread safety if ClusterData objects get recycled
 
 
 23. TotalOrderInterceptor - fairly straight forward implementation
@@ -106,7 +117,7 @@
     Once it has received state, it will pretty much take itself out of the loop
     The benefit of the new ParallelNioSender is that it doesn't require to know about
     a member to transfer state, all it has to do is to reply to a message that came in.
-    beee-aaaa-uuuu-tiful. state is a one time deal for the entire channel, so a 
+    State is a one time deal for the entire channel, so a 
     session replication cluster, would transfer state as one block, not one per context
     
 14. Keepalive count and idle kill off for Nio senders



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