Sorry, I meant to write "removing an API typically requires a new major release 
of Kafka".  Deprecating an API can be done in a minor release.

regards,
Colin


On Fri, Sep 6, 2019, at 14:49, Colin McCabe wrote:
> Hi Maulin,
> 
> Clement brought up a good point, which is that we should have agreement 
> on the overall design before we start looking at PRs.  In Kafka, that 
> means starting a discussion on a KIP, and then getting that KIP voted 
> in.
> 
> There is more information about the KIP process here:
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals
> Feel free to ask more detailed questions about the process on the 
> mailing list as well :)
> 
> It sounds like Clement is proposing that you create a new KIP rather 
> than reusing KIP-383.  So you should probably either repurpose KIP-486 
> for this, or choose a new number.  Both options seem reasonable here.  
> As far as I can see, once we implement a pluggable SslEngineBuilder, 
> KIP-383 would no longer be needed, and so we would put that one into 
> "rejected KIPs."
> 
> In general, coming up with good APIs can be harder than it might seem 
> at first.  Once we add an API, we have to assume that we're going to 
> support it forever.  Deprecating an API can take a very long time, and 
> typically requires a new major release of Kafka.  Therefore, sometimes 
> it's worth making users go through a little bit of copying and pasting 
> in order to avoid creating an API that would constrain the project in 
> the future.  Hopefully, we can come up with something good here that 
> will be useful to everyone.
> 
> best,
> Colin
> 
> 
> On Fri, Sep 6, 2019, at 07:48, Pellerin, Clement wrote:
> > This is the way I see it, which is in no way authoritative.
> > 
> > First you have to find a complete solution, then you need to document 
> > it in a KIP and that KIP needs to pass a vote. Any votes before the KIP 
> > vote starts is meaningless.
> > 
> > As for the ownership and authorship of the KIPs, I don't plan to work 
> > on this, so KIP-383 is better left the way it is. I would prefer if you 
> > would update your KIP or maybe create a new one. We can mark KIP-383 as 
> > obsolete after your KIP passes its vote.
> > 
> > -----Original Message-----
> > From: Maulin Vasavada [mailto:maulin.vasav...@gmail.com] 
> > Sent: Friday, September 6, 2019 2:36 AM
> > To: dev@kafka.apache.org
> > Subject: Re: [DISCUSS] KIP-486 Support for pluggable KeyStore and TrustStore
> > 
> > Hi all
> > 
> > Any input on my last question about the process?
> > 
> > Also, I have updated the code based on the feedback so far at:
> > https://github.com/maulin-vasavada/kafka/pull/2/files. Still have to figure
> > out how to plug keys/certs loading while using DefaultSslEngineFactory's
> > implementation (still need to make it final).
> > 
> > Thanks
> > Maulin
> > 
> > 
> > On Thu, Sep 5, 2019 at 4:34 PM Maulin Vasavada <maulin.vasav...@gmail.com>
> > wrote:
> > 
> > > Hi all
> > >
> > > It seems we are in some sort of agreement so far apart from code
> > > review/comments. However, I have a fundamental question - going forward 
> > > how
> > > this work from the process standpoint? What do we do with this KIP-486 vs
> > > KIP-383? I feel that both needs to come together since in order to make
> > > Pluggable key/trust store on top of making SslEngineBuilder pluggable we
> > > will need changes suggested by KIP-486 with some differences to the
> > > original proposal. It would great if someone can help us clarify the next
> > > steps.
> > >
> > > Thanks
> > > Maulin
> > >
> > > On Wed, Sep 4, 2019 at 1:54 PM Maulin Vasavada <maulin.vasav...@gmail.com>
> > > wrote:
> > >
> > >> Do you guys think it would be easier if you can provide comments on
> > >> GitHub and we can continue there and summarize the conclusion here?
> > >>
> > >> We should not lose addressing any comments.
> > >>
> > >> On Wed, Sep 4, 2019 at 12:34 PM Pellerin, Clement <
> > >> clement_pelle...@ibi.com> wrote:
> > >>
> > >>> The proposed interface does not look like the Builder pattern I am used
> > >>> to.
> > >>> Should SslEngineBuilder be called SslEngineFactory instead?
> > >>>
> > >>> On Mon, Sep 2, 2019, at 03:33, Rajini Sivaram wrote:
> > >>> > I would expect SslEngineBuilder interface to look something like this,
> > >>> > perhaps with some tweaking:
> > >>> >
> > >>> > public interface SslEngineBuilder extends Configurable, Closeable {
> > >>> >
> > >>> >     Set<String> reconfigurableConfigs();
> > >>> >
> > >>> >     boolean shouldBeRebuilt(Map<String, Object> nextConfigs);
> > >>> >
> > >>> >     SSLEngine createSslEngine(Mode mode, String peerHost, int
> > >>> > peerPort, String endpointIdentification);
> > >>> >
> > >>> > }
> > >>>
> > >>
> >
>

Reply via email to