[jboss-jira] [JBoss JIRA] (WFWIP-21) [Artemis 2.x upgrade] Lost message when MDB is resending messages under high load

Martyn Taylor (JIRA) issues at jboss.org
Wed Aug 22 07:03:00 EDT 2018


    [ https://issues.jboss.org/browse/WFWIP-21?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13622558#comment-13622558 ] 

Martyn Taylor commented on WFWIP-21:
------------------------------------

I think this one is caused by WFWIP-15.  The NPE [~jbertram] reported is due to an empty message body, which returns null on getObject().  There's an issue with the JDBC store (WFWIP-15) where calling open file (For large message in this case) auto creates the file in the DB table.  But it appears it;s not thread safe which can result in 2 files being created with the same name, only one has the data.  Upon read, the other file is used and so the message body is empty.  I believe this issue is already present in 1.5.x so shouldn't be a blocker for the upgrade.  [~eduda] can you kick off a run to confirm.

Thanks

> [Artemis 2.x upgrade] Lost message when MDB is resending messages under high load
> ---------------------------------------------------------------------------------
>
>                 Key: WFWIP-21
>                 URL: https://issues.jboss.org/browse/WFWIP-21
>             Project: WildFly WIP
>          Issue Type: Bug
>          Components: Artemis
>            Reporter: Miroslav Novak
>            Assignee: Martyn Taylor
>            Priority: Blocker
>              Labels: activemq, feature-branch-blocker
>
> Test scenario:
> * Start cluster A of nodes node-1, node-3
> * Start cluster B of nodes node-2, node-4
> * Send messages to queue on node-1
> * Deploy mdbs to servers in cluster A. This mdb reads messages from local queue, sends them to remote queue on cluster B and inserts them into database
> * Deploy mdbs to servers in cluster B. This mdb reads messages from local queue and inserts them into database
> * Cause CPU overload (for 5 min) on server node-2 when mdbs on cluster1 and 2 are processing mesages
> * Restart failed server
> * Let MDBs to process remaining messages
> Pass Criteria: Number of sent message is equal number of records(lines) in database and  messages in 
> Actual Result:
> Sometimes happens that one record is missing in database which means that one message was not processed be MDB in cluster 2.
> This looks like broker related regression against Artemis 1.5.
> Wildfly: https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_with_prefix (06c878a313d3cad323889d017e60fd5533204d1a)
> Artemis tag 2.5.0.Final



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list