activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "AR (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-5473) Race condition caused by Linkstealing might make durable subs inactive
Date Wed, 03 Dec 2014 18:16:12 GMT

     [ https://issues.apache.org/jira/browse/AMQ-5473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

AR updated AMQ-5473:
--------------------
    Description: 
Link Stealing creates a new connection and disconnects the old connection. These operations
are done concurrently.
New connection triggers addConsumer() for active subscriptions and old connection stop causes
removeConsumer() for the same.

Problems:
 * addConsumer() would throw exception that the sub is already active (if remove did not happen
before)
 * even if we go past the exception, it will not set the right (new) connection context and
consumer info the subs
 * remove consumer may remove subcription even if it had different connection context (created
by linkstealing)


Patch attached.

  was:
Link Stealing creates a new connection and disconnects the old connection. These operations
are done concurrently.
New connection triggers addConsumer() for active subscriptions and old connection stop causes
removeConsumer() for the same.

Problems:
 * addConsumer() would throw exception that the sub is already active (if remove did not happen
before)
 * even if we go past the exception, it will not activate the subs
 * remove consumer may remove subcription even if it had different connection context (created
by linkstealing)


Patch attached.


> Race condition caused by Linkstealing might make durable subs inactive
> ----------------------------------------------------------------------
>
>                 Key: AMQ-5473
>                 URL: https://issues.apache.org/jira/browse/AMQ-5473
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.11.0
>            Reporter: AR
>         Attachments: linksteal_durablesub.patch
>
>
> Link Stealing creates a new connection and disconnects the old connection. These operations
are done concurrently.
> New connection triggers addConsumer() for active subscriptions and old connection stop
causes removeConsumer() for the same.
> Problems:
>  * addConsumer() would throw exception that the sub is already active (if remove did
not happen before)
>  * even if we go past the exception, it will not set the right (new) connection context
and consumer info the subs
>  * remove consumer may remove subcription even if it had different connection context
(created by linkstealing)
> Patch attached.



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

Mime
View raw message