Details
-
Bug
-
Resolution: Fixed
-
None
-
None
-
*Location*: http://developer.couchbase.com/documentation/server/current/architecture/storage-architecture.html
*User-Agent*: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7
*Screen Resolution*: 1680 x 1050
Description
The documentation should better reflect the following explanation as given by engineering:
The overall goal of circular write mode is to reduce storage fragmentation by allowing reuse of stale blocks.
And this allows for compaction to be run less frequently. Here are the factors at play:
block_reusing_threshold
Circular block reusing threshold in the unit of percentage (%), which can be
represented as '(stale data size)/(total file size)'. When stale data size
grows beyond the threshold, circular block reusing is triggered so that stale
blocks are reused for further block allocation.
The default for this threshold is 65. That means once the fragmentation reaches 65%, block
reuse will kick in. This is the reason you'll see most indexes hanging around with 65% fragmentation.
This configuration cannot be changed via settings.
days_of_week
The days of week setting determines which days the "full" compaction is run. And that is limited to ONCE per day.
With block reuse in place, there is not much need to run compaction more frequently than that.
UI settings "Start Time"/"End Time" and "Abort compaction if run time exceeds the set time interval" work along with the "days_of_week" setting.
Fragmentation Percent setting only applies to "Append-only Write Mode" and is ignored for "Circular Write Mode"(as can be seen from the UI).