qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "michael goulish" <mgoul...@redhat.com>
Subject Re: Review Request 33758: do something reasonable with local and remote max channels
Date Tue, 05 May 2015 08:18:41 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated May 5, 2015, 8:18 a.m.)

Review request for qpid, Kenneth Giusti and Ted Ross.


PROTON-842 -- channels and sessions -- version 2 -- return invalid result from allocate_alias

Repository: qpid-proton-git


PROTON-842 -- channels and sessions

Diffs (updated)

  proton-c/include/proton/transport.h 690952b 
  proton-c/src/engine/engine-internal.h e5ec602 
  proton-c/src/engine/engine.c 5e05cbc 
  proton-c/src/transport/transport.c 62d4742 
  tests/python/proton_tests/engine.py 82869db 

Diff: https://reviews.apache.org/r/33758/diff/

Testing (updated)

Note for new diff -- 

  It is still possible for applications -- like dispatch -- to crash, since I haven't done
anything to change them yet.  But we no longer crash in Proton when we exceed 2^15 sessions
in one connection.
  In this diff I added changes to allocate_alias and its callers to explicitly return an invalid
  The one test that was failing was due to a teensy mistake in the test.

-Notes for previous diff:

tested with modified simple_send.py and reactor.py  
and qdrouterd.

my script has 1 qpidd broker, 2 routers, and 200 simple_senderer.

Each simple_sender makes 200 links over a single connection, to router B.
These become link-routes through router A to the broker.

the purpose of this diff is to get proton code to
  1. not cause router to crash when channels go above 2^15
  2. do something reasonable in this case, so that application level has a chance of doing
something reasonable.
I am not doing handles for links yet -- I want to get review for this first, get this done,
and then do same thing there.  I expect those changes will be identical.

Also please note -- I did NOT try to quit using the top bit of channel number as a flag. 
 Just advertising a lower number, trying to do something reasonable wrt local and remote max
channels, and trying to honor what the other side says.


michael goulish

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message