falcon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Praveen Adlakha <praveen.adla...@inmobi.com>
Subject Re: [DISCUSS] Apache Falcon 1.0 release
Date Wed, 06 Apr 2016 08:20:54 GMT
Hi All,

I believe Approach 1 looks more cleaner and hassle free.

Thanks
Praveen

On Wed, Apr 6, 2016 at 12:13 AM, Ajay Yadava <ajayyadava@apache.org> wrote:

> Hello everyone,
>
> For quite some time we have been discussing to make a 1.0 release and have
> had several discussions in developer sync up around it. Taking this to next
> step, I propose next release line(after 0.10) of Apache Falcon to be 1.0
>
>
> *Item 1 - Scope and Timelines*
> Some of the items that are in works and I personally feel will be idle
> candidate for 1.0 are - clean up our APIs(add a new version), introduce a
> new shell for Falcon feed sla alerts, and move to the more powerful and
> capable lifecycle framework for feeds among few.
>
> After lot of thought and discussions with several members, I propose to not
> aim for too many big features and a timeline of 2.5-3 months after the 0.10
> release. This will ensure that critical fixes are not delayed and there is
> only one active working line for code. We can add more features if other
> community members are able to get them committed in time and our quality
> team also feels comfortable.
>
>
> *Item 2 - Migration Strategy*
> While some of the changes like REST API clean up etc. can be done by adding
> versioning others like migration to lifecycle framework etc. are bit more
> involved. One important decision to be made is how to migrate to 1.0
> release.
>
> Here are some of the options to migrate to new entity definitions in 1.0
> (NOTE: REST api can be versioned and same end points can continue to work
> albeit with newer definitions)
>
> *Approach 1*. Take a one time hit, call the release backward incompatible
> and provide changes inside falcon to automatically migrate to newer
> definitions on start up. We can support this migration code for a couple of
> releases and then later on remove it.
>
>  pros:
> - Clean and easy to code -  no if else etc. for supporting features in
> multiple manners.
> - Intuitive for users - multiple options for same purpose are confusing for
> the users.
> - Easier to maintain - All bug fixes need to be done only in one code flow
> and not at many places.
>
> cons:
> - involves migration - it can be automated by incorporating the migration
> as part of falcon startup.
>
>
> *Approach 2*. Support both old and new entity definitions.
> pros
> - users can work with both versions and migrate at their own pace
>
> cons
> - Hard to maintain - Lot of code will need to be duplicated (validations
> etc.) or branched (wf builders etc.) All bug fixes will need to be fixed in
> multiple places.
> - Not scalable approach - The code will not scale easily if we decide to
> support one more version.
> - Manual migration - Users will have to migrate themselves to the new
> entity definitions.
> - Gotchas - What will happen if someone submits in newer version but calls
> update in older version?
>
>
> I invite all of you to provide your thoughts on both the items. There might
> be more approaches or points to consider, suggestions are welcome.
>
>
> Cheers
> Ajay Yadava
>

-- 
_____________________________________________________________
The information contained in this communication is intended solely for the 
use of the individual or entity to whom it is addressed and others 
authorized to receive it. It may contain confidential or legally privileged 
information. If you are not the intended recipient you are hereby notified 
that any disclosure, copying, distribution or taking any action in reliance 
on the contents of this information is strictly prohibited and may be 
unlawful. If you have received this communication in error, please notify 
us immediately by responding to this email and then delete it from your 
system. The firm is neither liable for the proper and complete transmission 
of the information contained in this communication nor for any delay in its 
receipt.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message