Details

Description

By prefixing keys for the id btree with the vbucket Id, incremental index updates, especially large ones such as those after/during a rebalance, get significantly faster with the added benefit of generating less file fragmentation. Also it speeds up cleanup and better overall performance (due to slower fragmentation, less compactions).

Example test, using lucky6.conf evperf dataset. Index was initially built with 0.5M documents and then 512 new vbuckets were added, which brought 1M new documents:

Farshid Ghods (Inactive)
added a comment - 15/Nov/12 8:29 AM it will be very interesting to run the 40M items test with these fixes and compare index file size and indexing speed as reported by active_tasks

Filipe Manana (Inactive)
added a comment - 15/Nov/12 9:30 AM Wouldn't call it a fix, but rather an improvement, as it doesn't address any functionality issue
Yes, larger datasets and design documents with several views is where more difference is noticeable, specially together with MB-7131 .