activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Radek Kraus (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-6925) JDBC Store - received messages from durable topic is not removed after unsubscribe
Date Mon, 12 Mar 2018 14:22:00 GMT
Radek Kraus created AMQ-6925:
--------------------------------

             Summary: JDBC Store - received messages from durable topic is not removed after
unsubscribe
                 Key: AMQ-6925
                 URL: https://issues.apache.org/jira/browse/AMQ-6925
             Project: ActiveMQ
          Issue Type: Bug
          Components: JDBC
    Affects Versions: 5.15.3
            Reporter: Radek Kraus
         Attachments: JdbcStoreDurableTopicDeleteReceivedMessagesTest.java

It seems, that received messages from durable subscriber is not removed from JDBC persistence
layer ({{ACTIVEMQ_MSGS}}), when {{unsubscribe}} operation is invoked.

Let suppose following scenario:
  * create (register) durable topic subscriber
  * close durable topic subscriber, but leave it "subscribed"
  * send 10 messages to topic
  * check count messages in JDBC store (10 is expected)
  * create (open) durable topic subscriber again and receive 10 messages (no next messages
is prepared)
  * "unsubscribe" durable topic subscriber ({{session.unsubscribe(...)}})
  * check count of messages in JDBC store (0 is expected, but 10 is a reality)

IMHO there is a problem, that {{session.unsubscribe()}} only removes entry from {{ACTIVEMQ_ACKS}}
table ({{topicStore.deleteSubscription(...)}}). It means that messages, which are currently
present in {{ACTIVEMQ_MSGS}} table are never removed, because the delete statement in {{JDBCPersistenceAdapter.cleanup()}}
method joins {{ACTIVEMQ_ACKS}} table (but subscription was already removed).

The "Removing inactive subscribers" has no effect to this test case, because durable subscription
is removed from {{TopicRegion.durableSubscriptions}} field, when {{session.unsubscribe(...)}}
method is invoked.

Very simple test case is attached.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message