falcon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ajay Yadava (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FALCON-965) Open up life cycle stage implementation within Falcon for extension
Date Tue, 08 Dec 2015 20:52:11 GMT

    [ https://issues.apache.org/jira/browse/FALCON-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15047440#comment-15047440

Ajay Yadava commented on FALCON-965:


Lifecycle is a completely backward compatible change. It is optional in the xsds and users
can transparently move to lifecycle. It provides several benefits in terms of configurability
and extensibility. A very small example is that earlier users were not able to configure the
queue, priority or the frequency of retention, but now they can.

We had couple of community sync ups on lifecycle design and changes and hence I got lazy and
didn't follow the final implementation along with a more thorough documentation. I will write
all the details and share it. 

> Open up life cycle stage implementation within Falcon for extension
> -------------------------------------------------------------------
>                 Key: FALCON-965
>                 URL: https://issues.apache.org/jira/browse/FALCON-965
>             Project: Falcon
>          Issue Type: New Feature
>    Affects Versions: 0.7
>            Reporter: Srikanth Sundarrajan
>            Assignee: Ajay Yadava
>              Labels: recipes
>             Fix For: 0.8
>         Attachments: FALCON-965-v1.patch, FALCON-965-v2.patch, FALCON-965-v3.patch, FALCON-965-v4.patch,
FALCON-965.patch, FalconLifecycle-Designdoc.pdf, coord-lc.txt, xsd.patch
> As it stands Falcon supports replication, generation and eviction lifecycle stages and
plans to support more. This however assumes a certain way of implementing a life cycle function
and changes to these implementation aren't easy, as they are not open for easy extension.
This proposed feature is open this up in Falcon.
> Here is a proposal on how things can possibly be:
> * List of life cycles that Falcon supports would be well known and not extensible
> * Dependency between life cycles are coded up in the falcon server and not necessarily
extensible. (In short adding a new life cycle still requires changes in Falcon)
> * Each Lifecycle in falcon advertises an implementation interface and minimum configuration
interface (for ex. Eviction should expose a way to retrieve the configured time limit for
which data will be available for other life cycle stages to validate. There is no point in
having a process consume last 24 instances of a feed, when the retention will retain only
4 instances)
> * Similar to FALCON-634, life cycle implementation can be dropped in as long as the implementation
interface and configuraion interfaces are adhered to.

This message was sent by Atlassian JIRA

View raw message