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

Reply via email to