[jboss-jira] [JBoss JIRA] (JBMESSAGING-1945) Clustered queues get deleted from the jbm_postoffice table when it should not
Tom Ross (JIRA)
jira-events at lists.jboss.org
Thu Jun 13 11:03:55 EDT 2013
[ https://issues.jboss.org/browse/JBMESSAGING-1945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom Ross updated JBMESSAGING-1945:
----------------------------------
Steps to Reproduce:
To reproduce the issue follow the steps
- create two node cluster using SOA 5.2
- use the jms_trasnacted example for the quicstart
- I increase the redelivery delay to 25 seconds to make it easier
- I removed hsqldb from the example.
- I deploy it in all profile.
- start cluster
- run deploy and deploy the application on both nodes
- run ant runtest to send a message to remote node
- watch the log for the message to be rejected and then consumed
- do ifdown on the remote node network interface
- wait few minutes fro the cluster to fall apart
- check in the jbm_postoffice table that the queue.quickstart_jms_transacted_Request_gw and queue.quickstart_jms_transacted_Request_esb for the remote name have been removed
- do ifup on the remote node interface
- run ant runtest again
- watch the message being rejected.
- shutdown the local node
- check the jbm_postoffice table the the queue.quickstart_jms_transacted_Request_gw and queue.quickstart_jms_transacted_Request_esb shoudl not be there
- restart the local node
at that poin the jbm_postoffice and jbm_msg_ref should look like below: The message can not be delivered since its channel_id does not exist any more.
{noformat}
jbossdb=# select * from jbm_postoffice;select * from jbm_msg_ref;
postoffice_name | node_id | queue_name | cond | selector | channel_id | clustered | all_nodes
-----------------+---------+---------------------------------------+---------------------------------------------+----------+------------+-----------+-----------
JMS post office | 0 | DLQ | queue.DLQ | | 0 | N | N
JMS post office | 0 | ExpiryQueue | queue.ExpiryQueue | | 1 | N | N
JMS post office | 0 | DeadMessageQueue | queue.DeadMessageQueue | | 4 | N | N
JMS post office | 0 | DataCollectorQueue | queue.DataCollectorQueue | | 5 | N | N
JMS post office | 0 | OperationsCollectorQueue | queue.OperationsCollectorQueue | | 6 | N | N
JMS post office | 0 | OperationsResultCollectorQueue | queue.OperationsResultCollectorQueue | | 7 | N | N
JMS post office | 0 | CallbackQueue | queue.CallbackQueue | | 8 | N | N
JMS post office | 0 | JbpmJobQueue | queue.JbpmJobQueue | | 9 | N | N
JMS post office | 0 | JbpmCommandQueue | queue.JbpmCommandQueue | | 10 | N | N
JMS post office | 0 | JbpmDLQ | queue.JbpmDLQ | | 11 | N | N
JMS post office | 0 | JbpmTimerQueue | queue.JbpmTimerQueue | | 12 | N | N
JMS post office | 1 | DLQ | queue.DLQ | | 20 | N | N
JMS post office | 1 | ExpiryQueue | queue.ExpiryQueue | | 21 | N | N
JMS post office | 1 | DeadMessageQueue | queue.DeadMessageQueue | | 24 | N | N
JMS post office | 1 | DataCollectorQueue | queue.DataCollectorQueue | | 25 | N | N
JMS post office | 1 | OperationsCollectorQueue | queue.OperationsCollectorQueue | | 26 | N | N
JMS post office | 1 | OperationsResultCollectorQueue | queue.OperationsResultCollectorQueue | | 27 | N | N
JMS post office | 1 | CallbackQueue | queue.CallbackQueue | | 28 | N | N
JMS post office | 1 | JbpmJobQueue | queue.JbpmJobQueue | | 29 | N | N
JMS post office | 1 | JbpmCommandQueue | queue.JbpmCommandQueue | | 30 | N | N
JMS post office | 1 | JbpmDLQ | queue.JbpmDLQ | | 31 | N | N
JMS post office | 1 | JbpmTimerQueue | queue.JbpmTimerQueue | | 32 | N | N
JMS post office | 0 | quickstart_jms_transacted_Request_gw | queue.quickstart_jms_transacted_Request_gw | | 40 | Y | N
JMS post office | 0 | quickstart_jms_transacted_Request_esb | queue.quickstart_jms_transacted_Request_esb | | 41 | Y | N
(24 rows)
message_id | channel_id | transaction_id | state | ord | page_ord | delivery_count | sched_delivery
------------------+------------+----------------+-------+------------------+----------+----------------+----------------
5615747097165824 | 3 | | C | 5615747097198592 | | 2 | 0
{noformat}
was:
To reproduce the issue follow the steps
- create two node cluster using SOA 5.2
- use the jms_trasnacted example for the quicstart
- I increase the redelivery delay to 25 seconds to make it easier
- I removed hsqldb from the example.
- I deploy it in all profile.
- start cluster
- run deploy and deploy the application on both nodes
- run ant runtest to send a message to remote node
- watch the log for the message to be rejected and then consumed
- do ifdown on the remote node network interface
- wait few minutes fro the cluster to fall apart
- check in the jbm_postoffice table that the queue.quickstart_jms_transacted_Request_gw and queue.quickstart_jms_transacted_Request_esb for the remote name have been removed
- do ifup on the remote node interface
- run ant runtest again
- watch the message being rejected.
- shutdown the local node
- check the jbm_postoffice table the the queue.quickstart_jms_transacted_Request_gw and queue.quickstart_jms_transacted_Request_esb shoudl not be there
- restart the local node
at that poin the jbm_postoffice and jbm_msg_ref should look like below: The message can not be delivered since its channel_id does not exist any more.
<noformat>
jbossdb=# select * from jbm_postoffice;select * from jbm_msg_ref;
postoffice_name | node_id | queue_name | cond | selector | channel_id | clustered | all_nodes
-----------------+---------+---------------------------------------+---------------------------------------------+----------+------------+-----------+-----------
JMS post office | 0 | DLQ | queue.DLQ | | 0 | N | N
JMS post office | 0 | ExpiryQueue | queue.ExpiryQueue | | 1 | N | N
JMS post office | 0 | DeadMessageQueue | queue.DeadMessageQueue | | 4 | N | N
JMS post office | 0 | DataCollectorQueue | queue.DataCollectorQueue | | 5 | N | N
JMS post office | 0 | OperationsCollectorQueue | queue.OperationsCollectorQueue | | 6 | N | N
JMS post office | 0 | OperationsResultCollectorQueue | queue.OperationsResultCollectorQueue | | 7 | N | N
JMS post office | 0 | CallbackQueue | queue.CallbackQueue | | 8 | N | N
JMS post office | 0 | JbpmJobQueue | queue.JbpmJobQueue | | 9 | N | N
JMS post office | 0 | JbpmCommandQueue | queue.JbpmCommandQueue | | 10 | N | N
JMS post office | 0 | JbpmDLQ | queue.JbpmDLQ | | 11 | N | N
JMS post office | 0 | JbpmTimerQueue | queue.JbpmTimerQueue | | 12 | N | N
JMS post office | 1 | DLQ | queue.DLQ | | 20 | N | N
JMS post office | 1 | ExpiryQueue | queue.ExpiryQueue | | 21 | N | N
JMS post office | 1 | DeadMessageQueue | queue.DeadMessageQueue | | 24 | N | N
JMS post office | 1 | DataCollectorQueue | queue.DataCollectorQueue | | 25 | N | N
JMS post office | 1 | OperationsCollectorQueue | queue.OperationsCollectorQueue | | 26 | N | N
JMS post office | 1 | OperationsResultCollectorQueue | queue.OperationsResultCollectorQueue | | 27 | N | N
JMS post office | 1 | CallbackQueue | queue.CallbackQueue | | 28 | N | N
JMS post office | 1 | JbpmJobQueue | queue.JbpmJobQueue | | 29 | N | N
JMS post office | 1 | JbpmCommandQueue | queue.JbpmCommandQueue | | 30 | N | N
JMS post office | 1 | JbpmDLQ | queue.JbpmDLQ | | 31 | N | N
JMS post office | 1 | JbpmTimerQueue | queue.JbpmTimerQueue | | 32 | N | N
JMS post office | 0 | quickstart_jms_transacted_Request_gw | queue.quickstart_jms_transacted_Request_gw | | 40 | Y | N
JMS post office | 0 | quickstart_jms_transacted_Request_esb | queue.quickstart_jms_transacted_Request_esb | | 41 | Y | N
(24 rows)
message_id | channel_id | transaction_id | state | ord | page_ord | delivery_count | sched_delivery
------------------+------------+----------------+-------+------------------+----------+----------------+----------------
5615747097165824 | 3 | | C | 5615747097198592 | | 2 | 0
<noformat>
> Clustered queues get deleted from the jbm_postoffice table when it should not
> -----------------------------------------------------------------------------
>
> Key: JBMESSAGING-1945
> URL: https://issues.jboss.org/browse/JBMESSAGING-1945
> Project: JBoss Messaging
> Issue Type: Bug
> Components: Messaging Core
> Affects Versions: 1.4.8.SP9
> Environment: SOA 5.2
> Reporter: Tom Ross
>
> After a JBoss Messaging cluster falls apart, the empty queues belonging to the node that has left the cluster are removed from the jbm_postoffice table. Under certain conditions even the empty clustered queues belonging to the remaining node are removed as well
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list