[jboss-cvs] JBoss Messaging SVN: r2323 - in trunk: src/main/org/jboss/jms/client/container and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 15 05:25:07 EST 2007


Author: timfox
Date: 2007-02-15 05:25:06 -0500 (Thu, 15 Feb 2007)
New Revision: 2323

Modified:
   trunk/src/etc/xmdesc/ServerPeer-xmbean.xml
   trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
   trunk/src/main/org/jboss/jms/server/ServerPeer.java
   trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java
   trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java
   trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
Log:
Various bits and pieces



Modified: trunk/src/etc/xmdesc/ServerPeer-xmbean.xml
===================================================================
--- trunk/src/etc/xmdesc/ServerPeer-xmbean.xml	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/etc/xmdesc/ServerPeer-xmbean.xml	2007-02-15 10:25:06 UTC (rev 2323)
@@ -358,6 +358,20 @@
    
    <operation>
       <description>
+         Enable message counters
+      </description>
+      <name>enableMessageCounters</name>
+   </operation> 
+   
+   <operation>
+      <description>
+         Disable message counters
+      </description>
+      <name>disableMessageCounters</name>
+   </operation>       
+   
+   <operation>
+      <description>
          Retrieve list of all prepared transaction ids
       </description>
       <name>retrievePreparedTransactions</name>

Modified: trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -162,21 +162,27 @@
                // client side network fails temporarily so the client connection breaks but the
                // server cluster is still up and running - in this case we don't perform failover.
 
-               // TODO Is this the right thing to do?
+               // In this case we should try back on the original server
 
                log.warn("Client attempted failover, but no failover attempt " +
-                        "has been detected on the server side.");
-
-               return null;
+                        "has been detected on the server side. We will now try again on the original server " +
+                        "in case there was a temporary glitch on the client--server network");
+               
+               delegate = getDelegateForNode(failedNodeID.intValue());
+               
+               //Pause a little to avoid hammering the same node in quick succession
+               
+               //Currently hardcoded
+               Thread.sleep(2000);
             }
-
-            // Server side failover has occurred / is occurring but trying to go to the 'default'
-            // failover node did not succeed. Retry with the node suggested by the cluster.
-
-            attemptCount++;
-
-            delegate = getDelegateForNode(actualServerID);
-
+            else
+            {   
+               // Server side failover has occurred / is occurring but trying to go to the 'default'
+               // failover node did not succeed. Retry with the node suggested by the cluster.
+   
+               delegate = getDelegateForNode(actualServerID);                  
+            }
+            
             if (delegate == null)
             {
                // the delegate corresponding to the actualServerID not found among the cached
@@ -185,6 +191,8 @@
                throw new JMSException("Cannot find a cached connection factory delegate for " +
                   "node " + actualServerID);
             }
+            
+            attemptCount++;
          }
       }
 

Modified: trunk/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeer.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/ServerPeer.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -269,7 +269,12 @@
          messageStore.start();
          securityStore.start();
          txRepository.start();
-         messageCounterManager.start();
+         
+         //Note we do not start the message counter manager by default
+         //This must be done explicitly by the user by calling enableMessageCounters()
+         //This is because message counter history takes up growing memory to store the stats
+         //and could theoretically eventually cause the server to run out of RAM
+         
          txRepository.loadPreparedTransactions();
          
          initializeRemoting(mbeanServer);
@@ -588,6 +593,20 @@
       this.defaultMessageCounterHistoryDayLimit = limit;
    }
    
+   public void enableMessageCounters()
+   {      
+      messageCounterManager.start();
+   }
+   
+   public void disableMessageCounters()
+   {
+      messageCounterManager.stop();
+      
+      messageCounterManager.resetAllCounters();
+      
+      messageCounterManager.resetAllCounterHistories();
+   }
+   
    // JMX Operations -------------------------------------------------------------------------------
 
    public String createQueue(String name, String jndiName) throws Exception

Modified: trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -149,4 +149,8 @@
    List retrievePreparedTransactions();
 
    String showPreparedTransactionsAsHTML();
+   
+   void enableMessageCounters();
+   
+   void disableMessageCounters();
 }

Modified: trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -87,6 +87,8 @@
       if (!started)
       {
          log.warn(this + " isn't started");
+         
+         return;
       }
       
       //Wait for timer task to stop
@@ -102,11 +104,19 @@
    
    public synchronized void reschedule(long newPeriod)
    {
-      stop();
+      boolean wasStarted = this.started;
       
+      if (wasStarted)
+      {
+         stop();
+      }
+      
       period = newPeriod;
       
-      start();
+      if (wasStarted)
+      {
+         start();
+      }
    }
    
    public void registerMessageCounter(String name, MessageCounter counter)

Modified: trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -497,7 +497,12 @@
                {
                   // TODO we need to look in paging state too - currently not supported
 
+                  
+                  // Clebert - why did you add a link to 808 here?
+                  // I don't think 808 has anything to do with this.
                   // http://jira.jboss.org/jira/browse/JBMESSAGING-808
+                  
+                  //http://jira.jboss.com/jira/browse/JBMESSAGING-839
                   log.warn(this + " cannot find reference " + id + " (Might be paged!)");
                   break;
                }

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -945,7 +945,7 @@
          queue5.deliver(false);
          receiver5.waitForHandleInvocations(5, 20000);
          
-         Thread.sleep(2000);
+         Thread.sleep(4000);
 
          log.trace("Here are the sizes 4:");
          log.trace("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.getDeliveringCount());

Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -322,6 +322,8 @@
          ServerManagement.startServerPeer();
       }
       
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+      
       ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
       
       ServerManagement.deployQueue("Queue1");
@@ -593,6 +595,8 @@
          ServerManagement.undeployTopic("Topic1");
          
          ServerManagement.undeployTopic("Topic2");
+         
+         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
       }
    }
    

Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -182,6 +182,8 @@
       ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
 
       ServerManagement.deployQueue("QueueMessageCount");
+      
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
 
       try
       {
@@ -227,8 +229,9 @@
       }
       finally
       {
-
          ServerManagement.undeployQueue("QueueMessageCount");
+         
+         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
       }
    }
    
@@ -238,6 +241,8 @@
       ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
 
       ServerManagement.deployQueue("QueueMessageCount");
+      
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
 
       try
       {
@@ -291,8 +296,9 @@
       }
       finally
       {
-
          ServerManagement.undeployQueue("QueueMessageCount");
+         
+         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
       }
    }
 
@@ -307,6 +313,8 @@
 
       ServerManagement.deployQueue("QueueMessageCount2", fullSize, fullSize / 2, fullSize / 2 - 1);
 
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+      
       ObjectName destObjectName =
          new ObjectName("jboss.messaging.destination:service=Queue,name=QueueMessageCount2");
 
@@ -363,6 +371,8 @@
       finally
       {
          ServerManagement.undeployQueue("QueueMessageCount2");
+         
+         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
 
          if (conn != null)
          {
@@ -377,7 +387,7 @@
       ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
 
       ServerManagement.deployQueue("QueueMaxSize");
-
+      
       try
       {
          Queue queue = (Queue)ic.lookup("/queue/QueueMaxSize");
@@ -701,7 +711,8 @@
       
       ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "QueueStatsSamplePeriod", String.valueOf(1000));
       
-
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+      
       ServerManagement.deployQueue("QueueMessageCounter");
       
       Queue queue = (Queue)ic.lookup("/queue/QueueMessageCounter");      
@@ -771,10 +782,10 @@
       assertNotNull(html);
       
       assertTrue(html.indexOf("QueueMessageCounter") != -1);
-            
+                  
+      ServerManagement.undeployQueue("QueueMessageCounter");
       
-      ServerManagement.undeployQueue("QueueMessageCounter");
-
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
    }
    
    public void testConsumersCount() throws Exception

Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java	2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java	2007-02-15 10:25:06 UTC (rev 2323)
@@ -291,6 +291,8 @@
  
       ServerManagement.deployTopic("TopicGetAllMessageCount");
       
+      ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+      
       TopicConnection conn = null;
       
       
@@ -389,6 +391,8 @@
             conn.close();
          }
          ServerManagement.undeployTopic("TopicGetAllMessageCount");
+         
+         ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
       }
    }
    




More information about the jboss-cvs-commits mailing list