You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Kenneth Giusti <kg...@apache.org> on 2012/03/02 03:14:07 UTC
Review Request: Lock the message headers to prevent changes during encode.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4150/
-----------------------------------------------------------
Review request for qpid, Gordon Sim and Kim van der Riet.
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
-----
/trunk/qpid/cpp/src/qpid/broker/Message.cpp 1295759
Diff: https://reviews.apache.org/r/4150/diff
Testing
-------
Ran the above tests without crash.
+make check.
Thanks,
Kenneth
Re: Review Request: Lock the message headers to prevent changes during
encode.
Posted by Gordon Sim <gs...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4150/#review5550
-----------------------------------------------------------
Ship it!
- Gordon
On 2012-03-02 02:14:07, Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4150/
> -----------------------------------------------------------
>
> (Updated 2012-03-02 02:14:07)
>
>
> Review request for qpid, Gordon Sim and Kim van der Riet.
>
>
> 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
> -----
>
> /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1295759
>
> Diff: https://reviews.apache.org/r/4150/diff
>
>
> Testing
> -------
>
> Ran the above tests without crash.
> +make check.
>
>
> Thanks,
>
> Kenneth
>
>
Re: Review Request: Lock the message headers to prevent changes during
encode.
Posted by Gordon Sim <gs...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4150/#review6120
-----------------------------------------------------------
Ship it!
- Gordon
On 2012-03-20 15:23:56, Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4150/
> -----------------------------------------------------------
>
> (Updated 2012-03-20 15:23:56)
>
>
> Review request for qpid, Andrew Stitcher, Gordon Sim, and Kim van der Riet.
>
>
> 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
> -----
>
> /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
>
>
Re: Review Request: Lock the message headers to prevent changes during
encode.
Posted by Kenneth Giusti <kg...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4150/
-----------------------------------------------------------
(Updated 2012-03-20 15:23:56.599695)
Review request for qpid, Andrew Stitcher, Gordon Sim, and Kim van der Riet.
Changes
-------
Added Andrew.
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
-----
/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
Re: Review Request: Lock the message headers to prevent changes during
encode.
Posted by Kenneth Giusti <kg...@apache.org>.
-----------------------------------------------------------
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