I'm looking through a couple of the KIP threads today and had the same
issue; and thought it would be useful to do a status round-up of KIPs.
We could incorporate status in the title itself (so we can quickly see
it in the child-page list) but I just added a table to the top-level
wiki. Hopefully that captures the current state accurately so I know
which threads to follow-up on.

Thanks,

Joel

On Fri, Feb 06, 2015 at 12:47:46PM -0800, Jay Kreps wrote:
> A problem I am having is actually understanding which KIPs are intended to
> be complete proposals and which are works in progress. Joe you seem to have
> a bunch of these. Can you move them elsewhere until they are really fully
> done and ready for review and discussion?
> 
> -Jay
> 
> On Fri, Feb 6, 2015 at 12:09 PM, Jay Kreps <jay.kr...@gmail.com> wrote:
> 
> > I think we are focused on making committing new changes easier, but what
> > we have seen is actually that isn't the bulk of the work (especially with
> > this kind of "public interface" change where it generally has a big user
> > impact). I think we actually really need the core committers and any other
> > interested parties to stop and fully read each KIP and think about it. If
> > we don't have time to do that we usually just end up spending a lot more
> > time after the fact trying to rework things latter when it is a lot harder.
> > So I really think we should have every active committer read, comment, and
> > vote on each KIP. I think this may require a little bit of work to
> > co-ordinate/bug people but will end up being worth it because each person
> > on the project will have a holistic picture of what is going on.
> >
> > -Jay
> >
> > On Thu, Feb 5, 2015 at 11:24 PM, Joel Koshy <jjkosh...@gmail.com> wrote:
> >
> >> Just wanted to add a few more comments on this: KIPs were suggested as
> >> a process to help reach early consensus on a major change or not so
> >> major (but tricky or backward incompatible) change in order to reduce
> >> the likelihood of multiple iterations and complete rewrites during
> >> code reviews (which is time-intensive for both the contributor and
> >> reviewers); as well as to reduce the likelihood of surprises (say, if
> >> a patch inadvertently changes a public API).  So KIPs are intended to
> >> speed up development since a clear path is charted out and there is
> >> prior consensus on whether a feature and its design/implementation
> >> make sense or not.
> >>
> >> Obviously this breaks down if KIPs are not being actively discussed -
> >> again I think we can do much better here. I think we ended up with a
> >> backlog because as soon as the KIP wiki was started, a number of
> >> pre-existing jiras and discussions were moved there - all within a few
> >> days. Now that there are quite a few outstanding KIPs I think we just
> >> need to methodically work through those - preferably a couple at a
> >> time. I looked through the list and I think we should be able to
> >> resolve all of them relatively quickly if everyone is on board with
> >> this.
> >>
> >> > > Its probably more helpful for contributors if its "lazy" as in "no
> >> > > strong objections" .
> >>
> >> Gwen also suggested this and this also sounds ok to me as I wrote
> >> earlier - what do others think? This is important especially if
> >> majority in the community think if this less restrictive policy would
> >> spur and not hinder development - I'm not sure that it does. I
> >> completely agree that KIPs fail to a large degree as far as the
> >> original motivation goes if they require a lazy majority but the
> >> DISCUSS threads are stalled. IOW regardless of that discussion, I
> >> think we should rejuvenate some of those threads especially now that
> >> 0.8.2 is out of the way.
> >>
> >> Thanks,
> >>
> >> Joel
> >>
> >> On Thu, Feb 05, 2015 at 08:56:13PM -0800, Joel Koshy wrote:
> >> > I'm just thinking aloud - I don't know what a good number would be, and
> >> it
> >> > is just one possibility to streamline how KIPs are processed. It largely
> >> > depends on how complex the proposals are. What would be concerning is if
> >> > there are 10 different threads all dealing with large KIPs and no one
> >> has
> >> > the time to give due diligence to each one and all those threads grind
> >> to a
> >> > halt due to confusion, incomplete context and misunderstandings.
> >> >
> >> > On Thursday, February 5, 2015, Harsha <ka...@harsha.io> wrote:
> >> >
> >> > > Joel,
> >> > >        Having only 2 or 3 KIPS under active discussion is concerning.
> >> > >        This will slow down development process as well.
> >> > > Having a turn-around time for a KIP is a good idea but what will
> >> happen
> >> > > if it didn't received required votes within that time frame.
> >> > > Its probably more helpful for contributors if its "lazy" as in "no
> >> > > strong objections" .
> >> > > Just to make sure this is only for KIPs not for regular bug fixes
> >> right?
> >> > > Thanks,
> >> > > Harsha
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > On Thu, Feb 5, 2015, at 05:59 PM, Jiangjie Qin wrote:
> >> > > > Iąm having an impression that KIP is mostly for new features but
> >> not for
> >> > > > bug fixes. But I agree with Joel that it might make sense to have
> >> some
> >> > > > big
> >> > > > patches, even if they are bug fixes, to follow the KIP like process
> >> which
> >> > > > is more strict.
> >> > > >
> >> > > > Jiangjie (Becket) Qin
> >> > > >
> >> > > > On 2/5/15, 4:57 PM, "Gwen Shapira" <gshap...@cloudera.com
> >> <javascript:;>>
> >> > > wrote:
> >> > > >
> >> > > > >>
> >> > > > >>
> >> > > > >> Yes there are KIPs that are currently blocked on feedback/votes,
> >> but I
> >> > > > >> don't think it is an issue of not caring to comment vs having so
> >> many
> >> > > > >> KIPs and other code reviews in flight that people are just
> >> swamped.
> >> > > > >>
> >> > > > >>
> >> > > > >This is exactly my concern.
> >> > > > >Even now important patches and features have very long development
> >> and
> >> > > > >review cycles due to Kafka's small and very busy committer
> >> community. I
> >> > > > >feel that this change takes things in the wrong direction
> >> > > > >
> >> > > > >
> >> > > > >> Joel
> >> > > > >>
> >> > > > >> On Thu, Feb 05, 2015 at 04:19:54PM -0800, Gwen Shapira wrote:
> >> > > > >> > Isn't requiring 3 binding votes a bit overly strict here? We
> >> are
> >> > > > >>talking
> >> > > > >> > about patches which in can be fixed, reverted, etc. Not
> >> releases,
> >> > > > >>which
> >> > > > >> > have legal implications.
> >> > > > >> >
> >> > > > >> > Why not go with usual definition: "lazy" = "No strong
> >> objections for
> >> > > > >>few
> >> > > > >> > days"?
> >> > > > >> > This means contributors will not be blocked on issues where no
> >> one
> >> > > > >>cares
> >> > > > >> to
> >> > > > >> > comment (and we had few of those).
> >> > > > >> >
> >> > > > >> > Gwen
> >> > > > >> >
> >> > > > >> >
> >> > > > >> >
> >> > > > >> > On Thu, Feb 5, 2015 at 4:14 PM, Joel Koshy <
> >> jjkosh...@gmail.com
> >> > > <javascript:;>>
> >> > > > >>wrote:
> >> > > > >> >
> >> > > > >> > > Sorry about this - I actually meant to suggest lazy consensus
> >> > > (which
> >> > > > >> > > is a stronger requirement): "3 binding +1 votes and no
> >> binding
> >> > > > >> > > vetoes."
> >> > > > >> > >
> >> > > > >> > > I have updated the wiki to lazy consensus - but can change
> >> it back
> >> > > > >>if
> >> > > > >> > > there is a reasonable objection.
> >> > > > >> > >
> >> > > > >> > > On Thu, Feb 05, 2015 at 06:17:44PM -0500, Joe Stein wrote:
> >> > > > >> > > > +1
> >> > > > >> > > >
> >> > > > >> > > > On Thu, Feb 5, 2015 at 6:16 PM, Neha Narkhede <
> >> > > n...@confluent.io <javascript:;>>
> >> > > > >> wrote:
> >> > > > >> > > >
> >> > > > >> > > > > Sounds good.
> >> > > > >> > > > >
> >> > > > >> > > > > On Thu, Feb 5, 2015 at 2:35 PM, Jay Kreps <
> >> > > jay.kr...@gmail.com <javascript:;>>
> >> > > > >> wrote:
> >> > > > >> > > > >
> >> > > > >> > > > > > None on my part.
> >> > > > >> > > > > >
> >> > > > >> > > > > > -Jay
> >> > > > >> > > > > >
> >> > > > >> > > > > > On Thu, Feb 5, 2015 at 11:50 AM, Joel Koshy
> >> > > > >><jjkosh...@gmail.com <javascript:;>
> >> > > > >> >
> >> > > > >> > > wrote:
> >> > > > >> > > > > >
> >> > > > >> > > > > > > One amendment I would like to bring up for
> >> consideration
> >> > > wrt
> >> > > > >> the
> >> > > > >> > > KIP
> >> > > > >> > > > > > > process (before we formally include it in our
> >> by-laws) is
> >> > > to
> >> > > > >> not
> >> > > > >> > > > > > > restrict the votes to be a lazy majority of the PMC,
> >> and
> >> > > to
> >> > > > >> instead
> >> > > > >> > > > > > > make it a lazy majority of committers.
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > Our current requirement for code changes per our
> >> by-laws
> >> > > > >>are +1
> >> > > > >> > > from a
> >> > > > >> > > > > > > committer (who is not the contributor) followed by
> >> lazy
> >> > > > >> approval. I
> >> > > > >> > > > > > > think a lazy majority vote for more significant code
> >> > > changes
> >> > > > >> > > (i.e., a
> >> > > > >> > > > > > > KIP) should be sufficient.
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > Any objection to this?
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > On Sun, Jan 18, 2015 at 10:31:08AM -0800, Jay Kreps
> >> wrote:
> >> > > > >> > > > > > > > Great! Sounds like everyone is on the same page
> >> > > > >> > > > > > > >
> >> > > > >> > > > > > > >    - I created a template page to make things
> >> easier. If
> >> > > > >>you
> >> > > > >> do
> >> > > > >> > > > > > > Tools->Copy
> >> > > > >> > > > > > > >    on this page you can just fill in the italic
> >> portions
> >> > > > >>with
> >> > > > >> > > your
> >> > > > >> > > > > > > details.
> >> > > > >> > > > > > > >    - I retrofitted KIP-1 to match this formatting
> >> > > > >> > > > > > > >    - I added the metadata section people asked for
> >> (a
> >> > > link
> >> > > > >> to the
> >> > > > >> > > > > > > >    discussion, the JIRA, and the current status).
> >> Let's
> >> > > > >>make
> >> > > > >> > > sure we
> >> > > > >> > > > > > > remember
> >> > > > >> > > > > > > >    to update the current status as things are
> >> figured
> >> > > out.
> >> > > > >> > > > > > > >    - Let's keep the discussion on the mailing list
> >> > > rather
> >> > > > >> than
> >> > > > >> > > on the
> >> > > > >> > > > > > > wiki
> >> > > > >> > > > > > > >    pages. It makes sense to do one or the other so
> >> all
> >> > > the
> >> > > > >> > > comments
> >> > > > >> > > > > are
> >> > > > >> > > > > > > in one
> >> > > > >> > > > > > > >    place and I think prior experience is that the
> >> wiki
> >> > > > >> comments
> >> > > > >> > > are
> >> > > > >> > > > > the
> >> > > > >> > > > > > > worse
> >> > > > >> > > > > > > >    way.
> >> > > > >> > > > > > > >
> >> > > > >> > > > > > > > I think it would be great do KIPs for some of the
> >> > > > >>in-flight
> >> > > > >> items
> >> > > > >> > > > > folks
> >> > > > >> > > > > > > > mentioned.
> >> > > > >> > > > > > > >
> >> > > > >> > > > > > > > -Jay
> >> > > > >> > > > > > > >
> >> > > > >> > > > > > > > On Sat, Jan 17, 2015 at 8:23 AM, Gwen Shapira <
> >> > > > >> > > gshap...@cloudera.com <javascript:;>
> >> > > > >> > > > > >
> >> > > > >> > > > > > > wrote:
> >> > > > >> > > > > > > >
> >> > > > >> > > > > > > > > +1
> >> > > > >> > > > > > > > >
> >> > > > >> > > > > > > > > Will be happy to provide a KIP for the
> >> > > > >>multiple-listeners
> >> > > > >> > > patch.
> >> > > > >> > > > > > > > >
> >> > > > >> > > > > > > > > Gwen
> >> > > > >> > > > > > > > >
> >> > > > >> > > > > > > > > On Sat, Jan 17, 2015 at 8:10 AM, Joe Stein <
> >> > > > >> > > joe.st...@stealth.ly <javascript:;>>
> >> > > > >> > > > > > > wrote:
> >> > > > >> > > > > > > > > > +1 to everything we have been saying and where
> >> this
> >> > > > >>(has
> >> > > > >> > > settled
> >> > > > >> > > > > > > to)/(is
> >> > > > >> > > > > > > > > > settling to).
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > > I am sure other folks have some more feedback
> >> and
> >> > > > >>think
> >> > > > >> we
> >> > > > >> > > should
> >> > > > >> > > > > > > try to
> >> > > > >> > > > > > > > > > keep this discussion going if need be. I am
> >> also a
> >> > > > >>firm
> >> > > > >> > > believer
> >> > > > >> > > > > of
> >> > > > >> > > > > > > form
> >> > > > >> > > > > > > > > > following function so kicking the tires some to
> >> > > flesh
> >> > > > >> out the
> >> > > > >> > > > > > > details of
> >> > > > >> > > > > > > > > > this and have some organic growth with the
> >> process
> >> > > > >>will
> >> > > > >> be
> >> > > > >> > > > > healthy
> >> > > > >> > > > > > > and
> >> > > > >> > > > > > > > > > beneficial to the community.
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > > For my part, what I will do is open a few KIP
> >> based
> >> > > on
> >> > > > >> some
> >> > > > >> > > of
> >> > > > >> > > > > the
> >> > > > >> > > > > > > work I
> >> > > > >> > > > > > > > > > have been involved with for 0.8.3. Off the top
> >> of my
> >> > > > >>head
> >> > > > >> > > this
> >> > > > >> > > > > > would
> >> > > > >> > > > > > > > > > include 1) changes to re-assignment of
> >> partitions 2)
> >> > > > >> kafka
> >> > > > >> > > cli 3)
> >> > > > >> > > > > > > global
> >> > > > >> > > > > > > > > > configs 4) security white list black list by
> >> ip 5)
> >> > > SSL
> >> > > > >> 6) We
> >> > > > >> > > > > > probably
> >> > > > >> > > > > > > > > will
> >> > > > >> > > > > > > > > > have lots of Security related KIPs and should
> >> treat
> >> > > > >>them
> >> > > > >> all
> >> > > > >> > > > > > > individually
> >> > > > >> > > > > > > > > > when the time is appropriate 7) Kafka on Mesos.
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > > If someone else wants to jump in to start
> >> getting
> >> > > some
> >> > > > >> of the
> >> > > > >> > > > > > > security
> >> > > > >> > > > > > > > > KIP
> >> > > > >> > > > > > > > > > that we are going to have in 0.8.3 I think that
> >> > > would
> >> > > > >>be
> >> > > > >> > > great
> >> > > > >> > > > > > (e.g.
> >> > > > >> > > > > > > > > > Multiple Listeners for Kafka Brokers). There
> >> are
> >> > > also
> >> > > > >>a
> >> > > > >> few
> >> > > > >> > > other
> >> > > > >> > > > > > > > > tickets I
> >> > > > >> > > > > > > > > > can think of that are important to have in the
> >> code
> >> > > in
> >> > > > >> 0.8.3
> >> > > > >> > > that
> >> > > > >> > > > > > > should
> >> > > > >> > > > > > > > > > have KIP also that I haven't really been
> >> involved
> >> > > in.
> >> > > > >>I
> >> > > > >> will
> >> > > > >> > > > > take a
> >> > > > >> > > > > > > few
> >> > > > >> > > > > > > > > > minutes and go through JIRA (one I can think
> >> of like
> >> > > > >>auto
> >> > > > >> > > assign
> >> > > > >> > > > > id
> >> > > > >> > > > > > > that
> >> > > > >> > > > > > > > > is
> >> > > > >> > > > > > > > > > already committed I think) and ask for a KIP if
> >> > > > >> appropriate
> >> > > > >> > > or
> >> > > > >> > > > > if I
> >> > > > >> > > > > > > feel
> >> > > > >> > > > > > > > > > that I can write it up (both from a time and
> >> > > > >> understanding
> >> > > > >> > > > > > > perspective)
> >> > > > >> > > > > > > > > do
> >> > > > >> > > > > > > > > > so.
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > > long story short, I encourage folks to start
> >> moving
> >> > > > >>ahead
> >> > > > >> > > with
> >> > > > >> > > > > the
> >> > > > >> > > > > > > KIP
> >> > > > >> > > > > > > > > for
> >> > > > >> > > > > > > > > > 0.8.3 as how we operate. any objections?
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > > On Fri, Jan 16, 2015 at 2:40 PM, Guozhang Wang
> >> <
> >> > > > >> > > > > wangg...@gmail.com <javascript:;>
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > > > wrote:
> >> > > > >> > > > > > > > > >
> >> > > > >> > > > > > > > > >> +1 on the idea, and we could mutually link
> >> the KIP
> >> > > > >>wiki
> >> > > > >> page
> >> > > > >> > > > > with
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > the
> >> > > > >> > > > > > > > > >> created JIRA ticket (i.e. include the JIRA
> >> number
> >> > > on
> >> > > > >>the
> >> > > > >> > > page
> >> > > > >> > > > > and
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > KIP
> >> > > > >> > > > > > > > > >> url on the ticket description).
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >> Regarding the KIP process, probably we do not
> >> need
> >> > > > >>two
> >> > > > >> phase
> >> > > > >> > > > > > > > > communication
> >> > > > >> > > > > > > > > >> of a [DISCUSS] followed by [VOTE], as Jay
> >> said the
> >> > > > >> voting
> >> > > > >> > > should
> >> > > > >> > > > > > be
> >> > > > >> > > > > > > > > clear
> >> > > > >> > > > > > > > > >> while people discuss about that.
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >> About who should trigger the process, I think
> >> the
> >> > > > >>only
> >> > > > >> > > involved
> >> > > > >> > > > > > > people
> >> > > > >> > > > > > > > > >> would be 1) when the patch is submitted / or
> >> even
> >> > > the
> >> > > > >> > > ticket is
> >> > > > >> > > > > > > created,
> >> > > > >> > > > > > > > > >> the assignee could choose to start the KIP
> >> process
> >> > > if
> >> > > > >> she
> >> > > > >> > > > > thought
> >> > > > >> > > > > > > it is
> >> > > > >> > > > > > > > > >> necessary; 2) the reviewer of the patch can
> >> also
> >> > > > >>suggest
> >> > > > >> > > > > starting
> >> > > > >> > > > > > > KIP
> >> > > > >> > > > > > > > > >> discussions.
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >> On Fri, Jan 16, 2015 at 10:49 AM, Gwen
> >> Shapira <
> >> > > > >> > > > > > > gshap...@cloudera.com <javascript:;>>
> >> > > > >> > > > > > > > > >> wrote:
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >> > +1 to Ewen's suggestions: Deprecation,
> >> status and
> >> > > > >> version.
> >> > > > >> > > > > > > > > >> >
> >> > > > >> > > > > > > > > >> > Perhaps add the JIRA where the KIP was
> >> > > implemented
> >> > > > >>to
> >> > > > >> the
> >> > > > >> > > > > > > metadata.
> >> > > > >> > > > > > > > > >> > This will help tie things together.
> >> > > > >> > > > > > > > > >> >
> >> > > > >> > > > > > > > > >> > On Fri, Jan 16, 2015 at 9:35 AM, Ewen
> >> > > > >>Cheslack-Postava
> >> > > > >> > > > > > > > > >> > <e...@confluent.io <javascript:;>> wrote:
> >> > > > >> > > > > > > > > >> > > I think adding a section about deprecation
> >> > > would
> >> > > > >>be
> >> > > > >> > > > > helpful. A
> >> > > > >> > > > > > > good
> >> > > > >> > > > > > > > > >> > > fraction of the time I would expect the
> >> goal
> >> > > of a
> >> > > > >> KIP
> >> > > > >> > > is to
> >> > > > >> > > > > > fix
> >> > > > >> > > > > > > or
> >> > > > >> > > > > > > > > >> > replace
> >> > > > >> > > > > > > > > >> > > older functionality that needs continued
> >> > > support
> >> > > > >>for
> >> > > > >> > > > > > > compatibility,
> >> > > > >> > > > > > > > > but
> >> > > > >> > > > > > > > > >> > > should eventually be phased out. This
> >> helps
> >> > > Kafka
> >> > > > >> devs
> >> > > > >> > > > > > > understand
> >> > > > >> > > > > > > > > how
> >> > > > >> > > > > > > > > >> > long
> >> > > > >> > > > > > > > > >> > > they'll end up supporting multiple
> >> versions of
> >> > > > >> features
> >> > > > >> > > and
> >> > > > >> > > > > > > helps
> >> > > > >> > > > > > > > > users
> >> > > > >> > > > > > > > > >> > > understand when they're going to have to
> >> make
> >> > > > >> updates to
> >> > > > >> > > > > their
> >> > > > >> > > > > > > > > >> > applications.
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > > Less important but useful -- having a bit
> >> of
> >> > > > >> standard
> >> > > > >> > > > > metadata
> >> > > > >> > > > > > > like
> >> > > > >> > > > > > > > > >> PEPs
> >> > > > >> > > > > > > > > >> > > do. Two I think are important are status
> >> (if
> >> > > > >>someone
> >> > > > >> > > lands
> >> > > > >> > > > > on
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > KIP
> >> > > > >> > > > > > > > > >> > page,
> >> > > > >> > > > > > > > > >> > > can they tell whether this KIP was ever
> >> > > > >>completed?)
> >> > > > >> > > and/or
> >> > > > >> > > > > the
> >> > > > >> > > > > > > > > version
> >> > > > >> > > > > > > > > >> > the
> >> > > > >> > > > > > > > > >> > > KIP was first released in.
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > > On Fri, Jan 16, 2015 at 9:20 AM, Joel
> >> Koshy <
> >> > > > >> > > > > > > jjkosh...@gmail.com <javascript:;>>
> >> > > > >> > > > > > > > > >> wrote:
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > >> I'm definitely +1 on the KIP concept. As
> >> Joe
> >> > > > >> > > mentioned, we
> >> > > > >> > > > > > are
> >> > > > >> > > > > > > > > already
> >> > > > >> > > > > > > > > >> > >> doing this in one form or the other.
> >> However,
> >> > > > >>IMO
> >> > > > >> it is
> >> > > > >> > > > > > fairly
> >> > > > >> > > > > > > ad
> >> > > > >> > > > > > > > > hoc
> >> > > > >> > > > > > > > > >> > >> - i.e., a combination of DISCUSS
> >> threads, jira
> >> > > > >> > > comments, RB
> >> > > > >> > > > > > and
> >> > > > >> > > > > > > > > code
> >> > > > >> > > > > > > > > >> > >> comments, wikis and html documentation.
> >> In the
> >> > > > >> past I
> >> > > > >> > > have
> >> > > > >> > > > > > had
> >> > > > >> > > > > > > to
> >> > > > >> > > > > > > > > dig
> >> > > > >> > > > > > > > > >> > >> into a bunch of these to try and figure
> >> out
> >> > > why
> >> > > > >> > > something
> >> > > > >> > > > > was
> >> > > > >> > > > > > > > > >> > >> implemented a certain way. I think KIPs
> >> can
> >> > > > >>help a
> >> > > > >> lot
> >> > > > >> > > here
> >> > > > >> > > > > > > first
> >> > > > >> > > > > > > > > by
> >> > > > >> > > > > > > > > >> > >> providing guidelines on what to think
> >> about
> >> > > > >> > > (compatibility,
> >> > > > >> > > > > > new
> >> > > > >> > > > > > > > > APIs,
> >> > > > >> > > > > > > > > >> > >> etc.) when working through a major
> >> feature;
> >> > > and
> >> > > > >> second
> >> > > > >> > > by
> >> > > > >> > > > > > > becoming
> >> > > > >> > > > > > > > > a
> >> > > > >> > > > > > > > > >> > >> crisp source of truth documentation for
> >> new
> >> > > > >> releases.
> >> > > > >> > > > > E.g.,
> >> > > > >> > > > > > > for
> >> > > > >> > > > > > > > > >> > >> feature X: see relevant KIPs: a, b, c,
> >> etc.
> >> > > > >> > > > > > > > > >> > >>
> >> > > > >> > > > > > > > > >> > >> On Thu, Jan 15, 2015 at 08:11:20PM
> >> -0800, Jay
> >> > > > >>Kreps
> >> > > > >> > > wrote:
> >> > > > >> > > > > > > > > >> > >> > Hey Joe,
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > Yeah I guess the question is what is
> >> the
> >> > > > >> definition
> >> > > > >> > > of
> >> > > > >> > > > > > > major? I
> >> > > > >> > > > > > > > > >> agree
> >> > > > >> > > > > > > > > >> > we
> >> > > > >> > > > > > > > > >> > >> > definitely don't want to generate a
> >> bunch of
> >> > > > >> > > paperwork.
> >> > > > >> > > > > We
> >> > > > >> > > > > > > have
> >> > > > >> > > > > > > > > >> enough
> >> > > > >> > > > > > > > > >> > >> > problems just getting all the
> >> contributions
> >> > > > >> reviewed
> >> > > > >> > > and
> >> > > > >> > > > > > > checked
> >> > > > >> > > > > > > > > in
> >> > > > >> > > > > > > > > >> > in a
> >> > > > >> > > > > > > > > >> > >> > timely fashion...
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > So obviously bug fixes would not apply
> >> here.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > I think it is also pretty clear that
> >> big
> >> > > > >>features
> >> > > > >> > > should
> >> > > > >> > > > > > get
> >> > > > >> > > > > > > > > >> reviewed
> >> > > > >> > > > > > > > > >> > and
> >> > > > >> > > > > > > > > >> > >> > discussed. To pick on myself, for
> >> example,
> >> > > the
> >> > > > >> log
> >> > > > >> > > > > > compaction
> >> > > > >> > > > > > > > > work
> >> > > > >> > > > > > > > > >> was
> >> > > > >> > > > > > > > > >> > >> done
> >> > > > >> > > > > > > > > >> > >> > without enough public discussion about
> >> how
> >> > > it
> >> > > > >> worked
> >> > > > >> > > and
> >> > > > >> > > > > > why
> >> > > > >> > > > > > > > > >> (imho). I
> >> > > > >> > > > > > > > > >> > >> > hope/claim that enough rigour in
> >> thinking
> >> > > > >>about
> >> > > > >> > > use-cases
> >> > > > >> > > > > > and
> >> > > > >> > > > > > > > > >> > operations
> >> > > > >> > > > > > > > > >> > >> > and so on was done that it turned out
> >> well,
> >> > > > >>but
> >> > > > >> the
> >> > > > >> > > > > > > discussion
> >> > > > >> > > > > > > > > was
> >> > > > >> > > > > > > > > >> > just
> >> > > > >> > > > > > > > > >> > >> > between a few people with no real
> >> public
> >> > > > >>output.
> >> > > > >> This
> >> > > > >> > > > > kind
> >> > > > >> > > > > > of
> >> > > > >> > > > > > > > > >> feature
> >> > > > >> > > > > > > > > >> > is
> >> > > > >> > > > > > > > > >> > >> > clearly a big change and something we
> >> should
> >> > > > >> discuss.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > If we limit ourselves to just the
> >> public
> >> > > > >> contracts
> >> > > > >> > > the
> >> > > > >> > > > > KIP
> >> > > > >> > > > > > > > > >> introduces
> >> > > > >> > > > > > > > > >> > the
> >> > > > >> > > > > > > > > >> > >> > discussion would just be on the new
> >> configs
> >> > > > >>and
> >> > > > >> > > > > monitoring
> >> > > > >> > > > > > > > > without
> >> > > > >> > > > > > > > > >> > >> really a
> >> > > > >> > > > > > > > > >> > >> > discussion of the design and how it
> >> works
> >> > > > >>which
> >> > > > >> is
> >> > > > >> > > > > > obviously
> >> > > > >> > > > > > > > > closely
> >> > > > >> > > > > > > > > >> > >> > related.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > I don't think this should be more work
> >> > > > >>because in
> >> > > > >> > > > > practice
> >> > > > >> > > > > > > we are
> >> > > > >> > > > > > > > > >> > making
> >> > > > >> > > > > > > > > >> > >> > wiki pages for any big thing anyway.
> >> So this
> >> > > > >> would
> >> > > > >> > > just
> >> > > > >> > > > > be
> >> > > > >> > > > > > a
> >> > > > >> > > > > > > > > >> > consistent
> >> > > > >> > > > > > > > > >> > >> way
> >> > > > >> > > > > > > > > >> > >> > of numbering and structuring these
> >> pages.
> >> > > This
> >> > > > >> would
> >> > > > >> > > also
> >> > > > >> > > > > > > give a
> >> > > > >> > > > > > > > > >> clear
> >> > > > >> > > > > > > > > >> > >> call
> >> > > > >> > > > > > > > > >> > >> > to action: "hey kafka people, come
> >> read my
> >> > > > >>wiki
> >> > > > >> and
> >> > > > >> > > think
> >> > > > >> > > > > > > this
> >> > > > >> > > > > > > > > >> > through".
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > I actually thinking the voting aspect
> >> is
> >> > > less
> >> > > > >> > > important.
> >> > > > >> > > > > I
> >> > > > >> > > > > > > think
> >> > > > >> > > > > > > > > it
> >> > > > >> > > > > > > > > >> is
> >> > > > >> > > > > > > > > >> > >> > generally clear when there is
> >> agreement on
> >> > > > >> something
> >> > > > >> > > and
> >> > > > >> > > > > > > not. So
> >> > > > >> > > > > > > > > >> from
> >> > > > >> > > > > > > > > >> > my
> >> > > > >> > > > > > > > > >> > >> > point of view we could actually just
> >> > > eliminate
> >> > > > >> that
> >> > > > >> > > part
> >> > > > >> > > > > if
> >> > > > >> > > > > > > that
> >> > > > >> > > > > > > > > is
> >> > > > >> > > > > > > > > >> > too
> >> > > > >> > > > > > > > > >> > >> > formal, it just seemed like a good way
> >> to
> >> > > > >> formally
> >> > > > >> > > adopt
> >> > > > >> > > > > > > > > something.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > To address some of your comments from
> >> the
> >> > > > >>wiki:
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > 1. This doesn't inhibit someone coming
> >> along
> >> > > > >>and
> >> > > > >> > > putting
> >> > > > >> > > > > > up a
> >> > > > >> > > > > > > > > patch.
> >> > > > >> > > > > > > > > >> > It
> >> > > > >> > > > > > > > > >> > >> is
> >> > > > >> > > > > > > > > >> > >> > just that when they do if it is a big
> >> thing
> >> > > > >> > > introducing
> >> > > > >> > > > > new
> >> > > > >> > > > > > > > > >> > functionality
> >> > > > >> > > > > > > > > >> > >> > we would ask for a little discussion
> >> on the
> >> > > > >>basic
> >> > > > >> > > > > > > > > feature/contracts
> >> > > > >> > > > > > > > > >> > prior
> >> > > > >> > > > > > > > > >> > >> > to code review.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > 2. We definitely definitely don't want
> >> > > people
> >> > > > >> > > generating
> >> > > > >> > > > > a
> >> > > > >> > > > > > > lot of
> >> > > > >> > > > > > > > > >> > these
> >> > > > >> > > > > > > > > >> > >> > things every time they have an idea
> >> that
> >> > > they
> >> > > > >> aren't
> >> > > > >> > > > > going
> >> > > > >> > > > > > to
> >> > > > >> > > > > > > > > >> > implement.
> >> > > > >> > > > > > > > > >> > >> So
> >> > > > >> > > > > > > > > >> > >> > this is only applicable to things you
> >> > > > >>absolutely
> >> > > > >> will
> >> > > > >> > > > > check
> >> > > > >> > > > > > > in
> >> > > > >> > > > > > > > > code
> >> > > > >> > > > > > > > > >> > for.
> >> > > > >> > > > > > > > > >> > >> We
> >> > > > >> > > > > > > > > >> > >> > also don't want to be making proposals
> >> > > before
> >> > > > >> things
> >> > > > >> > > are
> >> > > > >> > > > > > > thought
> >> > > > >> > > > > > > > > >> > through,
> >> > > > >> > > > > > > > > >> > >> > which often requires writing the code.
> >> So I
> >> > > > >> think the
> >> > > > >> > > > > right
> >> > > > >> > > > > > > time
> >> > > > >> > > > > > > > > >> for a
> >> > > > >> > > > > > > > > >> > >> KIP
> >> > > > >> > > > > > > > > >> > >> > is when you are far enough along that
> >> you
> >> > > know
> >> > > > >> the
> >> > > > >> > > issues
> >> > > > >> > > > > > and
> >> > > > >> > > > > > > > > >> > tradeoffs
> >> > > > >> > > > > > > > > >> > >> but
> >> > > > >> > > > > > > > > >> > >> > not so far along that you are going to
> >> be
> >> > > > >>totally
> >> > > > >> > > opposed
> >> > > > >> > > > > > to
> >> > > > >> > > > > > > any
> >> > > > >> > > > > > > > > >> > change.
> >> > > > >> > > > > > > > > >> > >> > Sometimes that is prior to writing any
> >> code
> >> > > > >>and
> >> > > > >> > > sometimes
> >> > > > >> > > > > > not
> >> > > > >> > > > > > > > > until
> >> > > > >> > > > > > > > > >> > you
> >> > > > >> > > > > > > > > >> > >> are
> >> > > > >> > > > > > > > > >> > >> > practically done.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > The key problem I see this fixing is
> >> that
> >> > > > >>there
> >> > > > >> is
> >> > > > >> > > enough
> >> > > > >> > > > > > new
> >> > > > >> > > > > > > > > >> > development
> >> > > > >> > > > > > > > > >> > >> > happening that it is pretty hard for
> >> > > everyone
> >> > > > >>to
> >> > > > >> > > review
> >> > > > >> > > > > > every
> >> > > > >> > > > > > > > > line
> >> > > > >> > > > > > > > > >> of
> >> > > > >> > > > > > > > > >> > >> every
> >> > > > >> > > > > > > > > >> > >> > iteration of every patch. But all of us
> >> > > > >>should be
> >> > > > >> > > fully
> >> > > > >> > > > > > > aware of
> >> > > > >> > > > > > > > > new
> >> > > > >> > > > > > > > > >> > >> > features, the ramifications, the new
> >> public
> >> > > > >> > > interfaces,
> >> > > > >> > > > > > etc.
> >> > > > >> > > > > > > If
> >> > > > >> > > > > > > > > we
> >> > > > >> > > > > > > > > >> > aren't
> >> > > > >> > > > > > > > > >> > >> > aware of that we can't really build a
> >> > > holistic
> >> > > > >> system
> >> > > > >> > > > > that
> >> > > > >> > > > > > is
> >> > > > >> > > > > > > > > >> > beautiful
> >> > > > >> > > > > > > > > >> > >> and
> >> > > > >> > > > > > > > > >> > >> > consistent across. So the idea is that
> >> if
> >> > > you
> >> > > > >> fully
> >> > > > >> > > > > review
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > KIPs
> >> > > > >> > > > > > > > > >> > you
> >> > > > >> > > > > > > > > >> > >> can
> >> > > > >> > > > > > > > > >> > >> > be sure that even if you don't know
> >> every
> >> > > new
> >> > > > >> line of
> >> > > > >> > > > > code,
> >> > > > >> > > > > > > you
> >> > > > >> > > > > > > > > know
> >> > > > >> > > > > > > > > >> > the
> >> > > > >> > > > > > > > > >> > >> > major changes coming in.
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > -Jay
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > On Thu, Jan 15, 2015 at 12:18 PM, Joe
> >> Stein
> >> > > <
> >> > > > >> > > > > > > > > joe.st...@stealth.ly <javascript:;>>
> >> > > > >> > > > > > > > > >> > >> wrote:
> >> > > > >> > > > > > > > > >> > >> >
> >> > > > >> > > > > > > > > >> > >> > > Thanks Jay for kicking this off! I
> >> think
> >> > > the
> >> > > > >> > > confluence
> >> > > > >> > > > > > > page
> >> > > > >> > > > > > > > > you
> >> > > > >> > > > > > > > > >> > wrote
> >> > > > >> > > > > > > > > >> > >> up
> >> > > > >> > > > > > > > > >> > >> > > is a great start.
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > > The KIP makes sense to me (at a
> >> minimum)
> >> > > if
> >> > > > >> there
> >> > > > >> > > is
> >> > > > >> > > > > > going
> >> > > > >> > > > > > > to
> >> > > > >> > > > > > > > > be
> >> > > > >> > > > > > > > > >> any
> >> > > > >> > > > > > > > > >> > >> > > "breaking change". This way Kafka can
> >> > > > >>continue
> >> > > > >> to
> >> > > > >> > > grow
> >> > > > >> > > > > > and
> >> > > > >> > > > > > > > > blossom
> >> > > > >> > > > > > > > > >> > and
> >> > > > >> > > > > > > > > >> > >> we
> >> > > > >> > > > > > > > > >> > >> > > have a process in place if we are
> >> going to
> >> > > > >> release
> >> > > > >> > > a
> >> > > > >> > > > > > thorn
> >> > > > >> > > > > > > ...
> >> > > > >> > > > > > > > > and
> >> > > > >> > > > > > > > > >> > >> when we
> >> > > > >> > > > > > > > > >> > >> > > do it is *CLEAR* about what and why
> >> that
> >> > > is.
> >> > > > >> We can
> >> > > > >> > > > > > easily
> >> > > > >> > > > > > > > > >> document
> >> > > > >> > > > > > > > > >> > >> which
> >> > > > >> > > > > > > > > >> > >> > > KIPs where involved with this release
> >> > > > >>(which I
> >> > > > >> > > think
> >> > > > >> > > > > > > should get
> >> > > > >> > > > > > > > > >> > >> committed
> >> > > > >> > > > > > > > > >> > >> > > afterwards somewhere so no chance of
> >> edit
> >> > > > >>after
> >> > > > >> > > > > release).
> >> > > > >> > > > > > > This
> >> > > > >> > > > > > > > > >> > >> approach I
> >> > > > >> > > > > > > > > >> > >> > > had been thinking about also allows
> >> > > changes
> >> > > > >>to
> >> > > > >> > > occur as
> >> > > > >> > > > > > > they do
> >> > > > >> > > > > > > > > >> now
> >> > > > >> > > > > > > > > >> > as
> >> > > > >> > > > > > > > > >> > >> long
> >> > > > >> > > > > > > > > >> > >> > > as they are backwards compatible.
> >> > > > >>Hopefully we
> >> > > > >> > > never
> >> > > > >> > > > > > need
> >> > > > >> > > > > > > a
> >> > > > >> > > > > > > > > KIP
> >> > > > >> > > > > > > > > >> but
> >> > > > >> > > > > > > > > >> > >> when
> >> > > > >> > > > > > > > > >> > >> > > we do the PMC can vote on it and
> >> folks can
> >> > > > >> read the
> >> > > > >> > > > > > release
> >> > > > >> > > > > > > > > notes
> >> > > > >> > > > > > > > > >> > with
> >> > > > >> > > > > > > > > >> > >> > > *CLEAR* understanding what is going
> >> to
> >> > > break
> >> > > > >> their
> >> > > > >> > > > > > existing
> >> > > > >> > > > > > > > > >> > setup... at
> >> > > > >> > > > > > > > > >> > >> > > least that is how I have been
> >> thinking
> >> > > about
> >> > > > >> it.
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > > Let me know what you think about
> >> this base
> >> > > > >> minimum
> >> > > > >> > > > > > > approach...
> >> > > > >> > > > > > > > > I
> >> > > > >> > > > > > > > > >> > hadn't
> >> > > > >> > > > > > > > > >> > >> > > really thought of the KIP for *ANY*
> >> "major
> >> > > > >> change"
> >> > > > >> > > and
> >> > > > >> > > > > I
> >> > > > >> > > > > > > have
> >> > > > >> > > > > > > > > to
> >> > > > >> > > > > > > > > >> > think
> >> > > > >> > > > > > > > > >> > >> more
> >> > > > >> > > > > > > > > >> > >> > > about that. I have some other
> >> comments for
> >> > > > >> minor
> >> > > > >> > > items
> >> > > > >> > > > > in
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > >> > >> confluence
> >> > > > >> > > > > > > > > >> > >> > > page I will make once I think more
> >> about
> >> > > > >>how I
> >> > > > >> feel
> >> > > > >> > > > > > having
> >> > > > >> > > > > > > a
> >> > > > >> > > > > > > > > KIP
> >> > > > >> > > > > > > > > >> for
> >> > > > >> > > > > > > > > >> > >> more
> >> > > > >> > > > > > > > > >> > >> > > than what I was thinking about
> >> already.
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > > I do think we should have "major
> >> changes"
> >> > > go
> >> > > > >> > > through
> >> > > > >> > > > > > > > > confluence,
> >> > > > >> > > > > > > > > >> > >> mailing
> >> > > > >> > > > > > > > > >> > >> > > list discuss and JIRA but kind of
> >> feel we
> >> > > > >>have
> >> > > > >> been
> >> > > > >> > > > > doing
> >> > > > >> > > > > > > that
> >> > > > >> > > > > > > > > >> > already
> >> > > > >> > > > > > > > > >> > >> ...
> >> > > > >> > > > > > > > > >> > >> > > if there are cases where that isn't
> >> the
> >> > > > >>case we
> >> > > > >> > > should
> >> > > > >> > > > > > > > > highlight
> >> > > > >> > > > > > > > > >> and
> >> > > > >> > > > > > > > > >> > >> learn
> >> > > > >> > > > > > > > > >> > >> > > from them and formalize that more if
> >> need
> >> > > > >>be.
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > /*******************************************
> >> > > > >> > > > > > > > > >> > >> > >  Joe Stein
> >> > > > >> > > > > > > > > >> > >> > >  Founder, Principal Consultant
> >> > > > >> > > > > > > > > >> > >> > >  Big Data Open Source Security LLC
> >> > > > >> > > > > > > > > >> > >> > >  http://www.stealth.ly
> >> > > > >> > > > > > > > > >> > >> > >  Twitter: @allthingshadoop <
> >> > > > >> > > > > > > > > >> http://www.twitter.com/allthingshadoop>
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >>********************************************/
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > > On Thu, Jan 15, 2015 at 1:42 PM, Jay
> >> > > Kreps <
> >> > > > >> > > > > > > > > jay.kr...@gmail.com <javascript:;>>
> >> > > > >> > > > > > > > > >> > >> wrote:
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >> > > > The idea of KIPs came up in a
> >> previous
> >> > > > >> > > discussion but
> >> > > > >> > > > > > > there
> >> > > > >> > > > > > > > > was
> >> > > > >> > > > > > > > > >> no
> >> > > > >> > > > > > > > > >> > >> real
> >> > > > >> > > > > > > > > >> > >> > > > crisp definition of what they
> >> were. Here
> >> > > > >>is
> >> > > > >> an
> >> > > > >> > > > > attempt
> >> > > > >> > > > > > at
> >> > > > >> > > > > > > > > >> > defining a
> >> > > > >> > > > > > > > > >> > >> > > > process:
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >>
> >> > > > >> > > > > > > > > >> >
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > >
> >> > > > >>
> >> > > > >>
> >> > >
> >> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Propo
> >> > > > >>sals
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > > > The trick here is to have something
> >> > > > >> light-weight
> >> > > > >> > > > > enough
> >> > > > >> > > > > > > that
> >> > > > >> > > > > > > > > it
> >> > > > >> > > > > > > > > >> > >> isn't a
> >> > > > >> > > > > > > > > >> > >> > > > hassle for small changes, but
> >> enough so
> >> > > > >>that
> >> > > > >> > > changes
> >> > > > >> > > > > > get
> >> > > > >> > > > > > > the
> >> > > > >> > > > > > > > > >> > >> eyeballs of
> >> > > > >> > > > > > > > > >> > >> > > > the committers and heavy users.
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > > > Thoughts?
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > > > -Jay
> >> > > > >> > > > > > > > > >> > >> > > >
> >> > > > >> > > > > > > > > >> > >> > >
> >> > > > >> > > > > > > > > >> > >>
> >> > > > >> > > > > > > > > >> > >>
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > >
> >> > > > >> > > > > > > > > >> > > --
> >> > > > >> > > > > > > > > >> > > Thanks,
> >> > > > >> > > > > > > > > >> > > Ewen
> >> > > > >> > > > > > > > > >> >
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > > >> --
> >> > > > >> > > > > > > > > >> -- Guozhang
> >> > > > >> > > > > > > > > >>
> >> > > > >> > > > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > > >
> >> > > > >> > > > >
> >> > > > >> > > > > --
> >> > > > >> > > > > Thanks,
> >> > > > >> > > > > Neha
> >> > > > >> > > > >
> >> > > > >> > >
> >> > > > >> > > --
> >> > > > >> > > Joel
> >> > > > >> > >
> >> > > > >>
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >> >
> >> > --
> >> > Sent from Gmail Mobile
> >>
> >>
> >

Reply via email to