scylla-jmx/src/main/java/org/apache/cassandra/db/compaction/CompactionManagerMBean.java
Calle Wilund 9c3ac3e547 scylla-jmx: Update JMX interfaces to origin 3.11
Almost 100% null implementations, which is ok for most purposes
currently used by scylla. Some of these new calls (like dropped
mutations etc) should perhaps however be implemented.

Tested with the nodetool dtests. So sparsely.

Needed when/if scylla-tools-java is upgraded to origin 3.11,
otherwise noodtool breaks.

Message-Id: <20180730113741.14952-1-calle@scylladb.com>
2018-07-30 15:47:43 +03:00

129 lines
4.2 KiB
Java

/*
* 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 filename to compact
*/
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.
*/
default public void forceUserDefinedCleanup(String dataFiles) {
throw new UnsupportedOperationException();
}
/**
* 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);
}