[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