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