/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.cassandra.db.compaction;

import java.util.List;
import java.util.Map;
import javax.management.openmbean.TabularData;

public interface CompactionManagerMBean
{
    
List of running compaction objects.
/** List of running compaction objects. */
public List<Map<String, String>> getCompactions();
List of running compaction summary strings.
/** List of running compaction summary strings. */
public List<String> getCompactionSummary();
compaction history
/** compaction history **/
public TabularData getCompactionHistory();
Triggers the compaction of user specified sstables. You can specify files from various keyspaces and columnfamilies. If you do so, user defined compaction is performed several times to the groups of files in the same keyspace/columnfamily.
Params:
  • dataFiles – a comma separated list of sstable file to compact. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself.
/** * Triggers the compaction of user specified sstables. * You can specify files from various keyspaces and columnfamilies. * If you do so, user defined compaction is performed several times to the groups of files * in the same keyspace/columnfamily. * * @param dataFiles a comma separated list of sstable file to compact. * must contain keyspace and columnfamily name in path(for 2.1+) or file name itself. */
public void forceUserDefinedCompaction(String dataFiles);
Triggers the cleanup of user specified sstables. You can specify files from various keyspaces and columnfamilies. If you do so, cleanup is performed each file individually
Params:
  • dataFiles – a comma separated list of sstable file to cleanup. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself.
/** * Triggers the cleanup of user specified sstables. * You can specify files from various keyspaces and columnfamilies. * If you do so, cleanup is performed each file individually * * @param dataFiles a comma separated list of sstable file to cleanup. * must contain keyspace and columnfamily name in path(for 2.1+) or file name itself. */
public void forceUserDefinedCleanup(String dataFiles);
Stop all running compaction-like tasks having the provided type.
Params:
  • type – the type of compaction to stop. Can be one of: - COMPACTION - VALIDATION - CLEANUP - SCRUB - INDEX_BUILD
/** * Stop all running compaction-like tasks having the provided {@code type}. * @param type the type of compaction to stop. Can be one of: * - COMPACTION * - VALIDATION * - CLEANUP * - SCRUB * - INDEX_BUILD */
public void stopCompaction(String type);
Stop an individual running compaction using the compactionId.
Params:
  • compactionId – Compaction ID of compaction to stop. Such IDs can be found in the transaction log files whose name starts with compaction_, located in the table transactions folder.
/** * Stop an individual running compaction using the compactionId. * @param compactionId Compaction ID of compaction to stop. Such IDs can be found in * the transaction log files whose name starts with compaction_, * located in the table transactions folder. */
public void stopCompactionById(String compactionId);
Returns core size of compaction thread pool
/** * Returns core size of compaction thread pool */
public int getCoreCompactorThreads();
Allows user to resize maximum size of the compaction thread pool.
Params:
  • number – New maximum of compaction threads
/** * Allows user to resize maximum size of the compaction thread pool. * @param number New maximum of compaction threads */
public void setCoreCompactorThreads(int number);
Returns maximum size of compaction thread pool
/** * Returns maximum size of compaction thread pool */
public int getMaximumCompactorThreads();
Allows user to resize maximum size of the compaction thread pool.
Params:
  • number – New maximum of compaction threads
/** * Allows user to resize maximum size of the compaction thread pool. * @param number New maximum of compaction threads */
public void setMaximumCompactorThreads(int number);
Returns core size of validation thread pool
/** * Returns core size of validation thread pool */
public int getCoreValidationThreads();
Allows user to resize maximum size of the compaction thread pool.
Params:
  • number – New maximum of compaction threads
/** * Allows user to resize maximum size of the compaction thread pool. * @param number New maximum of compaction threads */
public void setCoreValidationThreads(int number);
Returns size of validator thread pool
/** * Returns size of validator thread pool */
public int getMaximumValidatorThreads();
Allows user to resize maximum size of the validator thread pool.
Params:
  • number – New maximum of validator threads
/** * Allows user to resize maximum size of the validator thread pool. * @param number New maximum of validator threads */
public void setMaximumValidatorThreads(int number); }