You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Lijun Huang (JIRA)" <ji...@apache.org> on 2016/04/29 11:06:12 UTC
[jira] [Created] (CASSANDRA-11683) Code refactor for
StorageServiceMBean.forceRepair* methods
Lijun Huang created CASSANDRA-11683:
---------------------------------------
Summary: Code refactor for StorageServiceMBean.forceRepair* methods
Key: CASSANDRA-11683
URL: https://issues.apache.org/jira/browse/CASSANDRA-11683
Project: Cassandra
Issue Type: Bug
Reporter: Lijun Huang
Priority: Trivial
Fix For: 2.1.x
For the class StorageServiceMBean, it has below methods,
{code:title=org/apache/cassandra/service/StorageServiceMBean.java|borderStyle=solid}
public int forceRepairAsync(String keyspace, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean repairedAt, String... columnFamilies) throws IOException;
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean repairedAt, String... columnFamilies) throws IOException;
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, boolean isLocal, boolean repairedAt, String... columnFamilies);
{code}
But in the implementation, the arguments are different from this MBean, please notice the last second argument, from *repairedAt* to *fullRepair*, and actually *fullRepair* is more clear for this API.
{code:title=org/apache/cassandra/service/StorageService.java|borderStyle=solid}
public int forceRepairAsync(String keyspace, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies) throws IOException{}
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies) throws IOException{}
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies) throws IOException{}
{code}
This will make developers confused, for example I met an issue that we didn't want to do a "full" repair but from the MBean I didn't know how to pass the argument.
I will send out a patch soon, and please help to merge it if we want to fix this issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)