----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/33758/ -----------------------------------------------------------
(Updated May 5, 2015, 8:18 a.m.) Review request for qpid, Kenneth Giusti and Ted Ross. Changes ------- PROTON-842 -- channels and sessions -- version 2 -- return invalid result from allocate_alias Repository: qpid-proton-git Description ------- 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 result. 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. Thanks, michael goulish
