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
                                          

Reply via email to