Code wise, I am not completely familiar with what accomplishes the behavior. But my understanding and experience is that Cass 2.1 picks the drive with the most free space when picking a destination for a compaction operation. (This is an overly simplistic description. Reality is always more nuanced. datastax had a blog post that describes this better as well as limitations to the algorithm in 2.1 which are addressed in the 3.x releases )
Clint On Feb 28, 2016 10:11 AM, "Michał Łowicki" <mlowi...@gmail.com> wrote: > > > On Sun, Feb 28, 2016 at 4:00 PM, Clint Martin < > clintlmar...@coolfiretechnologies.com> wrote: > >> Your plan for replacing your 200gb drive sounds good to me. Since you are >> running jbod, I wouldn't worry about manually redistributing data from your >> other disk to the new one. Cassandra will do that for you as it performs >> compaction. >> > > Is this done by pickWriteableDirectory > <https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/Directories.java#L386> > ? > >> While you're doing the drive change, you need to complete the swap and >> restart of the node before the hinted handoff window expires on the other >> nodes. If you do not complete in time, you'll want to perform a repair on >> the node. >> > > Yes. Thanks! > > >> >> >> Clint >> On Feb 28, 2016 9:33 AM, "Michał Łowicki" <mlowi...@gmail.com> wrote: >> >>> Hi, >>> >>> I've two disks on single box (500GB + 200GB). data_file_directories in >>> cassandra.yaml has two entries. I would like to replace 200GB with 500GB as >>> it's running out of space and to align it with others we've in the cluster. >>> The plan is to stop C*, attach new disk, move data from 200GB to new one >>> and mount it at the same point in the hierarchy. When done start C*. >>> >>> Additionally I would like to move some data from the old 500GB to the >>> new one to distribute used disk space equally. Probably all related files >>> for single SSTable should be moved i.e. >>> >>> foo-bar-ka-1630184-CompressionInfo.db >>> >>> foo-bar-ka-1630184-Data.db >>> >>> foo-bar-ka-1630184-Digest.sha1 >>> >>> foo-bar-ka-1630184-Filter.db >>> >>> foo-bar-ka-1630184-Index.db >>> >>> foo-bar-ka-1630184-Statistics.db >>> >>> foo-bar-ka-1630184-Summary.db >>> >>> foo-bar-ka-1630184-TOC.txt >>> >>> Is this something which should work or you see some obstacles? (C* >>> 2.1.13). >>> -- >>> BR, >>> Michał Łowicki >>> >> > > > -- > BR, > Michał Łowicki >