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

Christopher L. Shannon updated AMQ-6858:
----------------------------------------
    Description: 
While testing bridging together 3 or more brokers I discovered several problems 
specifically related to durable subscription propagation.  In general durable 
network subscriptions were not propagating properly when using more than 2 
brokers either by not being created at all, not being removed, or even in some 
cases the same durable was being added twice and causing bridge failures.

This jira includes the following changes to fix these issues:
# Currently proxy network subscriptions are not eligible to be conduit.  For 
topics it doesn't make sense to not use conduit subscriptions so this should be 
changed.  For queue subscriptions this can sometimes be useful to conduit as 
well so I added a new flag for this.  Not allowing conduit topic proxy network 
subs was causing collisions with durables and breaking bridges
# The durable sync process should only ignore network durable subs for the 
specific bridge it is syncing, it should still be re-adding subs for other 
bridges otherwise they will get dropped
# On demand subscription removal, the tracked demand sub should be checked to 
see if it's a network demand sub and if it still has remote durable subs 
attached to it.  If it does they need to be cleaned up and removed
# Lastly, when creating a demand subscription the consumerId should only be 
changed if the consumer is for a direct bridge and not a proxy bridge otherwise 
the demand won't be properly tracked and removed later 

  was:
While testing bridging together 3 or more brokers I discovered several problems 
specifically related to durable subscription propagation.  In general durable 
network subscriptions were not propagating properly when using more than 2 
brokers either by not being created at all, not being removed, or even in some 
cases the same durable was being added twice and causing bridge failures.

This jira includes the following changes to fix these issues:
# Currently proxy network subscriptions are not eligible to be conduit.  For 
topics it doesn't make sense to not use conduit subscriptions so this should be 
changed.  For queue subscriptions this can sometimes be useful to conduit as 
well so I added a new flag for this.  Not allowing conduit topic proxy network 
subs was causing collisions with durables and breaking bridges
# The durable sync process should only ignore network durable subs for the 
specific bridge it is syncing, it should still be re-adding subs for other 
bridges otherwise they will get dropped
# On demand subscription removal the tracked demand sub should be checked to 
see if it's a network demand sub and if it still has remote durable subs 
attached to it.  If it does they need to be cleaned up and removed
# Lastly, when creating a demand subscription the consumerId should only be 
changed if the consumer is for a direct bridge and not a proxy bridge otherwise 
the demand won't be properly tracked and removed later 


> Fix several durable subscription bridge propagation issues
> ----------------------------------------------------------
>
>                 Key: AMQ-6858
>                 URL: https://issues.apache.org/jira/browse/AMQ-6858
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, networkbridge
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>             Fix For: 5.16.0
>
>
> While testing bridging together 3 or more brokers I discovered several 
> problems specifically related to durable subscription propagation.  In 
> general durable network subscriptions were not propagating properly when 
> using more than 2 brokers either by not being created at all, not being 
> removed, or even in some cases the same durable was being added twice and 
> causing bridge failures.
> This jira includes the following changes to fix these issues:
> # Currently proxy network subscriptions are not eligible to be conduit.  For 
> topics it doesn't make sense to not use conduit subscriptions so this should 
> be changed.  For queue subscriptions this can sometimes be useful to conduit 
> as well so I added a new flag for this.  Not allowing conduit topic proxy 
> network subs was causing collisions with durables and breaking bridges
> # The durable sync process should only ignore network durable subs for the 
> specific bridge it is syncing, it should still be re-adding subs for other 
> bridges otherwise they will get dropped
> # On demand subscription removal, the tracked demand sub should be checked to 
> see if it's a network demand sub and if it still has remote durable subs 
> attached to it.  If it does they need to be cleaned up and removed
> # Lastly, when creating a demand subscription the consumerId should only be 
> changed if the consumer is for a direct bridge and not a proxy bridge 
> otherwise the demand won't be properly tracked and removed later 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to