OK, I figure it out
Compaction always writes to hard drive that has more free space.
see DatabaseDescriptor.getDataFileLocationForTable(String table, long expectedCompactedFileSize)
That is how all the data might end up in one folder only.
In the long run, provided that one has enough data, biggest hard drive will always be stressed the most, that affects read performance.
On Tue, Sep 29, 2009 at 2:22 PM, Igor Katkov <firstname.lastname@example.org> wrote:No, but it should distribute sstables evenly (which, on average,
> Does cassandra distributes keys evenly among DataFileDirectories?
should be distributing keys evenly, but there will be large variance).
Each time a sstable is created, either by flush or compaction, it
> 1. Is it by design?
should pick the "next" directory to use.
No. (That wouldn't be hard to add, but nobody's needed it.)
> 2. Is there a way to control key distribution, for the cases when
> hard-drives are of different capacity?