Author: ritchiem
Date: Mon Feb 12 03:03:12 2007
New Revision: 506413

URL: http://svn.apache.org/viewvc?view=rev&rev=506413
Log:
Fixed Xmx value
ConcurrentSelectorDeliveryManager : Added trace logging. Ensured messages are 
removed when required, rather than leaking memory.
AMQSession moved exceptions in recover to wrap method rather than individual 
suspend calls.

Modified:
    incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt
    incubator/qpid/branches/perftesting/qpid/java/broker/etc/qpid-server.conf
    
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
    
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
    
incubator/qpid/branches/perftesting/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
    incubator/qpid/branches/perftesting/qpid/java/distribution/pom.xml

Modified: incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt (original)
+++ incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt Mon Feb 12 
03:03:12 2007
@@ -1,5 +1,6 @@
 -Notes-
 Updated to resolve Rollback/Recover problems.
+Changed Xmx to 1024
 
 -Latest Revision-
 504112,503646,502576.499979

Modified: 
incubator/qpid/branches/perftesting/qpid/java/broker/etc/qpid-server.conf
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/broker/etc/qpid-server.conf?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/broker/etc/qpid-server.conf 
(original)
+++ incubator/qpid/branches/perftesting/qpid/java/broker/etc/qpid-server.conf 
Mon Feb 12 03:03:12 2007
@@ -21,5 +21,5 @@
 
 export JAVA=java \
        JAVA_VM=-server \
-       JAVA_MEM="-Xmx3160m -Xms512m "\
+       JAVA_MEM="-Xmx1024m -Xms512m "\
        CLASSPATH=$QPID_LIBS

Modified: 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
 Mon Feb 12 03:03:12 2007
@@ -230,6 +230,13 @@
 
         Queue<AMQMessage> messageQueue = sub.getNextQueue(_messages);
 
+        if (_log.isTraceEnabled())
+        {
+            _log.trace("Async sendNextMessage for sub (" + 
System.identityHashCode(sub) +
+                       ") from queue (" + 
System.identityHashCode(messageQueue) +
+                       ") AMQQueue (" + System.identityHashCode(queue) + ")");
+        }
+
         if (messageQueue == null)
         {
             // There is no queue with messages currently. This is ok... just 
means the queue has no msgs matching selector
@@ -276,7 +283,8 @@
                 {
                     //fixme
                     _log.error("MEMORY LEAK: message from PreDeliveryQueue not 
removed from _messages");
-                    //_messages.remove(message);
+                    //inefficient
+                    _messages.remove(message);
                 }
             }
 
@@ -353,7 +361,7 @@
                     if (_log.isDebugEnabled())
                     {
                         _log.debug(id() + "We have " + 
_subscriptions.getSubscriptions().size() +
-                                   " subscribers to give the message to.");
+                                   " subscribers to give the message to. 
Queued count (" + getMessageCount() + ")");
                     }
                     for (Subscription sub : _subscriptions.getSubscriptions())
                     {

Modified: 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
 Mon Feb 12 03:03:12 2007
@@ -32,9 +32,7 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicLong;
 
-/**
- * A simple message store that stores the messages in a threadsafe structure 
in memory.
- */
+/** A simple message store that stores the messages in a threadsafe structure 
in memory. */
 public class MemoryMessageStore implements MessageStore
 {
     private static final Logger _log = 
Logger.getLogger(MemoryMessageStore.class);
@@ -85,7 +83,13 @@
         {
             _log.debug("Removing message with id " + messageId);
         }
-        _messageMap.remove(messageId);
+        Object o = _messageMap.remove(messageId);
+
+        if (_log.isDebugEnabled())
+        {
+            _log.debug("Removed message " + System.identityHashCode(o));
+        }
+
     }
 
     public void createQueue(AMQQueue queue) throws AMQException

Modified: 
incubator/qpid/branches/perftesting/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 Mon Feb 12 03:03:12 2007
@@ -812,15 +812,9 @@
 
             if (!isSuspended)
             {
-                try
-                {
-                    suspendChannel(true);
-                }
-                catch (AMQException e)
-                {
-                    throw new JMSAMQException(e);
-                }
+                suspendChannel(true);
             }
+
             for (BasicMessageConsumer consumer : _consumers.values())
             {
                 consumer.clearUnackedMessages();
@@ -839,17 +833,10 @@
             {
                 _dispatcher.rollback();
             }
-                                   
+
             if (!isSuspended)
             {
-                try
-                {
-                    suspendChannel(false);
-                }
-                catch (AMQException e)
-                {
-                    throw new JMSAMQException(e);
-                }
+                suspendChannel(false);
             }
         }
         catch (AMQException e)

Modified: incubator/qpid/branches/perftesting/qpid/java/distribution/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/distribution/pom.xml?view=diff&rev=506413&r1=506412&r2=506413
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/distribution/pom.xml 
(original)
+++ incubator/qpid/branches/perftesting/qpid/java/distribution/pom.xml Mon Feb 
12 03:03:12 2007
@@ -38,7 +38,7 @@
         <java.source.version>1.5</java.source.version>
         <qpid.version>${pom.version}</qpid.version>
         <qpid.targetDir>${project.build.directory}</qpid.targetDir>
-               <release.revision>-r506403</release.revision>
+               <release.revision>-r506413</release.revision>
     </properties>
    
     <repositories>


Reply via email to