This is a good start.

Please document the constants for the config you are creating.
You will notice you need to make the name of your default implementation public.

How do the configs get into your factory instance? Is it through the 
constructor or you will add method arguments?
Please define your constructor in the KIP even if it is the default constructor.
You will also need to document the constructor in the class comment of your 
interface.

In your implementation, I suggest to default the config value and always call 
the constructor dynamically even for the default implementation.

I don't understand why this is a factory for both SSLContext and SslEngine.
The name of the factory depends on this choice.

I am not a fan of the method name shouldBeRebuilt()
This was OK in a private implementation before but this will become a public 
API.
What would be a better name that fits with the naming conventions in SslFactory?

Please mention how your interface could handle custom configs.
I would assume you plan to merge the SslFactory reconfigurableConfigs with 
those of the SslEngineFactory.
How can you be sure SslFactory always creates its SslEngineFactory before any 
calls to SslFactory.reconfigurableConfigs()?

Your Rejected Alternatives need to be beefed up.
In particular, why is SslFactory not the pluggable interface directly? Hint: 
because we want to reuse all the complex validation code and make it mandatory.
This is also the place to argue against KIP-383. Hint: because it does not 
handle reconfiguration in the presence of custom configs.

When I wrote KIP-383, I felt I needed a prototype before I could solidify the 
proposal.
That's part of the reason why there was never a third iteration.

-----Original Message-----
From: Maulin Vasavada [mailto:maulin.vasav...@gmail.com] 
Sent: Monday, September 9, 2019 6:41 PM
To: dev@kafka.apache.org
Subject: Re: [DISCUSS] KIP-486 Support for pluggable KeyStore and TrustStore

Hi all

I created a KIP-519 for pluggability of SSLContext/Engine object. Looking
forward for a great discussion and feedback on the same. I'll keep KIP-486
in discussion state until we reach to some good conclusion on how to allow
custom key/trust stores after KIP-519 work is done. Based on that, we will
update the KIP-486 appropriately.

Thanks
Maulin

Reply via email to