[
https://issues.apache.org/jira/browse/CASSANDRA-7124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14208817#comment-14208817
]
Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-7124:
-------------------------------------------------------------
[~yukim], Thanks for the quick response. Let me tackle the issues one step at a
time. Regarding the changes of your suggestion "Make
CompactionManager#parallelAllSSTableOperation asynchronous by returning
Future", here are my comments/observations:
1) In the parallelAllSSTableOperation method, there are more than one Future
object and it is stored in an ArrayList. Then the executor.submit callable is
added to the list of Futures. The for each of the Future object, it calls the
get method and here is the waiting happens till the job completion (the
blocking happens here). For making it asynchronous, we should get rid of the
iteration of the Future objects and the call to get. Is that the right
understanding
2) Since we are dealing with a list of Future objects, we should be returning
the List of Future objects. Right?
3) There is a "markAllCompacting()" call before starting the method and there
is an "unmarkCompacting(compactingSSTables)" at the end. Since we are making it
asynchronous, how do we deal with the marking/unmark business?
4) In the beginning, we are checking whether the "compactingSSTables" are empty
or null. Since we are returning Future objects, in these cases is it OK to
return null in this case when "compactingSSTables" are empty or null?
Thanks a lot in advance.
> 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)