[jboss-cvs] JBoss Messaging SVN: r8159 - in branches/RIM_patch: src/main/org/jboss/jms/server/endpoint and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Dec 27 19:40:01 EST 2010


Author: gaohoward
Date: 2010-12-27 19:40:00 -0500 (Mon, 27 Dec 2010)
New Revision: 8159

Modified:
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mssql-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mysql-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/ndb-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/oracle-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/postgresql-persistence-service.xml
   branches/RIM_patch/integration/EAP4/etc/server/default/deploy/sybase-persistence-service.xml
   branches/RIM_patch/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   branches/RIM_patch/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
   branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/FakeClusterConnectionManager.java
   branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/MessageSuckerTest.java
Log:
JBMESSAGING-1822
porting new fix


Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -94,7 +94,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mssql-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mssql-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mssql-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -90,7 +90,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mysql-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mysql-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/mysql-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -90,7 +90,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?,?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
    ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/ndb-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/ndb-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/ndb-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -90,7 +90,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/oracle-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/oracle-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/oracle-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -94,7 +94,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/postgresql-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/postgresql-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/postgresql-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -90,7 +90,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/integration/EAP4/etc/server/default/deploy/sybase-persistence-service.xml
===================================================================
--- branches/RIM_patch/integration/EAP4/etc/server/default/deploy/sybase-persistence-service.xml	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/integration/EAP4/etc/server/default/deploy/sybase-persistence-service.xml	2010-12-28 00:40:00 UTC (rev 8159)
@@ -95,7 +95,7 @@
    INSERT_TRANSACTION_EXTRA=INSERT INTO JBM_TX_EX (TRANSACTION_ID, START_TIME) VALUES(?, ?)
    DELETE_TRANSACTION_EXTRA=DELETE FROM JBM_TX_EX WHERE TRANSACTION_ID=?
    UPDATE_MESSAGE_STATE=UPDATE JBM_MSG_REF SET STATE = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?
-   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND STATE='S'
+   CLAIM_MESSAGE_IN_SUCK=UPDATE JBM_MSG_REF SET STATE='C' WHERE CHANNEL_ID = ? AND MESSAGE_ID = ? AND STATE='S'
    LOAD_REFS_IN_SUCK=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE STATE = 'S' AND CHANNEL_ID = ? ORDER BY ORD
       ]]></attribute>
 

Modified: branches/RIM_patch/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- branches/RIM_patch/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2010-12-28 00:40:00 UTC (rev 8159)
@@ -1304,6 +1304,7 @@
                      Delivery del = new SimpleDelivery(ch, mref, true, true);
                      del.cancel();
                   }
+                  channels.add(ch);
                }
             }
          }

Modified: branches/RIM_patch/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
===================================================================
--- branches/RIM_patch/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	2010-12-28 00:40:00 UTC (rev 8159)
@@ -3389,16 +3389,17 @@
                   int deliveryCount = rs.getInt(2);
                   long sched = rs.getLong(3);
 
-                  msgIDs.add(new ReferenceInfo(msgId, deliveryCount, sched));
-               }
+                  ps2 = conn.prepareStatement(getSQLStatement("CLAIM_MESSAGE_IN_SUCK"));
+                  ps2.setLong(1, channelID);
+                  ps2.setLong(2, msgId);
+                  int rows = ps2.executeUpdate();
 
-               ps2 = conn.prepareStatement(getSQLStatement("CLAIM_MESSAGE_IN_SUCK"));
-               ps2.setLong(1, channelID);
-               int rows = ps2.executeUpdate();
+                  if (trace)
+                  {
+                     log.trace("Message in suck claimed " + rows + " rows for message " + msgId);
+                  }
 
-               if (trace)
-               {
-                  log.trace("Message in suck claimed " + rows + " rows");
+                  msgIDs.add(new ReferenceInfo(msgId, deliveryCount, sched));
                }
             }
             finally

Modified: branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/FakeClusterConnectionManager.java
===================================================================
--- branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/FakeClusterConnectionManager.java	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/FakeClusterConnectionManager.java	2010-12-28 00:40:00 UTC (rev 8159)
@@ -35,7 +35,6 @@
 
 import org.jboss.jms.client.JBossConnectionFactory;
 import org.jboss.jms.destination.JBossQueue;
-import org.jboss.logging.Logger;
 import org.jboss.messaging.core.contract.Delivery;
 import org.jboss.messaging.core.contract.DeliveryObserver;
 import org.jboss.messaging.core.contract.Distributor;
@@ -154,6 +153,12 @@
       return info.checkMessageSucked(messages);
    }
 
+   public void cleanDirtyMessages(int node) throws JMSException
+   {
+      FakeConnectionInfo info = (FakeConnectionInfo)connections.get(new Integer(node));
+      info.cleanMessages();
+   }   
+
    public String checkMessageNotSucked(int node) throws JMSException
    {
       FakeConnectionInfo info = (FakeConnectionInfo)connections.get(new Integer(node));
@@ -521,6 +526,11 @@
          return result;
       }
 
+      public void cleanMessages()
+      {
+         suckBuffer.clear();
+      }
+
       public String checkMessageNotSucked() throws JMSException
       {
          String result = null;

Modified: branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/MessageSuckerTest.java
===================================================================
--- branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/MessageSuckerTest.java	2010-12-28 00:27:17 UTC (rev 8158)
+++ branches/RIM_patch/tests/src/org/jboss/test/messaging/jms/clustering/MessageSuckerTest.java	2010-12-28 00:40:00 UTC (rev 8159)
@@ -106,6 +106,8 @@
 
          // Now kill Node 0
          ServerManagement.stop(0);
+         
+         clusterConnMgr.cleanDirtyMessages(0);
 
          // Sucker connection should receive notification
          clusterConnMgr.checkConnectionFailureDetected(0);
@@ -232,6 +234,8 @@
 
          // Now kill Node 0
          ServerManagement.stop(0);
+         
+         clusterConnMgr.cleanDirtyMessages(0);
 
          // Sucker connection should receive notification
          clusterConnMgr.checkConnectionFailureDetected(0);



More information about the jboss-cvs-commits mailing list