You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by Srikanth Sundarrajan <sr...@hotmail.com> on 2014/12/23 02:39:48 UTC

[DISCUSS] Open up life cycle stage implementation within Falcon for extension

Hello Team,
     I had filed FALCON-965 to open up life cycle stage implementations and starting a discuss thread as per @Venkatesh's request.


                    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 extensibleDependency 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 configuration interfaces are adhered to.

            
Please share your comments on

1. Does it make sense to open up the life cycle implementations
2. If so, Does the proposal make sense as is or would you suggest any improvement or modification
3. Any alternate proposal to achieve the same if you agree with the ask

Regards
Srikanth Sundarrajan
 		 	   		  

RE: [DISCUSS] Open up life cycle stage implementation within Falcon for extension

Posted by Srikanth Sundarrajan <sr...@hotmail.com>.
Sorry the formatting on the earlier mail is completely messed up. Re-posting it here for convenience. You can also see it nicely formatted on FALCON-965

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.

Regards
Srikanth Sundarrajan

> From: sriksun@hotmail.com
> To: dev@falcon.incubator.apache.org
> Subject: [DISCUSS] Open up life cycle stage implementation within Falcon for extension
> Date: Tue, 23 Dec 2014 07:09:48 +0530
> 
> Hello Team,
>      I had filed FALCON-965 to open up life cycle stage implementations and starting a discuss thread as per @Venkatesh's request.
> 
> 
>                     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 extensibleDependency 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 configuration interfaces are adhered to.
> 
>             
> Please share your comments on
> 
> 1. Does it make sense to open up the life cycle implementations
> 2. If so, Does the proposal make sense as is or would you suggest any improvement or modification
> 3. Any alternate proposal to achieve the same if you agree with the ask
> 
> Regards
> Srikanth Sundarrajan
>