> On Sept. 30, 2013, 1:28 p.m., Kenneth Giusti wrote: > > /trunk/qpid/cpp/src/qpid/broker/SessionState.h, line 137 > > <https://reviews.apache.org/r/14352/diff/1/?file=357594#file357594line137> > > > > Is this used - couldn't find it.
No, ignore it, will delete. - Alan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14352/#review26487 ----------------------------------------------------------- On Sept. 26, 2013, 10:23 p.m., Alan Conway wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/14352/ > ----------------------------------------------------------- > > (Updated Sept. 26, 2013, 10:23 p.m.) > > > Review request for qpid, Gordon Sim and Kenneth Giusti. > > > Repository: qpid > > > Description > ------- > > QPID-5139: HA transactions block a thread, can deadlock the broker > > PrimaryTxObserver::prepare blocks pending responses from each backup. With > concurrent transactions this can deadlock the broker: once all worker threads > are blocked in prepare, responses from backups cannot be received. > > This commit generalizes the async completion mechanism for messages to allow > async completion of arbitrary commands. It leaves the special-case code for > messages undisturbed but adds a second path (starting from > SessionState::handleCommand) for async completion of other commands. > > So far have only done the refactor on the Session side for generic async > commands. > Still need code to > - Pass AsyncCompletion from IncompleteCommand down to > PrimaryTxObserver::prepare > - Call startCompleter for each backup broker. > - Call finisCompleter on response from backup brokers. > > Issues: > - exra malloc per command, each command gets an AsyncCompletion. Can it be > avoided? > - can we clean up execution.sync special case? > - In auth test, causes strange core dump in SaslFactory.cpp: > - static getPasswordFromSettingsSecrets not initialized? > > > Diffs > ----- > > /trunk/qpid/cpp/src/qpid/broker/SessionState.h 1526725 > /trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1526725 > /trunk/qpid/cpp/src/tests/ha_test.py 1526725 > /trunk/qpid/cpp/src/tests/ha_tests.py 1526725 > > Diff: https://reviews.apache.org/r/14352/diff/ > > > Testing > ------- > > > Thanks, > > Alan Conway > >