You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by "Weibel, David C" <da...@lmco.com> on 2019/03/04 22:59:25 UTC

C++ Broker - Limiting Connections based on ProcId

Hi,


I inherited an existing application leveraging the Apache QPid C++ broker.  According to my those before me things have been working fine for years.  Although I'm starting to suspect they were just lucky.


Recently I was tasked to migrate this application to docker/swarm.  The side effect of this is that every client now in its own container and they each now have the procid/pid of 1.  They do connect with unique client IP addresses to the broker though.


The problem I'm encountering is one the first client is allowed to connect.  (Within docker-compose there was an open 'pid: host' which changed the pid assignment in the containers.  This allowed more clients to start connecting.  Although this option is not available in docker/swarm.


This lead me to notice that things are working by luck in the real application.  When I client attempts to connect to the broker with a procid/pid that is already connected if fails and the process restarted which caused it to get a new procid/pid.  After awhile things would stabilize and things would work.


I'm trying to understand how unique connection/sessions are identified?  I'm assuming we are doing something wrong in the existing design related to this topic.  Any pointers are appreciated.


Thanks

-David


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: C++ Broker - Limiting Connections based on ProcId

Posted by Gordon Sim <gs...@redhat.com>.
On 04/03/2019 10:59 pm, Weibel, David C wrote:
> Hi,
> 
> 
> I inherited an existing application leveraging the Apache QPid C++ broker.  According to my those before me things have been working fine for years.  Although I'm starting to suspect they were just lucky.
> 
> 
> Recently I was tasked to migrate this application to docker/swarm.  The side effect of this is that every client now in its own container and they each now have the procid/pid of 1.  They do connect with unique client IP addresses to the broker though.
> 
> 
> The problem I'm encountering is one the first client is allowed to connect.  (Within docker-compose there was an open 'pid: host' which changed the pid assignment in the containers.  This allowed more clients to start connecting.  Although this option is not available in docker/swarm.
> 
> 
> This lead me to notice that things are working by luck in the real application.  When I client attempts to connect to the broker with a procid/pid that is already connected if fails and the process restarted which caused it to get a new procid/pid.  After awhile things would stabilize and things would work.
> 
> 
> I'm trying to understand how unique connection/sessions are identified?  I'm assuming we are doing something wrong in the existing design related to this topic.  Any pointers are appreciated.

What client library (and protocol version) are the clients using? Is 
there any error logged by the broker when the client connections are failed?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org