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

Joshua McKenzie commented on CASSANDRA-8901:
--------------------------------------------

Looking good - the framework is solid and obvious and anything that cleanly 
refactors code out of StorageService has my support. :)

Some comments:
- Seems like we should have a separate callback for 
JMXConnectionNofitication.CLOSED and .FAILED rather than having both go to 
handleConnectionError.
- Since we no no longer have a case where we use TraceState.trace(final 
ByteBuffer...) to dispatch to a notificationHandle, we should rename this 
method to "mutateWithTracing" or something to differentiate it from 
trace(String message)
- Should we add more detail on which repairs failed rather than just firing 
w/message "Some repair failed"?  We could capture the failed 
RepairSessionResult.range values and notify with errored token ranges to the 
listener (note: that may be redundant w/node's logs)
- Adding another method to combine a fireProgressEvent for ERROR then 
immediately for COMPLETE would tidy up some of the duplicated error-handling 
code in RepairRunnable.runMayThrow
- The naming of ProgressEvent.progressed seems off.  Consider renaming to 
"progressCount", change "getProgressed" to "getProgressCount"?
- remove unnecessary/unclear comment in 
[RepairRunnable.java|https://github.com/yukim/cassandra/blob/8901/src/java/org/apache/cassandra/repair/RepairRunnable.java#L107].
 progress vs. totalProgress in that context seems pretty clear to me.

nits:
- Remove unused imports in StorageService

I agree that there's opportunity for more generalization but I suggest we wait 
until we have another one or two users of the interface to get a good feel for 
what natural commonalities present.

> Generalize progress reporting between tools and a server
> --------------------------------------------------------
>
>                 Key: CASSANDRA-8901
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8901
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Yuki Morishita
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 3.0
>
>
> Right now, {{nodetool repair}} uses its own method and JMX notification 
> message format to report progress of async operation call. As we are 
> expanding async call to other operations (CASSANDRA-7124), we should have 
> generalized way to report to clients.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to