You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2014/01/22 20:40:17 UTC

CHANNEL_MAX and CHANNEL_HIGH_BIT question

>From qpid/cpp/src/qpid/framing/amqp_types.h:

/** Maximum channel ID used by broker. Reserve high bit for internal use.*/
const ChannelId CHANNEL_MAX=(ChannelId(~1))>>1;
const ChannelId CHANNEL_HIGH_BIT= ChannelId(~CHANNEL_MAX);

Does anyone know if and where the channel high bit is used internally? There's no reference to CHANNEL_HIGH_BIT anywhere in the source.

This affects new HA which (currently) needs a channel per replicated queue. The definition above limits us to 32k queues. Any thoughts on the impact of changing this to 64k? For my purposes the change can be server-side only, so the client could still limit channels to 32k (if there's a reason to do that)

Cheers,
Alan.

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


Re: CHANNEL_MAX and CHANNEL_HIGH_BIT question

Posted by Alan Conway <ac...@redhat.com>.
On Thu, 2014-01-23 at 09:43 +0000, Gordon Sim wrote:
> On 01/22/2014 07:40 PM, Alan Conway wrote:
> > From qpid/cpp/src/qpid/framing/amqp_types.h:
> >
> > /** Maximum channel ID used by broker. Reserve high bit for internal
> > use.*/ const ChannelId CHANNEL_MAX=(ChannelId(~1))>>1; const
> > ChannelId CHANNEL_HIGH_BIT= ChannelId(~CHANNEL_MAX);
> >
> > Does anyone know if and where the channel high bit is used
> > internally? There's no reference to CHANNEL_HIGH_BIT anywhere in the
> > source.
> 
> It was introduced ages ago: 
> http://svn.apache.org/viewvc?view=revision&revision=551981. This is in 
> the 0-10 implementation, and I can't see anything in the 0-10 spec that 
> would require this. From the comment it sounds like it was maybe being 
> reserved in case it was needed 'internally' within the broker(?)
> 
> > This affects new HA which (currently) needs a channel per replicated
> > queue. The definition above limits us to 32k queues. Any thoughts on
> > the impact of changing this to 64k? For my purposes the change can be
> > server-side only, so the client could still limit channels to 32k (if
> > there's a reason to do that)
> 
> I can't see any reason for the limit, so I would be fine with changing it.

In that case I will go ahead and do it, reduce the odds of people
hitting the limit.



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


Re: CHANNEL_MAX and CHANNEL_HIGH_BIT question

Posted by Gordon Sim <gs...@redhat.com>.
On 01/22/2014 07:40 PM, Alan Conway wrote:
> From qpid/cpp/src/qpid/framing/amqp_types.h:
>
> /** Maximum channel ID used by broker. Reserve high bit for internal
> use.*/ const ChannelId CHANNEL_MAX=(ChannelId(~1))>>1; const
> ChannelId CHANNEL_HIGH_BIT= ChannelId(~CHANNEL_MAX);
>
> Does anyone know if and where the channel high bit is used
> internally? There's no reference to CHANNEL_HIGH_BIT anywhere in the
> source.

It was introduced ages ago: 
http://svn.apache.org/viewvc?view=revision&revision=551981. This is in 
the 0-10 implementation, and I can't see anything in the 0-10 spec that 
would require this. From the comment it sounds like it was maybe being 
reserved in case it was needed 'internally' within the broker(?)

> This affects new HA which (currently) needs a channel per replicated
> queue. The definition above limits us to 32k queues. Any thoughts on
> the impact of changing this to 64k? For my purposes the change can be
> server-side only, so the client could still limit channels to 32k (if
> there's a reason to do that)

I can't see any reason for the limit, so I would be fine with changing it.

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