[ 
https://issues.apache.org/jira/browse/HADOOP-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12642850#action_12642850
 ] 

Vivek Ratan commented on HADOOP-4522:
-------------------------------------

There seem to be a number of ways to to this. External applications may need to 
interact with the Schedulers in a generic way. Re-reading of the config file is 
the only use case for now, but it's not unlikely that there will be other 
similar needs. It's also likely that different Schedulers will expose different 
functionality. The ability to re-read configuration, for example, is only 
applicable to the Capacity Scheduler for now. 
# We can extend the JT RPC interface to allow JT clients to invoke 
functionality on the Schedulers. Modifying the JT RPC interface each time to 
support new Scheduler functionality is not good, so we can perhaps have a 
single generic method that contains an action parameter and other optional 
parameters. We're basically letting clients invoke functionality on the 
Schedulers through the JT. 
# Ideally, clients should talk to Schedulers directly. Perhaps the Schedulers 
can optionally expose their own RPC interface for their own clients. More work 
to set this up, but it does let each Scheduler interface evolve on its own. 
# Since we don't have other use cases yet, maybe we just add a 
_RereadSchedulerConfig()_ method to the JT's RPC interface for now. 

I instinctively prefer the second option: letting Schedulers decide how they 
want external clients to communicate with them (through RPC or some other 
mechanism). This is good long-term too, since Schedulers may eventually move 
out of the JT to  run as a separate process. But, since a Scheduler is 
currently part of the JobTracker application,  this will cause the latter to 
support more than one RPC interface and may not be very clean. 

> Capacity Scheduler needs to re-read its configuration
> -----------------------------------------------------
>
>                 Key: HADOOP-4522
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4522
>             Project: Hadoop Core
>          Issue Type: New Feature
>            Reporter: Vivek Ratan
>
> An external application (an Ops script, or some CLI-based tool) can change 
> the configuration of the Capacity Scheduler (change the capacities of various 
> queues, for example) by updating its config file. This application then needs 
> to tell the Capacity Scheduler that its config has changed, which causes the 
> Scheduler to re-read its configuration. It's possible that the Capacity 
> Scheduler may need to interact with external applications in other similar 
> ways. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to