Nevin Chen created AMQ-6054:
-------------------------------

             Summary: Durable subscriber cannot receive the existing messages 
after AMQ restarts
                 Key: AMQ-6054
                 URL: https://issues.apache.org/jira/browse/AMQ-6054
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.12.1
         Environment: Redhat Linux
            Reporter: Nevin Chen


*How to Reproduce*
1. Make a durable subscription to a topic from a JMS client.
2. Disconnect the JMS client.
3. Send a message to the subscribed topic from another JMS client.
4. Restart AMQ.
5. When the duarable re-connects to AMQ, it cannot receive the message sent in 
step 3.

*Cause Analysis*
The message is saved in the persistent store successfully. However, when the 
message is marshalled by the class MessageMarshaller, the field 
regionDestination is not marshalled and saved to persistent store. When the 
message is recovered from persistent store after restart, the regionDestination 
filed of Message is empty so it is unknown which topic this message belongs to.

*Possible Cause*
In the method 
org.apache.activemq.broker.region.Topic.activate(ConnectionContext context, 
final DurableTopicSubscription subscription), the 
subscription.isRecoveryRequired() check is always false. The message cannot go 
to the subscription.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to