[ 
https://issues.apache.org/jira/browse/CASSANDRA-11683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15265040#comment-15265040
 ] 

ASF GitHub Bot commented on CASSANDRA-11683:
--------------------------------------------

Github user peoplehlj closed the pull request at:

    https://github.com/apache/cassandra/pull/68


> 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)

Reply via email to