diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-09-08 01:02:17 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-09-08 01:02:17 +0100 |
| commit | 910debb20f4cc6ea4982c27495722bfeb4441a64 (patch) | |
| tree | 6021d83f9ca459c11adb969b5349e526efbad268 /docs/remove-namespaces.xsl | |
| parent | 62e114a90a73265b58e077e388814467ea19bf9d (diff) | |
| download | rabbitmq-server-git-910debb20f4cc6ea4982c27495722bfeb4441a64.tar.gz | |
Fixed the bug. The problem was that I was not removing msgs from the index for the dest in a gc if they had a refcount of 0. Thus they could later be reincremented. I was also thoughtlessly doing an index_delete_by_file on the src post gc, which should be unnecessary - 0 refcounts are now removed as they're discovered, and non-zero will be updated to be in the dest. This leaves only 1 worrying use of index_delete_by_file which is now in delete_file_if_empty. Here, scanning and deleting as we find msgs will be constant time and simple. Note this also features a very rough hacking out of the use of contiguous top in GC which turns out to be essential for this bug. However the real fix for that will be in bug 23233 which will block this bug.
Diffstat (limited to 'docs/remove-namespaces.xsl')
0 files changed, 0 insertions, 0 deletions
