[ 
https://issues.apache.org/jira/browse/FLUME-966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Juhani Connolly updated FLUME-966:
----------------------------------

    Attachment: FLUME-966.patch

Rough implementation of lifecycle management framework for discussion.

Seems like review board is down, I'll post it up there later.

Some notes. A lot of this is just personal preference and open to change. One 
can note looking at the new sink runner that using the guava service api 
simplifies things a fair bit

- generally simplifying most stuff
- no central thread pool. Processes are expected to last a long time,
so recycling of threads is not a target
- dropping the current state/desired state model to move to the guava
model of new/starting/running/stopping/terminated.
 - Supervising something will start it, and unsupervising it will stop it
- terminating a supervisor will terminate associated service
- a supervisor will create a new service using a supplier every time
the old one fails. The supplier is responsible for providing a
freshly configured service with no state.
- the component interface is just Service + NamedComponent. I would
expect Sink/Source runners to extend AbstractExecutionThreadService,
while "passive" components like channels would extend
AbstractIdleService. I'll add some base classes later along with
rudimentary tests
- a reconfiguration would probably involve unsupervising
everything(sources->sinks->channels), than configuring an item at a
time. 
                
> Migrate lifecycle management to Guava service implemetation
> -----------------------------------------------------------
>
>                 Key: FLUME-966
>                 URL: https://issues.apache.org/jira/browse/FLUME-966
>             Project: Flume
>          Issue Type: Task
>    Affects Versions: v1.0.0
>            Reporter: Arvind Prabhakar
>            Assignee: Juhani Connolly
>         Attachments: FLUME-966-0.patch, FLUME-966.patch
>
>
> Currently flume uses a home grown lifecycle management mechanism. In order to 
> simplify the code, we want to migrate the current implementation to use Guava 
> libraries' service management implementation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to