summaryrefslogtreecommitdiff
path: root/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
commit3f2a2626256e00d2ad15b337b5b40264d40241e9 (patch)
tree5d27c911dd64af9c76a9e4c1bcefbbe7c56111bc /cpp
parent09cd4cddfd4a696766311f235243ab65bd1c501e (diff)
downloadqpid-python-3f2a2626256e00d2ad15b337b5b40264d40241e9.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')
0 files changed, 0 insertions, 0 deletions