Jonathan Ellis <jbellis <at> gmail.com> writes:
> You should look at the org.apache.cassandra.db.compaction package and
> read the original leveldb implementation notes at
> http://leveldb.googlecode.com/svn/trunk/doc/impl.html for more
> details.
>
There is an important rule in
http://leveldb.googlecode.com/svn/trunk/doc/impl.html:
"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)."
But in LeveledCompactionTask,we switch to a new output file just when the
sstable reach to the fixed-size.So I don't think cassandra1.0 can avoid
unusually large compaction.