/* * @(#) AbstractDiskAllocator.java * Created 22.04.2013 by oleg * (C) Odnoklassniki.ru */ package org.apache.cassandra.db.disks; import java.io.File; /** * @author Oleg Anastasyev<oa@odnoklassniki.ru> * */ public abstract class AbstractDiskAllocator implements DiskAllocator { protected final File[] dataDirectories; public AbstractDiskAllocator(String[] dataFileDirs) { dataDirectories = new File[dataFileDirs.length]; for (int i = 0; i < dataFileDirs.length; i++) { String dir = dataFileDirs[i]; dataDirectories[i] = new File(dir); } } protected boolean enoughSpaceAvailable(long estimatedSize, File pair) { // Load factor of 0.9 we do not want to use the entire disk that is too risky. return estimatedSize+estimatedSize/10 < pair.getUsableSpace(); } public static String getDataFileLocationForTable(File dir, String table) { return new File(dir,table).getAbsolutePath(); } }