| /* |
| * 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. */ |
| public List<Map<String, String>> getCompactions(); |
| |
| /** List of running compaction summary strings. */ |
| public List<String> getCompactionSummary(); |
| |
| /** 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. |
| * |
| * @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 |
| * |
| * @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 {@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. |
| * @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 |
| */ |
| public int getCoreCompactorThreads(); |
| |
| /** |
| * 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 |
| */ |
| public int getMaximumCompactorThreads(); |
| |
| /** |
| * 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 |
| */ |
| public int getCoreValidationThreads(); |
| |
| /** |
| * 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 |
| */ |
| public int getMaximumValidatorThreads(); |
| |
| /** |
| * Allows user to resize maximum size of the validator thread pool. |
| * @param number New maximum of validator threads |
| */ |
| public void setMaximumValidatorThreads(int number); |
| } |