summaryrefslogtreecommitdiff
path: root/cpp/src/tests/StoreStatus.cpp
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-12-14 14:25:09 +0000
committerKeith Wall <kwall@apache.org>2012-12-14 14:25:09 +0000
commitb3d19c7503ea56567aaa4de33bc186c07747e79c (patch)
tree5d27c911dd64af9c76a9e4c1bcefbbe7c56111bc /cpp/src/tests/StoreStatus.cpp
parentd2c88e44fcc013d796c16ad10a7c3c66cbfe08bb (diff)
downloadqpid-python-b3d19c7503ea56567aaa4de33bc186c07747e79c.tar.gz
QPID-4503: Producer transaction timeout detection feature may produce suprious open/idle alerts and close client connections/sessions without good cause
Race conditon existed between the initial check that determined transaction timeout detection was required and the subsequent re-observeration required to perform the open and idle calculation. In the unlucky timing, the state of the transaction changed between these two points. (To produce the time-since-epoch type the transaction needs to be committed between these two points). Changed checkTransactionStatus so that transactionStartTime and transactionUpdateTime are observed once only. There still exists the possibility that the transaction status change change between the reading of transactionStartTime and transactionUpdateTime times, but I do not see how this could produce a suprious report (or close). The alternative (to take a locks to ensure consistent observations are made) seems unjustifiably costly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1421884 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/StoreStatus.cpp')
0 files changed, 0 insertions, 0 deletions