ColumnFamilyStore: update to c3 compat

Note: some calls still unimplemented
This commit is contained in:
Calle Wilund 2016-08-17 08:30:04 +00:00
parent 9a44228c71
commit 85b39d7fbe
2 changed files with 114 additions and 299 deletions

View File

@ -23,29 +23,43 @@
*/ */
package org.apache.cassandra.db; package org.apache.cassandra.db;
import static java.lang.String.valueOf;
import static javax.json.Json.createObjectBuilder;
import static javax.json.Json.createReader;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.io.StringReader;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.net.ConnectException; import java.util.HashMap;
import java.util.*; import java.util.HashSet;
import java.util.concurrent.*; import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ExecutionException;
import javax.json.JsonArray; import javax.json.JsonArray;
import javax.json.JsonObject; import javax.json.JsonObject;
import javax.management.*; import javax.json.JsonObjectBuilder;
import javax.json.JsonValue;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeData;
import javax.management.openmbean.OpenDataException; import javax.management.openmbean.OpenDataException;
import javax.ws.rs.ProcessingException;
import javax.ws.rs.core.MultivaluedHashMap; import javax.ws.rs.core.MultivaluedHashMap;
import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.MultivaluedMap;
import org.apache.cassandra.metrics.ColumnFamilyMetrics; import org.apache.cassandra.metrics.ColumnFamilyMetrics;
import com.google.common.base.Throwables;
import com.scylladb.jmx.api.APIClient; import com.scylladb.jmx.api.APIClient;
public class ColumnFamilyStore implements ColumnFamilyStoreMBean { public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
private static final java.util.logging.Logger logger = java.util.logging.Logger private static final java.util.logging.Logger logger = java.util.logging.Logger
.getLogger(ColumnFamilyStore.class.getName()); .getLogger(ColumnFamilyStore.class.getName());
private APIClient c = new APIClient(); private APIClient c = new APIClient();
@SuppressWarnings("unused")
private String type; private String type;
private String keyspace; private String keyspace;
private String name; private String name;
@ -156,6 +170,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* @return the name of the column family * @return the name of the column family
*/ */
@Override
public String getColumnFamilyName() { public String getColumnFamilyName() {
log(" getColumnFamilyName()"); log(" getColumnFamilyName()");
return name; return name;
@ -476,6 +491,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Gets the minimum number of sstables in queue before compaction kicks off * Gets the minimum number of sstables in queue before compaction kicks off
*/ */
@Override
public int getMinimumCompactionThreshold() { public int getMinimumCompactionThreshold() {
log(" getMinimumCompactionThreshold()"); log(" getMinimumCompactionThreshold()");
return c.getIntValue("column_family/minimum_compaction/" + getCFName()); return c.getIntValue("column_family/minimum_compaction/" + getCFName());
@ -484,6 +500,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Sets the minimum number of sstables in queue before compaction kicks off * Sets the minimum number of sstables in queue before compaction kicks off
*/ */
@Override
public void setMinimumCompactionThreshold(int threshold) { public void setMinimumCompactionThreshold(int threshold) {
log(" setMinimumCompactionThreshold(int threshold)"); log(" setMinimumCompactionThreshold(int threshold)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -494,6 +511,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Gets the maximum number of sstables in queue before compaction kicks off * Gets the maximum number of sstables in queue before compaction kicks off
*/ */
@Override
public int getMaximumCompactionThreshold() { public int getMaximumCompactionThreshold() {
log(" getMaximumCompactionThreshold()"); log(" getMaximumCompactionThreshold()");
return c.getIntValue("column_family/maximum_compaction/" + getCFName()); return c.getIntValue("column_family/maximum_compaction/" + getCFName());
@ -503,6 +521,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* Sets the maximum and maximum number of SSTables in queue before * Sets the maximum and maximum number of SSTables in queue before
* compaction kicks off * compaction kicks off
*/ */
@Override
public void setCompactionThresholds(int minThreshold, int maxThreshold) { public void setCompactionThresholds(int minThreshold, int maxThreshold) {
log(" setCompactionThresholds(int minThreshold, int maxThreshold)"); log(" setCompactionThresholds(int minThreshold, int maxThreshold)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -514,6 +533,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Sets the maximum number of sstables in queue before compaction kicks off * Sets the maximum number of sstables in queue before compaction kicks off
*/ */
@Override
public void setMaximumCompactionThreshold(int threshold) { public void setMaximumCompactionThreshold(int threshold) {
log(" setMaximumCompactionThreshold(int threshold)"); log(" setMaximumCompactionThreshold(int threshold)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -546,6 +566,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Get the compression parameters * Get the compression parameters
*/ */
@Override
public Map<String, String> getCompressionParameters() { public Map<String, String> getCompressionParameters() {
log(" getCompressionParameters()"); log(" getCompressionParameters()");
return c.getMapStrValue( return c.getMapStrValue(
@ -558,6 +579,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* @param opts * @param opts
* map of string names to values * map of string names to values
*/ */
@Override
public void setCompressionParameters(Map<String, String> opts) { public void setCompressionParameters(Map<String, String> opts) {
log(" setCompressionParameters(Map<String,String> opts)"); log(" setCompressionParameters(Map<String,String> opts)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -569,6 +591,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
/** /**
* Set new crc check chance * Set new crc check chance
*/ */
@Override
public void setCrcCheckChance(double crcCheckChance) { public void setCrcCheckChance(double crcCheckChance) {
log(" setCrcCheckChance(double crcCheckChance)"); log(" setCrcCheckChance(double crcCheckChance)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -576,6 +599,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
c.post("column_family/crc_check_chance/" + getCFName(), queryParams); c.post("column_family/crc_check_chance/" + getCFName(), queryParams);
} }
@Override
public boolean isAutoCompactionDisabled() { public boolean isAutoCompactionDisabled() {
log(" isAutoCompactionDisabled()"); log(" isAutoCompactionDisabled()");
return c.getBooleanValue("column_family/autocompaction/" + getCFName()); return c.getBooleanValue("column_family/autocompaction/" + getCFName());
@ -595,6 +619,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
return c.getDoubleValue(""); return c.getDoubleValue("");
} }
@Override
public long estimateKeys() { public long estimateKeys() {
log(" estimateKeys()"); log(" estimateKeys()");
return c.getLongValue("column_family/estimate_keys/" + getCFName()); return c.getLongValue("column_family/estimate_keys/" + getCFName());
@ -632,6 +657,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* *
* @return list of the index names * @return list of the index names
*/ */
@Override
public List<String> getBuiltIndexes() { public List<String> getBuiltIndexes() {
log(" getBuiltIndexes()"); log(" getBuiltIndexes()");
return c.getListStrValue("column_family/built_indexes/" + getCFName()); return c.getListStrValue("column_family/built_indexes/" + getCFName());
@ -643,6 +669,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* @param key * @param key
* @return list of filenames containing the key * @return list of filenames containing the key
*/ */
@Override
public List<String> getSSTablesForKey(String key) { public List<String> getSSTablesForKey(String key) {
log(" getSSTablesForKey(String key)"); log(" getSSTablesForKey(String key)");
MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
@ -655,6 +682,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* Scan through Keyspace/ColumnFamily's data directory determine which * Scan through Keyspace/ColumnFamily's data directory determine which
* SSTables should be loaded and load them * SSTables should be loaded and load them
*/ */
@Override
public void loadNewSSTables() { public void loadNewSSTables() {
log(" loadNewSSTables()"); log(" loadNewSSTables()");
c.post("column_family/sstable/" + getCFName()); c.post("column_family/sstable/" + getCFName());
@ -664,6 +692,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* @return the number of SSTables in L0. Always return 0 if Leveled * @return the number of SSTables in L0. Always return 0 if Leveled
* compaction is not enabled. * compaction is not enabled.
*/ */
@Override
public int getUnleveledSSTables() { public int getUnleveledSSTables() {
log(" getUnleveledSSTables()"); log(" getUnleveledSSTables()");
return c.getIntValue("column_family/sstables/unleveled/" + getCFName()); return c.getIntValue("column_family/sstables/unleveled/" + getCFName());
@ -674,6 +703,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* used. array index corresponds to level(int[0] is for level 0, * used. array index corresponds to level(int[0] is for level 0,
* ...). * ...).
*/ */
@Override
public int[] getSSTableCountPerLevel() { public int[] getSSTableCountPerLevel() {
log(" getSSTableCountPerLevel()"); log(" getSSTableCountPerLevel()");
int[] res = c.getIntArrValue( int[] res = c.getIntArrValue(
@ -692,6 +722,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* *
* @return ratio * @return ratio
*/ */
@Override
public double getDroppableTombstoneRatio() { public double getDroppableTombstoneRatio() {
log(" getDroppableTombstoneRatio()"); log(" getDroppableTombstoneRatio()");
return c.getDoubleValue("column_family/droppable_ratio/" + getCFName()); return c.getDoubleValue("column_family/droppable_ratio/" + getCFName());
@ -701,6 +732,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
* @return the size of SSTables in "snapshots" subdirectory which aren't * @return the size of SSTables in "snapshots" subdirectory which aren't
* live anymore * live anymore
*/ */
@Override
public long trueSnapshotsSize() { public long trueSnapshotsSize() {
log(" trueSnapshotsSize()"); log(" trueSnapshotsSize()");
return c.getLongValue("column_family/metrics/snapshots_size/" + getCFName()); return c.getLongValue("column_family/metrics/snapshots_size/" + getCFName());
@ -709,41 +741,70 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
public String getKeyspace() { public String getKeyspace() {
return keyspace; return keyspace;
} }
@Override @Override
public long getRangeCount() { public String getTableName() {
log("getRangeCount()"); log(" getTableName()");
return metric.rangeLatency.latency.count(); return name;
} }
@Override @Override
public long getTotalRangeLatencyMicros() { public void forceMajorCompaction(boolean splitOutput) throws ExecutionException, InterruptedException {
log("getTotalRangeLatencyMicros()"); log(" forceMajorCompaction(boolean) throws ExecutionException, InterruptedException");
return metric.rangeLatency.totalLatency.count(); MultivaluedMap<String, String> queryParams = new MultivaluedHashMap<String, String>();
queryParams.putSingle("value", valueOf(splitOutput));
c.post("column_family/major_compaction/" + getCFName(), queryParams);
} }
@Override @Override
public long[] getLifetimeRangeLatencyHistogramMicros() { public void setCompactionParametersJson(String options) {
log("getLifetimeRangeLatencyHistogramMicros()"); log(" setCompactionParametersJson");
return metric.rangeLatency.totalLatencyHistogram.getBuckets(false); c.post("column_family/compaction_parameters/" + getCFName(), null, options, APPLICATION_JSON);
} }
@Override @Override
public long[] getRecentRangeLatencyHistogramMicros() { public String getCompactionParametersJson() {
log("getRecentRangeLatencyHistogramMicros()"); log(" getCompactionParametersJson");
return metric.rangeLatency.getRecentLatencyHistogram(); return c.getStringValue("column_family/compaction_parameters/" + getCFName());
} }
@Override @Override
public double getRecentRangeLatencyMicros() { public void setCompactionParameters(Map<String, String> options) {
log("getRecentRangeLatencyMicros()"); JsonObjectBuilder b = createObjectBuilder();
return metric.rangeLatency.getRecentLatency(); for (Map.Entry<String, String> e : options.entrySet()) {
b.add(e.getKey(), e.getValue());
}
setCompactionParametersJson(b.build().toString());
}
@Override
public Map<String, String> getCompactionParameters() {
String s = getCompactionParametersJson();
JsonObject o = createReader(new StringReader(s)).readObject();
HashMap<String, String> res = new HashMap<>();
for (Entry<String, JsonValue> e : o.entrySet()) {
res.put(e.getKey(), e.getValue().toString());
}
return res;
}
@Override
public boolean isCompactionDiskSpaceCheckEnabled() {
// TODO Auto-generated method stub
log(" isCompactionDiskSpaceCheckEnabled()");
return false;
}
@Override
public void compactionDiskSpaceCheck(boolean enable) {
// TODO Auto-generated method stub
log(" compactionDiskSpaceCheck()");
} }
@Override @Override
public void beginLocalSampling(String sampler, int capacity) { public void beginLocalSampling(String sampler, int capacity) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
log("beginLocalSampling()"); log(" beginLocalSampling()");
} }
@ -751,8 +812,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean {
public CompositeData finishLocalSampling(String sampler, int count) public CompositeData finishLocalSampling(String sampler, int count)
throws OpenDataException { throws OpenDataException {
// TODO Auto-generated method stub // TODO Auto-generated method stub
log("finishLocalSampling()"); log(" finishLocalSampling()");
return null; return null;
} }
} }

View File

@ -32,258 +32,17 @@ public interface ColumnFamilyStoreMBean
/** /**
* @return the name of the column family * @return the name of the column family
*/ */
@Deprecated
public String getColumnFamilyName(); public String getColumnFamilyName();
/** public String getTableName();
* Returns the total amount of data stored in the memtable, including
* column related overhead.
*
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#memtableOnHeapSize
* @return The size in bytes.
* @deprecated
*/
@Deprecated
public long getMemtableDataSize();
/**
* Returns the total number of columns present in the memtable.
*
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#memtableColumnsCount
* @return The number of columns.
*/
@Deprecated
public long getMemtableColumnsCount();
/**
* Returns the number of times that a flush has resulted in the
* memtable being switched out.
*
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#memtableSwitchCount
* @return the number of memtable switches
*/
@Deprecated
public int getMemtableSwitchCount();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#recentSSTablesPerRead
* @return a histogram of the number of sstable data files accessed per read: reading this property resets it
*/
@Deprecated
public long[] getRecentSSTablesPerReadHistogram();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#sstablesPerReadHistogram
* @return a histogram of the number of sstable data files accessed per read
*/
@Deprecated
public long[] getSSTablesPerReadHistogram();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#readLatency
* @return the number of read operations on this column family
*/
@Deprecated
public long getReadCount();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#readLatency
* @return total read latency (divide by getReadCount() for average)
*/
@Deprecated
public long getTotalReadLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#readLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getLifetimeReadLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#readLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getRecentReadLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#readLatency
* @return average latency per read operation since the last call
*/
@Deprecated
public double getRecentReadLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#writeLatency
* @return the number of write operations on this column family
*/
@Deprecated
public long getWriteCount();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#writeLatency
* @return total write latency (divide by getReadCount() for average)
*/
@Deprecated
public long getTotalWriteLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#writeLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getLifetimeWriteLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#writeLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getRecentWriteLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#writeLatency
* @return average latency per write operation since the last call
*/
@Deprecated
public double getRecentWriteLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#rangeLatency
* @return the number of range slice operations on this column family
*/
@Deprecated
public long getRangeCount();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#rangeLatency
* @return total range slice latency (divide by getRangeCount() for average)
*/
@Deprecated
public long getTotalRangeLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#rangeLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getLifetimeRangeLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#rangeLatency
* @return an array representing the latency histogram
*/
@Deprecated
public long[] getRecentRangeLatencyHistogramMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#rangeLatency
* @return average latency per range slice operation since the last call
*/
@Deprecated
public double getRecentRangeLatencyMicros();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#pendingFlushes
* @return the estimated number of tasks pending for this column family
*/
@Deprecated
public int getPendingTasks();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#liveSSTableCount
* @return the number of SSTables on disk for this CF
*/
@Deprecated
public int getLiveSSTableCount();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#liveDiskSpaceUsed
* @return disk space used by SSTables belonging to this CF
*/
@Deprecated
public long getLiveDiskSpaceUsed();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#totalDiskSpaceUsed
* @return total disk space used by SSTables belonging to this CF, including obsolete ones waiting to be GC'd
*/
@Deprecated
public long getTotalDiskSpaceUsed();
/** /**
* force a major compaction of this column family * force a major compaction of this column family
*
* @param splitOutput true if the output of the major compaction should be split in several sstables
*/ */
public void forceMajorCompaction() throws ExecutionException, InterruptedException; public void forceMajorCompaction(boolean splitOutput) throws ExecutionException, InterruptedException;
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#minRowSize
* @return the size of the smallest compacted row
*/
@Deprecated
public long getMinRowSize();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#maxRowSize
* @return the size of the largest compacted row
*/
@Deprecated
public long getMaxRowSize();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#meanRowSize
* @return the average row size across all the sstables
*/
@Deprecated
public long getMeanRowSize();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#bloomFilterFalsePositives
*/
@Deprecated
public long getBloomFilterFalsePositives();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#recentBloomFilterFalsePositives
*/
@Deprecated
public long getRecentBloomFilterFalsePositives();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#bloomFilterFalseRatio
*/
@Deprecated
public double getBloomFilterFalseRatio();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#recentBloomFilterFalseRatio
*/
@Deprecated
public double getRecentBloomFilterFalseRatio();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#bloomFilterDiskSpaceUsed
*/
@Deprecated
public long getBloomFilterDiskSpaceUsed();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#bloomFilterOffHeapMemoryUsed
*/
@Deprecated
public long getBloomFilterOffHeapMemoryUsed();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#indexSummaryOffHeapMemoryUsed
*/
@Deprecated
public long getIndexSummaryOffHeapMemoryUsed();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#compressionMetadataOffHeapMemoryUsed
*/
@Deprecated
public long getCompressionMetadataOffHeapMemoryUsed();
/** /**
* Gets the minimum number of sstables in queue before compaction kicks off * Gets the minimum number of sstables in queue before compaction kicks off
@ -311,15 +70,24 @@ public interface ColumnFamilyStoreMBean
public void setMaximumCompactionThreshold(int threshold); public void setMaximumCompactionThreshold(int threshold);
/** /**
* Sets the compaction strategy by class name * Sets the compaction parameters locally for this node
* @param className the name of the compaction strategy class *
* Note that this will be set until an ALTER with compaction = {..} is executed or the node is restarted
*
* @param options compaction options with the same syntax as when doing ALTER ... WITH compaction = {..}
*/ */
public void setCompactionStrategyClass(String className); public void setCompactionParametersJson(String options);
public String getCompactionParametersJson();
/** /**
* Gets the compaction strategy class name * Sets the compaction parameters locally for this node
*
* Note that this will be set until an ALTER with compaction = {..} is executed or the node is restarted
*
* @param options compaction options map
*/ */
public String getCompactionStrategyClass(); public void setCompactionParameters(Map<String, String> options);
public Map<String, String> getCompactionParameters();
/** /**
* Get the compression parameters * Get the compression parameters
@ -339,31 +107,8 @@ public interface ColumnFamilyStoreMBean
public boolean isAutoCompactionDisabled(); public boolean isAutoCompactionDisabled();
/** Number of tombstoned cells retreived during the last slicequery */
@Deprecated
public double getTombstonesPerSlice();
/** Number of live cells retreived during the last slicequery */
@Deprecated
public double getLiveCellsPerSlice();
public long estimateKeys(); public long estimateKeys();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#estimatedRowSizeHistogram
*/
@Deprecated
public long[] getEstimatedRowSizeHistogram();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#estimatedColumnCountHistogram
*/
@Deprecated
public long[] getEstimatedColumnCountHistogram();
/**
* @see org.apache.cassandra.metrics.ColumnFamilyMetrics#compressionRatio
*/
@Deprecated
public double getCompressionRatio();
/** /**
* Returns a list of the names of the built column indexes for current store * Returns a list of the names of the built column indexes for current store
@ -416,4 +161,14 @@ public interface ColumnFamilyStoreMBean
* @return top <i>count</i> items for the sampler since beginLocalSampling was called * @return top <i>count</i> items for the sampler since beginLocalSampling was called
*/ */
public CompositeData finishLocalSampling(String sampler, int count) throws OpenDataException; public CompositeData finishLocalSampling(String sampler, int count) throws OpenDataException;
/*
Is Compaction space check enabled
*/
public boolean isCompactionDiskSpaceCheckEnabled();
/*
Enable/Disable compaction space check
*/
public void compactionDiskSpaceCheck(boolean enable);
} }