[
https://issues.apache.org/jira/browse/HADOOP-3628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Loughran updated HADOOP-3628:
-----------------------------------
Attachment: hadoop-3628.patch
this updated patch is cleaner to subclass; I've been adapting what I had in
terms of SmartFrog support to deal with the new service base class.
innerInit, innerStart and innerTerminate methods for services to implement to
do their work, protected methods that will only get called if a state change is
actually required (i.e. thread safe state checking before entering/invoking).
-a method onStateChange(ServiceState oldState, ServiceState newState) that is
invoked when a state change occurs, for subclasses to monitor/log. the base
class just logs the event at the info level.
There is no taskTracker support in there, that one is trickier. All the hadoop
tests appear to work; the SF tests are failing with in-process namenode not
shutting down , which I believe is a problem in my codebase, not this patch.
> Add a lifecycle interface for Hadoop components: namenodes, job clients, etc.
> -----------------------------------------------------------------------------
>
> Key: HADOOP-3628
> URL: https://issues.apache.org/jira/browse/HADOOP-3628
> Project: Hadoop Core
> Issue Type: Improvement
> Components: dfs, mapred
> Affects Versions: 0.19.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Attachments: AbstractHadoopComponent.java, hadoop-3628.patch,
> hadoop-3628.patch, hadoop-3628.patch
>
>
> I'd like to propose we have a standard interface for hadoop components, the
> things that get started or stopped when you bring up a namenode. currently,
> some of these classes have a stop() or shutdown() method, with no standard
> name/interface, but no way of seeing if they are live, checking their health
> of shutting them down reliably. Indeed, there is a tendency for the spawned
> threads to not want to die; to require the entire process to be killed to
> stop the workers.
> Having a standard interface would make it easier for
> * management tools to manage the different things
> * monitoring the state of things
> * subclassing
> The latter is interesting as right now TaskTracker and JobTracker start up
> threads in their constructor; that's very dangerous as subclasses may have
> their methods called before they are full initialised. Adding this interface
> would be the right time to clean up the startup process so that subclassing
> is less risky.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.