Bug 742187 - MDBs on EAP cluster receive more messages when one EAP node is killed
Summary: MDBs on EAP cluster receive more messages when one EAP node is killed
Keywords:
Status: CLOSED DUPLICATE of bug 742150
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-jca
Version: 2.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-09-29 10:43 UTC by Jiri Sedlacek
Modified: 2015-08-02 23:43 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-10-13 13:14:30 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Jiri Sedlacek 2011-09-29 10:43:28 UTC
Description of problem: When the same MDB is deployed on two (or more) EAP servers and one is killed, number of received and stored messages is greater then number of sent messages.

Steps to Reproduce:
1. checkout https://svn.devel.redhat.com/repos/jboss-qa/mrg/tests/ha
2. fix annotation in
/mdb-ejb/src/main/java/org/jboss/test/mdb/MRGJCAMessageBean.java to point to
your MRG server
3. replace hibernate dialect in /mdb-ejb/src/main/resources/META-INF/persistence.xml (if you use another db then mysql51)
4. compile with mvn -DskipTests clean package
5. configure eap to use mysql51 db for defaultDS and defaultXADS (or another db with xa transactions support)
6. copy mdb/mdb-test/target/ha-kill-mrg-test.ear to deploy directory of EAP 5.1.1
(profile production)
7. checkout https://svn.devel.redhat.com/repos/jboss-qa/mrg/qpid-java-jca
8. configure qpid-java-jca/qpid-jca-ds.xml to point to your MRG server anc copy it with qpid-ra.rar to deploy directory of eap production profile
9. start mrg //enabled to store messages through restart
10. copy production profile to production2
11. replace hibernate.hbm2ddl.auto value in /mdb-ejb/src/main/resources/META-INF/persistence.xml to "validate", build it by maven once-again and copy mdb/mdb-test/target/ha-kill-mrg-test.ear to production2 deploy directory (this is because hibernate on second node cannot create the db schema again).
12. Start EAP production profile by the command  bin/run.sh -c production -g DocsPartition -u 239.255.48.232 -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-default   and wait till it's started completely
13. Start EAP production2 profile by the command bin/run.sh -c production2 -g testpart -u 239.255.48.232 -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01      and wait till it's started completely 
14. Go to http://localhost:8080/servlet/mrgtest?op=send&count=2000 - this send 2000 messages to queue, that is consumed by both MDBs
15. while the MDBs receive messages (on both nodes, you should see in the server.log), kill second node (production2) by kill -9 ${correct_pid}
16. after all messages are processed, check number of messages in db by http://localhost:8080/servlet/mrgtest?op=get-count, in db will be more messages than it was sent.
  
Actual results:
Received more messages that were sent.

Expected results:
To receive exact amount of messages (number, which was sent)


The similar behavior is when killed (second) EAP node is restarted again.

Comment 1 Weston M. Price 2011-10-13 13:14:30 UTC

*** This bug has been marked as a duplicate of bug 742150 ***


Note You need to log in before you can comment on or make changes to this bug.