[
https://issues.apache.org/jira/browse/CASSANDRA-7124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14209724#comment-14209724
]
Yuki Morishita commented on CASSANDRA-7124:
-------------------------------------------
I would make new async JMX interface that return unique value (int) for each
invocation to StorageService/MBean so that the caller can track what it called.
Returning future(s) from CompactionManager is fine and preferrable. Just make
sure to unmarkCompacting or other clean ups after future(s) completed.
Repair uses a lot of guava's
[ListenableFuture|https://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained]
to easily hook listeners after multiple Futures completion. Take a look at the
code in RepairJob for example.
> Use JMX Notifications to Indicate Success/Failure of Long-Running Operations
> ----------------------------------------------------------------------------
>
> Key: CASSANDRA-7124
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7124
> Project: Cassandra
> Issue Type: Improvement
> Components: Tools
> Reporter: Tyler Hobbs
> Assignee: Rajanarayanan Thottuvaikkatumana
> Priority: Minor
> Labels: lhf
> Fix For: 3.0
>
> Attachments: cassandra-trunk-temp-7124.txt
>
>
> If {{nodetool cleanup}} or some other long-running operation takes too long
> to complete, you'll see an error like the one in CASSANDRA-2126, so you can't
> tell if the operation completed successfully or not. CASSANDRA-4767 fixed
> this for repairs with JMX notifications. We should do something similar for
> nodetool cleanup, compact, decommission, move, relocate, etc.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)