cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lijun Huang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-11683) Code refactor for StorageServiceMBean.forceRepair* methods
Date Fri, 29 Apr 2016 09:06:12 GMT
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)

Mime
View raw message