In MB Flow controlling mechanism is cluster unaware. Hence when one node
enables flow control other node doesn't know about it.
IMO we have two approaches to tackle this.

   - After client retries to connect to killed node (after failing to
   connect) it will try to connect to second node. At that time, since we are
   connecting to a new node, client can reset all flow control related
   information, from client, so that it can publish without waiting for flow
   control disable message from second node (That will never be sent to
   publisher by second node)
   - Or we can send a flow control disable message from MB node when a
   publisher connects (If global flow control is not enabled).

I think the first option is better.

Regards,

On Fri, Mar 20, 2015 at 3:32 PM, Pumudu Ruhunage <[email protected]> wrote:

> Hi All,
>
> We did fail over testing on mb nodes in AWS instances and came across
> following issue. Following is the scenario tested in cluster.
>
> 1. Start 2 node mb cluster with nodeA (coordinator), nodeB.
> 2. Add queue subscriber "MyQueue" to nodeB.
> 3. Start publish "MyQueue" queue messages to nodeA.
> 4. After flow control enabled in nodeA, disconnect nodeA from the cluster.
>
> At a moment where flow control is enabled for the publisher, the
> coordinator is killed. Even though(assuming) that the publisher moves to
> the other node, it is still under flow control and the node does not
> disable the flow control for the publisher. Therefore the publisher does
> not publish any messages afterwards. How can we overcome this issue ?
>
> Regards,
> --
> Pumudu Ruhunage
> Associate Software Engineer | WSO2 Inc
> M: +94 779 664493  | http://wso2.com
>



-- 
*Asitha Nanayakkara*
Software Engineer
WSO2, Inc. http://wso2.com/
Mob: + 94 77 85 30 682
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to