Thanks Bobby.

Just a FYI to all I'm on vacation until Tuesday, but would be happy to 
review/help out then.

-Taylor

> On Nov 20, 2015, at 5:13 PM, Bobby Evans <[email protected]> wrote:
> 
> I just finished updating the wiki with a rough outline of a what I see as a 
> plan.  It is mostly covered by two large tables, one covering clojure 
> migration, and the other covering feature porting from Jstorm to storm. 
> 
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61328109
> 
> Any feedback is welcome.  I hope to start filing some JIRAs for this work 
> over the weekend or on Monday.  I will make sure to take everything with 
> something that should let us all see and track our progress. - Bobby 
> 
> 
>    On Friday, November 20, 2015 10:35 AM, Bobby Evans 
> <[email protected]> wrote:
> 
> 
> Longda,
> Thanks for the clarification.  I think you stated things very well.  I am 
> 100% behind you on the merger part and my team is very close to being ready 
> to work on the merge 100% as well.  The important points for me is that we do 
> it in the open, following the storm bylaws, that we never break the storm 
> build, and that we move quickly.  This gives us the ability to constantly 
> test and verify that we are not breaking compatibility, not regressing 
> performance, and that we don't disrupt the community too much for too long.  
> I don't care about the order that we do things or the ultimate language that 
> we end up using.  If you have already started on some of this work that is 
> great, but please file JIRAs for what you are currently doing so we are all 
> aware of it, and don't end up with duplicated efforts.  Hopefully soon we 
> will do the 1.0 branch and we can start reviewing/merging the code changes 
> you have been working on for the migration.
> 
> - Bobby 
> 
> 
>     On Friday, November 20, 2015 9:57 AM, Harsha <[email protected]> wrote:
> 
> 
> Hi All,
>           If possible can we have bi-weekly or monthly video hangouts to
>           discuss the plan. I think it will make it easier to discuss
>           the next steps. We can post the details of the discussion on
>           the mailing list so that everyone is involved in whats going .
> 
> Thanks,
> Harsha
>> On Fri, Nov 20, 2015, at 01:03 AM, Longda Feng wrote:
>> 
>> @Sean, Thanks for clarify.
>> @Taylor, @Bobby, @Sean, @Jungtaek, @Harsha, @dev,
>> Sorry for leading to misunderstanding.
>> The biggest point:We would like to merge two community into one
>> community, One community is stronger than two single communities. My team
>> hopes that Alibaba can directly use the Apache Storm version  in the next
>> few years. My team don't need to maintain JStorm any more, this is the
>> reason why Alibaba donated JStorm. 
>> Second point:Sean's point is right. The migration is not just "copy". It
>> should be "merge". I means that the module will not simply as the JStorm
>> module. It should be the result of our disccussion. I think the final
>> solution after merging can make Storm better. 
>> Third point:In fact, I don't scare other streaming process, especially
>> for Heron. I have work on Storm for 4 years, I am a deep fans of Storm. I
>> know what can Storm do and what storm cannot do . But I want to express
>> we need accelerate our evolve speed. This field is so active. We should
>> start to learn other framework's advantage as soon as possible.
>> Especally, we need more application level programming framework like
>> Trident. This wil attract more users to Storm.
>> Fourth point:We don't need to do everything from scratch, we can use
>> JStorm as much as possible. JStorm is here, why not use.
>> Last point:My team is already full time on this merge, we will try our
>> best to do contribution, make Storm better. 
>> 
>> ThanksLongda
>> 
>> ------------------------------------------------------------------From:Sean
>> Zhong <[email protected]>Send Time:2015年11月20日(星期五) 11:58To:dev
>> <[email protected]>Subject:Re: [DISCUSS] Storm 2.0 plan
>> Hi All,
>> 
>> I think there are may be some misproper use of words or misunderstanding.
>> 
>> Here is what I can see both agrees these goals:
>> 1. We want to migrate clojure to java
>> 2. We want to merge important features together.
>> 3. We want to do this in a step by step, transparent, reviewable way,
>> especially with close examination and reviews for code that has
>> architecture change.
>> 4. We want the final version to remain compatibility.
>> 
>> The only difference is the process we use to achieve these goals.
>> Longda's view:
>> 1. do a parallel migration from clojure core to java part by part.
>> parallel
>> means equivalent, no new features added in this step. He suggest to
>> follow
>> the order "modules/client/utils/nimbus/supervisor/drpc/worker & task/
>> web ui/others"
>> He use word "copy", which is mis-proper in my idea. It is more like a
>> merging.
>> quote on his words.
>> 
>>>   2.1 Copy modules from JStorm, one module from one module
>> 
>> 2.2 The sequence is extern modules/client/utils/nimbus/
>>>  supervisor/drpc/worker & task/web ui/others
>> 
>> 2. upon the java core code base, incremental add new feature blocks.
>> quote on his words.
>> 
>>>  3.1 Discuss solution for each difference(jira)
>>>  3.2 Once the solution is finalized, we can start the
>>>  merging. (Some issues could be start concurrently. It
>>>  depends on the discussion.)
>> 
>> 3.  His goal is to remain compatibility. "this version is stable and
>> compatible with API of Storm 1.0." is not accurate statement from my
>> point,
>> at least not for the security feature.
>> 4. He share his concern on other streaming engines.
>> 
>> 
>> Bobby and Jungtaek 's view:
>> 1. "Copy" is not acceptable, it will impact the security features. (Copy
>> is
>> a wrong phase to use, I think Longda means more a merging)
>> 2. With JStorm team, we start with clojure -> java translation first,
>> 3. By optimistic view, with JStorm team, one month should be enough for
>> above stage.
>> 3. Adding new features after whole code is migrated to java.
>> 4. No need to that worry about other engines.
>> 
>> If my understanding of both parties are correct. I think we agree on most
>> of things about the process.
>> first: clojure -> java
>> second: merge features.
>> 
>> With a slight difference about how aggressive we want to do "clojure ->
>> java", and how long it takes.
>> 
>> 
>> @Longda, can you clarify whether my understanding of your opinion is
>> right?
>> 
>> 
>> Sean
>> 
>> 
>> On Fri, Nov 20, 2015 at 11:40 AM, P. Taylor Goetz <[email protected]>
>> wrote:
>> 
>>>  Very well stated Juntaek.
>>> 
>>>  I should also point out that there's nothing stopping the JStorm team from
>>>  releasing new versions of JStorm, or adding new features. But you would
>>>  have to be careful to note that any such release is "JStorm" and not
>>>  "Apache Storm." And any such release cannot be hosted on Apache
>>>  infrastructure.
>>> 
>>>  We also shouldn't be too worried about competition with other stream
>>>  processing frameworks. Competition is healthy and leads to improvements
>>>  across the board. Spark Streaming borrowed ideas from Storm for its Kafka
>>>  integration. It also borrowed memory management ideas from Flink. I don't
>>>  see that as a problem. This is open source. We can, and should, do the same
>>>  where applicable.
>>> 
>>>  Did we learn anything from the Heron paper? Nothing we didn't already
>>>  know. And a lot of the points have been addressed. We dealt security first,
>>>  which is more important for adoption, especially in the enterprise. Now
>>>  we've addressed many performance, scaling, and usability issues. Most of
>>>  the production deployments I've seen are nowhere near the magnitude of what
>>>  twitter requires. But I've seen many deployments that  only exist because
>>>  we offer security. I doubt heron has that.
>>> 
>>>  We've also seen an uptick in community and developer involvement, which
>>>  means a likely increase in committers, which likely means a faster
>>>  turnaround for patch reviews, which means a tighter release cycle for new
>>>  features, which means we will be moving faster. This is healthy for an
>>>  Apache project.
>>> 
>>>  And the inclusion of the JStorm team will only make that more so.
>>> 
>>>  I feel we are headed in the right direction, and there are good things to
>>>  come.
>>> 
>>>  -Taylor
>>> 
>>> 
>>>  > On Nov 19, 2015, at 6:38 PM, 임정택 <[email protected]> wrote:
>>>  >
>>>  > Sorry Longda, but I can't help telling that I also disagree about
>>>  changing codebase.
>>>  >
>>>  > Feature matrix shows us how far Apache Storm and JStorm are diverged,
>>>  just in point of feature's view. We can't be safe to change although
>>>  feature matrixes are identical, because feature matrix doesn't contain the
>>>  details.
>>>  >
>>>  > I mean, users could be scared when expected behaviors are not in place
>>>  although they're small. User experience is the one of the most important
>>>  part of the project, and if UX changes are huge, barrier for upgrading
>>>  their Storm cluster to 2.0 is not far easier than migrating to Heron. It
>>>  should be the worst scenario I can imagine after merging.
>>>  >
>>>  > The safest way to merge is applying JStorm's great features to Apache
>>>  Storm.
>>>  > I think porting language of Apache Storm to Java is not tightly related
>>>  to merge JStorm. I agree that merging becomes a trigger, but Apache Storm
>>>  itself can port to other languages like Java, Scala, or something else
>>>  which are more popular than Clojure.
>>>  >
>>>  > And I'm also not scary about Flink, Heron, Spark, etc.
>>>  > It doesn't mean other projects are not greater then Storm. Just I'm
>>>  saying each projects have their own strength.
>>>  > For example, all conferences are saying about Spark, and as one of users
>>>  of Spark, Spark is really great. If you are a little bit familiar with
>>>  Scala, you can just apply Scala-like functional methods to RDD. Really easy
>>>  to use.
>>>  > But it doesn't mean that Spark can replace Storm in all kind of use
>>>  cases. Recently I've seen some articles that why Storm is more preferred in
>>>  realtime streaming processing.
>>>  >
>>>  > Competition should give us a positive motivation. I hope that our
>>>  roadmap isn't focused to defeat competitors, but is focused to present
>>>  great features, better performance, and better UX to Storm community. It's
>>>  not commercial product, it's open source project!
>>>  >
>>>  > tl;dr. Please don't change codebase unless we plan to release a brand
>>>  new project. It breaks UX completely which could make users leave.
>>>  >
>>>  > I'm also open to other opinions as well.
>>>  >
>>>  > Best,
>>>  > Jungtaek Lim (HeartSaVioR)
>>>  >
>>>  >
>>>  > 2015-11-20 0:00 GMT+09:00 Bobby Evans <[email protected]>:
>>>  >> I disagree completely.  You claim that JStorm is compatible with storm
>>>  1.0.  I don't believe that it is 100% compatible.  There has been more then
>>>  2 years of software development happening on both sides.  Security was not
>>>  done in a day, and porting it over to JStorm is not going to happen
>>>  quickly, and because of the major architectural changes between storm and
>>>  JStorm I believe we would have to make some serious enhancements to fully
>>>  support a secure TopologyMaster, but I need to look into it more.  The blob
>>>  store is another piece of code that has taken a very long time to develop.
>>>  There are numberous others.  The big features are not the ones that make me
>>>  nervous because we can plan for them, it is the hundreds of small JIRA and
>>>  features that will result in minor incompatibilities.  If we start with
>>>  storm itself, and follow the same process that we have been doing up until
>>>  now, if there is a reason to stop the port add in an important feature and
>>>  do a release, we can.  We will know that we have compatibility vs starting
>>>  with JStorm we know from the start that we do not without adding feature X,
>>>  Y, Z, ....
>>>  >>
>>>  >> I personally am not scared of Flink, Heron, Spark, Apex, IBM Streams,
>>>  etc...  We just did some major performance enhancements that will be
>>>  released with STORM 1.0.  We now have up to 6x the throughput that we had
>>>  before with minimal changes to the latency (20 ms vs 5 ms).  We have
>>>  automatic back-pressure so if someone was running with acking enabled just
>>>  for flow control they can now process close to 16x the throughput they
>>>  could before with the same hardware.  This puts our throughput very much on
>>>  par with flink and Spark, but with a much lower latency compared to either
>>>  of them.  Plus from what I have heard Flink is still calling the streaming
>>>  API beta, and their storm API compatibility is very rudimentary.  They are
>>>  also going to have more and more problems maintaining compatibility as we
>>>  add in new features and functionality.
>>>  >>
>>>  >> Spark only really works well when it is running with several seconds of
>>>  latency. Not every one needs sub-second processing, but when your platform
>>>  is completely unable to handle it, locks you out of a lot of use cases.
>>>  Their throughput is decent and can scale very high when you are willing to
>>>  tolerate similarly very high latencies.
>>>  >> Who knows about Heron until they actually release their code, but it is
>>>  missing lots of critical features, and the one they touted, better
>>>  performance, is a moot point with storm 1.0.  The only thing we really are
>>>  lacking is advertising, we don't have a big company really pushing storm
>>>  and getting it in the news all the time (Sorry Hortonworks, but I really
>>>  have not seen much about it in the news).  I am trying to do more, but
>>>  there is only so much I can do.
>>>  >> Longda I very much agree with you about moving quickly to make the
>>>  transition, but I do not believe in any way that starting with JStorm is
>>>  going to reduce that transition time.
>>>  >> My proposal is to give everyone about 2 weeks to finish merging new
>>>  features into Storm 1.0.  On Dec 1st we create a storm-1.x branch and call
>>>  for a release.  At the same time development work to port storm to java
>>>  begins.  You said it took 4 developers 1 year to port storm to java the
>>>  first time for JStorm.  We have 14+ active developers and over one hundred
>>>  contributors not including those from the JStorm community.  If numbers
>>>  scale linearly, I know they don't completely, we should be able to do a
>>>  complete port with no JStorm reference in around 100 days.  With a copy and
>>>  paste for a lot of this from the JStorm codebase, I would expect to be able
>>>  to do it in 1 month of development, possibly less if the JStorm community
>>>  can really help out too.  So by January we should be ready to begin pulling
>>>  in features from JStorm that make since.  Looking at the feature matrix in
>>>  https://github.com/apache/storm/pull/877 there are a few potentially big
>>>  improvements that we would want to pull in, but they require architectural
>>>  changes in some cases that I don't want to just do lightly.  I would
>>>  propose that one the code has been ported to java we reopen for all new
>>>  features in parallel with the JStorm feature migration, but I am open to
>>>  others opinions as well.
>>>  >>  - Bobby
>>>  >>
>>>  >>
>>>  >>     On Thursday, November 19, 2015 12:14 AM, Longda Feng <
>>>  [email protected]> wrote:
>>>  >>
>>>  >>
>>>  >>  Sorry for changing the Subject.
>>>  >>
>>>  >> I am +1 for releasing Storm 2.0 with java core, which is merged with
>>>  JStorm.
>>>  >>
>>>  >> I think the change of this release will be the biggest one in history.
>>>  It will probably take a long time to develop. At the same time, Heron is
>>>  going to open source, and the latest release of Flink provides the
>>>  compatibility to Storm’s API. These might be the threat to Storm. So I
>>>  suggest we start the development of Storm 2.0 as quickly as possible. In
>>>  order to accelerate the development cycle, I proposed to take JStorm 2.1.0
>>>  core and UI as the base version since this version is stable and compatible
>>>  with API of Storm 1.0. Please refer to the phases below for the detailed
>>>  merging plan.
>>>  >>
>>>  >> Note: We provide a demo of JStorm’s web UI. Please refer to
>>>  storm.taobao.org . I think JStorm will give a totally different view to
>>>  you.
>>>  >>
>>>  >> I would like to share the experience of initial development of JStorm
>>>  (Migrate from clojure core to java core).
>>>  >> Our team(4 developers) have spent almost one year to finish the
>>>  migration. We took 4 months to release the first JStorm version, and 6
>>>  months to make JStorm stable. During this period, we tried to switch more
>>>  than online 100 applications with different scenarios from Storm to JStorm,
>>>  and many bugs were fixed. Then more and more applications were switched to
>>>  JStorm in Alibaba.
>>>  >> Currently, there are 7000+ nodes of JStorm clusters in Alibaba and
>>>  2000+ applications are running on them. The JStorm Clusters here can handle
>>>  1.5 PB/2 Trillion messages per day. The use cases are not only in BigData
>>>  field but also in many other online scenarios.
>>>  >> Besides it, we have experienced the November 11th Shopping Festival of
>>>  Alibaba for last three years. At that day, the computation in our cluster
>>>  increased several times than usual. All applications worked well during the
>>>  peak time. I can say the stability of JStorm is no doubt today. Actually,
>>>  besides Alibaba, the most powerful Chinese IT company are also using 
>>> JStorm.
>>>  >>
>>>  >>
>>>  >> Phase 1:
>>>  >>
>>>  >> Define the target of Storm 2.0. List the requirement of Storm 2.0
>>>  >> 1. Open a new Umbrella Jira (
>>>  https://issues.apache.org/jira/browse/STORM-717)
>>>  >> 2. Create one 2.0 branch,
>>>  >> 2.1 Copy modules from JStorm, one module from one module
>>>  >> 2.2 The sequence is extern
>>>  modules/client/utils/nimbus/supervisor/drpc/worker & task/web ui/others
>>>  >> 3. Create jira for all differences between JStorm 2.1.0 and Storm 1.0
>>>  >> 3.1 Discuss solution for each difference(jira)
>>>  >> 3.2 Once the solution is finalized, we can start the merging. (Some
>>>  issues could be start concurrently. It depends on the discussion.)
>>>  >>
>>>  >> The phase mainly try to define target and finalize the solution.
>>>  Hopefully this phase could be finished in 2 month(before 2016/1/31). .
>>>  >>
>>>  >>
>>>  >> Phase 2:
>>>  >> Release Storm 2.0 beta
>>>  >> 1. Based on phrase 1's discussion, finish all features of Storm 2.0
>>>  >> 2. Integrate all modules, make the simplest storm example can run on
>>>  the system.
>>>  >> 3. Test with all example and modules in Storm code base.
>>>  >> 4. All daily test can be passed.
>>>  >>
>>>  >> Hopefully this phase could be finished in 2 month(before 2016/3/31)
>>>  >>
>>>  >>
>>>  >> Phase 3:
>>>  >> Persuade some user to have a try.
>>>  >> Alibaba will try to run some online applications on the beta version
>>>  >>
>>>  >> Hopefully this phase could be finished in 1 month(before 2016/4/31).
>>>  >>
>>>  >>
>>>  >> Any comments are welcome.
>>>  >>
>>>  >>
>>>  >> Thanks
>>>  >>
>>>  
>>> Longda------------------------------------------------------------------From:P.
>>>  Taylor Goetz <[email protected]>Send Time:2015年11月19日(星期四) 06:23To:dev <
>>>  [email protected]>,Bobby Evans <[email protected]>Subject:Re:
>>>  [DISCUSS] Plan for Merging JStorm Code
>>>  >> All I have at this point is a placeholder wiki entry [1], and a lot of
>>>  local notes that likely would only make sense to me.
>>>  >>
>>>  >> Let me know your wiki username and I’ll give you permissions. The same
>>>  goes for anyone else who wants to help.
>>>  >>
>>>  >> -Taylor
>>>  >>
>>>  >> [1]
>>>  https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61328109
>>>  >>
>>>  >> > On Nov 18, 2015, at 2:08 PM, Bobby Evans <[email protected]>
>>>  wrote:
>>>  >> >
>>>  >> > Taylor and others I was hoping to get started filing JIRA and
>>>  planning on how we are going to do the java migration + JStorm merger.  Is
>>>  anyone else starting to do this?  If not would anyone object to me starting
>>>  on it? - Bobby
>>>  >> >
>>>  >> >
>>>  >> >    On Thursday, November 12, 2015 12:04 PM, P. Taylor Goetz <
>>>  [email protected]> wrote:
>>>  >> >
>>>  >> >
>>>  >> > Thanks for putting this together Basti, that comparison helps a lot.
>>>  >> >
>>>  >> > And thanks Bobby for converting it into markdown. I was going to just
>>>  attach the spreadsheet to JIRA, but markdown is a much better solution.
>>>  >> >
>>>  >> > -Taylor
>>>  >> >
>>>  >> >> On Nov 12, 2015, at 12:03 PM, Bobby Evans
>>>  <[email protected]> wrote:
>>>  >> >>
>>>  >> >> I translated the excel spreadsheet into a markdown file and put up a
>>>  pull request for it.
>>>  >> >> https://github.com/apache/storm/pull/877
>>>  >> >> I did a few edits to it to make it work with Markdown, and to add in
>>>  a few of my own comments.  I also put in a field for JIRAs to be able to
>>>  track the migration.
>>>  >> >> Overall I think your evaluation was very good.  We have a fair
>>>  amount of work ahead of us to decide what version of various features we
>>>  want to go forward with.
>>>  >> >>   - Bobby
>>>  >> >>
>>>  >> >>
>>>  >> >>     On Thursday, November 12, 2015 9:37 AM, 刘键(Basti Liu) <
>>>  [email protected]> wrote:
>>>  >> >>
>>>  >> >>
>>>  >> >> Hi Bobby & Jungtaek,
>>>  >> >>
>>>  >> >> Thanks for your replay.
>>>  >> >> I totally agree that compatibility is the most important thing.
>>>  Actually, JStorm has been compatible with the user API of Storm.
>>>  >> >> As you mentioned below, we indeed still have some features different
>>>  between Storm and JStorm. I have tried to list them (minor update or
>>>  improvements are not included).
>>>  >> >> Please refer to attachment for details. If any missing, please help
>>>  to point out. (The current working features are probably missing here.)
>>>  >> >> Just have a look at these differences. For the missing features in
>>>  JStorm, I did not see any obstacle which will block the merge to JStorm.
>>>  >> >> For the features which has different solution between Storm and
>>>  JStorm, we can evaluate the solution one by one to decision which one is
>>>  appropriate.
>>>  >> >> After the finalization of evaluation, I think JStorm team can take
>>>  the merging job and publish a stable release in 2 months.
>>>  >> >> But anyway, the detailed implementation for these features with
>>>  different solution is transparent to user. So, from user's point of view,
>>>  there is not any compatibility problem.
>>>  >> >>
>>>  >> >> Besides compatibility, by our experience, stability is also
>>>  important and is not an easy job. 4 people in JStorm team took almost one
>>>  year to finish the porting from "clojure core"
>>>  >> >> to "java core", and to make it stable. Of course, we have many devs
>>>  in community to make the porting job faster. But it still needs a long time
>>>  to run many online complex topologys to find bugs and fix them. So, that is
>>>  the reason why I proposed to do merging and build on a stable "java core".
>>>  >> >>
>>>  >> >> -----Original Message-----
>>>  >> >> From: Bobby Evans [mailto:[email protected]]
>>>  >> >> Sent: Wednesday, November 11, 2015 10:51 PM
>>>  >> >> To: [email protected]
>>>  >> >> Subject: Re: [DISCUSS] Plan for Merging JStorm Code
>>>  >> >>
>>>  >> >> +1 for doing a 1.0 release based off of the clojure 0.11.x code.
>>>  Migrating the APIs to org.apache.storm is a big non-backwards compatible
>>>  move, and a major version bump to 2.x seems like a good move there.
>>>  >> >> +1 for the release plan
>>>  >> >>
>>>  >> >> I would like the move for user facing APIs to org.apache to be one
>>>  of the last things we do.  Translating clojure code into java and moving it
>>>  to org.apache I am not too concerned about.
>>>  >> >>
>>>  >> >> Basti,
>>>  >> >> We have two code bases that have diverged significantly from one
>>>  another in terms of functionality.  The storm code now or soon will have A
>>>  Heartbeat Server, Nimbus HA (Different Implementation), Resource Aware
>>>  Scheduling, a distributed cache like API, log searching, security, massive
>>>  performance improvements, shaded almost all of our dependencies, a REST API
>>>  for programtically accessing everything on the UI, and I am sure I am
>>>  missing a few other things.  JStorm also has many changes including cgroup
>>>  isolation, restructured zookeeper layout, classpath isolation, and more 
>>> too.
>>>  >> >> No matter what we do it will be a large effort to port changes from
>>>  one code base to another, and from clojure to java.  I proposed this
>>>  initially because it can be broken up into incremental changes.  It may
>>>  take a little longer, but we will always have a working codebase that is
>>>  testable and compatible with the current storm release, at least until we
>>>  move the user facing APIs to be under org.apache.  This lets the community
>>>  continue to build and test the master branch and report problems that they
>>>  find, which is incredibly valuable.  I personally don't think it will be
>>>  much easier, especially if we are intent on always maintaining
>>>  compatibility with storm. - Bobby
>>>  >> >>
>>>  >> >>
>>>  >> >>     On Wednesday, November 11, 2015 5:42 AM, 刘键(Basti Liu) <
>>>  [email protected]> wrote:
>>>  >> >>
>>>  >> >>
>>>  >> >> Hi Taylor,
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Thanks for the merge plan. I have a question about “Phase 2.2”.
>>>  >> >>
>>>  >> >> Do you mean community plan to create a fresh new “java core” based
>>>  on current “clojure core” firstly, and then migrate the features from
>>>  JStorm?
>>>  >> >>
>>>  >> >> If so, it confused me.  It is really a huge job which might require
>>>  a long developing time to make it stable, while JStorm is already a stable
>>>  version.
>>>  >> >>
>>>  >> >> The release planned to be release after Nov 11th has already run
>>>  online stably several month in Alibaba.
>>>  >> >>
>>>  >> >> Besides this, there are many valuable internal requirements in
>>>  Alibaba, the fast evolution of JStorm is forseeable in next few months.
>>>  >> >>
>>>  >> >> If the “java core” is totally fresh new, it might bring many
>>>  problems for the coming merge.
>>>  >> >>
>>>  >> >> So, from the point of this view,  I think it is much better and
>>>  easier to migrate the features of “clojure core” basing on JStorm for the
>>>  “java core”.
>>>  >> >>
>>>  >> >> Please correct me, if any misunderstanding.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Regards
>>>  >> >>
>>>  >> >> Basti
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> 发件人: P. Taylor Goetz [mailto:[email protected]]
>>>  >> >> 发送时间: 2015年11月11日 5:32
>>>  >> >> 收件人: [email protected]
>>>  >> >> 主题: [DISCUSS] Plan for Merging JStorm Code
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Based on a number of discussions regarding merging the JStorm code,
>>>  I’ve tried to distill the ideas presented and inserted some of my own. The
>>>  result is below.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> I’ve divided the plan into three phases, though they are not
>>>  necessarily sequential — obviously some tasks can take place in parallel.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> None of this is set in stone, just presented for discussion. Any and
>>>  all comments are welcome.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> -------
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Phase 1 - Plan for 0.11.x Release
>>>  >> >>
>>>  >> >> 1. Determine feature set for 0.11.x and publish to wiki [1].
>>>  >> >>
>>>  >> >> 2. Announce feature-freeze for 0.11.x
>>>  >> >>
>>>  >> >> 3. Create 0.11.x branch from master (Phase 2.4 can begin.)
>>>  >> >>
>>>  >> >> 4. Release 0.11.0 (or whatever version # we want to use)
>>>  >> >>
>>>  >> >> 5. Bug fixes and subsequent releases from 0.11.x-branch
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Phase 2 - Prepare for Merge ("master" and "jstorm-import" branches)
>>>  >> >>
>>>  >> >> 1. Determine/document unique features in JStorm (e.g. classpath
>>>  isolation, cgroups, etc.) and create JIRA for migrating the feature.
>>>  >> >>
>>>  >> >> 2. Create JIRA for migrating each clojure component (or logical
>>>  group of components) to Java. Assumes tests will be ported as well.
>>>  >> >>
>>>  >> >> 3. Discuss/establish style guide for Java coding conventions.
>>>  Consider using Oracle’s or Google’s Java conventions as a base — they are
>>>  both pretty solid.
>>>  >> >>
>>>  >> >> 4. align package names (e.g backtype.storm --> org.apache.storm /
>>>  com.alibaba.jstorm --> org.apache.storm) (Phase 3 can begin)
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Phase 3 - Migrate Clojure --> Java
>>>  >> >>
>>>  >> >> 1. Port code/tests to Java, leveraging existing JStorm code wherever
>>>  possible (core functionality only, features distinct to JStorm migrated
>>>  separately).
>>>  >> >>
>>>  >> >> 2. Port JStorm-specific features.
>>>  >> >>
>>>  >> >> 3. Begin releasing preview/beta versions.
>>>  >> >>
>>>  >> >> 4. Code cleanup (across the board) and refactoring using established
>>>  coding conventions, and leveraging PMD/Checkstyle reports for reference.
>>>  (Note: good oportunity for new contributors.)
>>>  >> >>
>>>  >> >> 5. Release 0.12.0 (or whatever version # we want to use) and lift
>>>  feature freeze.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Notes:
>>>  >> >>
>>>  >> >> We should consider bumping up to version 1.0 sometime soon and then
>>>  switching to semantic versioning [3] from then on.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> With the exception of package name alignment, the "jstorm-import"
>>>  branch will largely be read-only throughout the process.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> During migration, it's probably easiest to operate with two local
>>>  clones of the Apache Storm repo: one for working (i.e. checked out to
>>>  working branch) and one for reference/copying (i.e. checked out to
>>>  "jstorm-import").
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Feature-freeze probably only needs to be enforced against core
>>>  functionality. Components under "external" can likely be exempt, but we
>>>  should figure out a process for accepting and releasing new features during
>>>  the migration.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> Performance testing should be continuous throughout the process.
>>>  Since we don't really have ASF infrastructure for performance testing, we
>>>  will need a volunteer(s) to host and run the performance tests. Performance
>>>  test results can be posted to the wiki [2]. It would probably be a good
>>>  idea to establish a baseline with the 0.10.0 release.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> I’ve attached an analysis document Sean Zhong put together a while
>>>  back to the JStorm merge JIRA [4]. The analysis was against the 0.9.3
>>>  release but is still relevant and has a lot of good information.
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> [1]
>>>  
>>> https://cwiki.apache.org/confluence/display/STORM/Release+0.11.0+Feature+Set
>>>  >> >>
>>>  >> >> [2] https://cwiki.apache.org/confluence/display/STORM/Storm+Home
>>>  >> >>
>>>  >> >> [3] http://semver.org
>>>  >> >>
>>>  >> >> [4] https://issues.apache.org/jira/browse/STORM-717
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >> -Taylor
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >>
>>>  >> >
>>>  >> >
>>>  >
>>>  >
>>>  >
>>>  > --
>>>  > Name : 임 정택
>>>  > Blog : http://www.heartsavior.net / http://dev.heartsavior.net
>>>  > Twitter : http://twitter.com/heartsavior
>>>  > LinkedIn : http://www.linkedin.com/in/heartsavior
>>> 
>> 
> 
> 
> 

Reply via email to