qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenneth Giusti" <kgiu...@apache.org>
Subject Re: Review Request: Lock the message headers to prevent changes during encode.
Date Tue, 20 Mar 2012 13:23:19 GMT

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

(Updated 2012-03-20 13:23:19.671544)


Review request for qpid, Gordon Sim and Kim van der Riet.


Changes
-------

Crash also occurs during message body encode.  Proposed fix simply moves scope of lock to
include the message body.


Summary
-------

While running the broker with an async store, it is possible to crash the broker using perftest.
 This is due to a race condition where the broker is updating the message's headers (ttl)
while the store is encoding the same.

To reproduce:

1) run broker with async store:  
qpidd --load-module /home/kgiusti/store/cpp/lib/.libs/msgstore.so  --auth no --port 8888 --num-jfile
16 --jfile-size-pgs 128 --data-dir /tmp/tmp.364FDjf0YW

2) run qpid-perftest in a loop against the broker:
    while true; do qpid-perftest --port 8888 --mode fanout --count 25000 --size 256 --durable
yes --nsubs 4 ; done


This addresses bug qpid-3877.
    https://issues.apache.org/jira/browse/qpid-3877


Diffs (updated)
-----

  /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1302629 

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


Testing
-------

Ran the above tests without crash.
+make check.


Thanks,

Kenneth


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message