summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@62dab493-f737-651d-591e-8d6aee1b9529>2011-03-22 18:32:49 +0000
committerjorlow@chromium.org <jorlow@chromium.org@62dab493-f737-651d-591e-8d6aee1b9529>2011-03-22 18:32:49 +0000
commit13b72af77b2b7fed156c26107476f84d35e4481d (patch)
treed21e4ec2ca349fab041bda922f58303f1a2933a7 /doc
parent9df5aa892ecf4f418f6777bcc18651ecd5f0d679 (diff)
downloadleveldb-13b72af77b2b7fed156c26107476f84d35e4481d.tar.gz
More changes from upstream.
git-svn-id: https://leveldb.googlecode.com/svn/trunk@12 62dab493-f737-651d-591e-8d6aee1b9529
Diffstat (limited to 'doc')
-rw-r--r--doc/impl.html10
1 files changed, 8 insertions, 2 deletions
diff --git a/doc/impl.html b/doc/impl.html
index 2f2c809..b190d2c 100644
--- a/doc/impl.html
+++ b/doc/impl.html
@@ -123,8 +123,14 @@ one level-0 file in case some of these files overlap each other.
A compaction merges the contents of the picked files to produce a
sequence of level-(L+1) files. We switch to producing a new
level-(L+1) file after the current output file has reached the target
-file size (2MB). The old files are discarded and the new files are
-added to the serving state.
+file size (2MB). We also switch to a new output file when the key
+range of the current output file has grown enough to overlap more then
+ten level-(L+2) files. This last rule ensures that a later compaction
+of a level-(L+1) file will not pick up too much data from level-(L+2).
+
+<p>
+The old files are discarded and the new files are added to the serving
+state.
<p>
Compactions for a particular level rotate through the key space. In