-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30898/
-----------------------------------------------------------

(Updated Feb. 19, 2015, 8:26 p.m.)


Review request for qpid and Rafael Schloming.


Changes
-------

This has fixes for changes in reactor api signatures and enough tweaks
to allow a couple of tests to be added that work similarly to simpler
messenger soak tests.  Also fixes to make valgrind happy.  The need to
sometimes decref (and sometimes not) various handlers remains puzzling
(i.e. pn_handshaker in listener_dispatch versus main, or
connection_handler in listener_dispatch).


Bugs: PROTON-818
    https://issues.apache.org/jira/browse/PROTON-818


Repository: qpid-proton-git


Description
-------

These are meant to eventually plug into the python test suite.  For
now they do a small subset of their counterparts msgr-send and
msgr-recv.

In their current early state they just send and receive with an
optional reply-to capability.  These programs could use a review as to
how well they serve as a blueprint for some good reactor C examples.

Of particular concern are the use of

  pn_decref/pn_incref for handlers in general or to force the ordering
  of handler cleanup (i.e. connection_handler cleanup before the
  global/listener handler)

  pn_incref for pn_connection_free (else segfaults, but without the
  pn_connection_free the connection_cleanup is not called until the
  reactor finishes which could be hours or days later)

This could just be more about poor use of the API than anything else, so
any suggestions are welcome.


I am still working of the python test integration which seems to imply
that at least the "-X READY" and "-t 60" args need to be implemented on
top of what you see so far.


Diffs (updated)
-----

  tests/python/proton_tests/common.py 42cf7b1 
  tests/python/proton_tests/soak.py 94ce488 
  tests/tools/apps/c/CMakeLists.txt deafe24 
  tests/tools/apps/c/reactor-recv.c PRE-CREATION 
  tests/tools/apps/c/reactor-send.c PRE-CREATION 

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


Testing
-------

The programs have at least been tested with multiple simultaneous
connections as follows:

"server":  time ./reactor-recv -c 1000000 -R

"shooter": for i in 1 2 3 4 5 6 7 8 9 10 ; do ./reactor-send -a 
"amqp://127.0.0.1/test_"$i -c 100000 -R & echo $i; usleep 200000; done


Thanks,

Cliff Jansen

Reply via email to