Hi,
I just rebased the Etcd implementation proposal on trunk. Pinging to see if
anyone has feedback on my questions from my previous email.

Molnár Bálint <molnarcsi...@gmail.com> ezt írta (időpont: 2018. ápr. 4.,
Sze, 10:08):

> Hi,
> Thanks again for the feedback.
>
> Is there already ongoing work for having an own consensus implementation
> within Kafka?
> If that work haven't started yet, we think there is value in having an
> interim solution, that allows the use of another consensus system besides
> Zookeeper.
>
> We ask the community to take a look at the Etcd implementation proposal
> we created and provide feedback on that.
> This helps to asses rather this approach is viable at all.
>
> We are open to collaborate on integrating our proposed Etcd implementation
> into any integration test system, to certify that all use cases works as
> expected.
>
> Balint
>
> 2018-03-30 22:21 GMT+02:00 Gwen Shapira <g...@confluent.io>:
>
>> Hi,
>>
>> I had an offline discussion with Ismael and wanted to summarize the
>> comments and questions he raised so we are all on the same page.
>>
>> The core issue is that this change adds a new public API. Since we already
>> know that the goal for the next 1-2 years is to get rid of ZK completely.
>> Do we want to go to the effort of adding (and discussing and reviewing) a
>> new public API, knowing that it will be completely removed in a year? And
>> since building and testing a plugin also involves effort, will anyone do
>> it
>> for something that is going to be temporary by design?
>>
>> Ismael, correct me if this isn't a fair representation of your concerns.
>>
>> Gwen
>>
>>
>>
>> On Thu, Mar 29, 2018 at 9:33 AM, Gwen Shapira <g...@confluent.io> wrote:
>>
>> > Few other concerns that were raised in the previous discussion were
>> around
>> > the challenges both to maintainers and users in making this API
>> pluggable
>> > and how does making the interface pluggable aligns with future goals for
>> > the project. At the time this was difficult to discuss because there
>> wasn't
>> > a concrete proposal. I want to discuss these points in the context of
>> this
>> > specific proposal:
>> >
>> > 1. Problem: Pluggable APIs mean larger surface testing area and multiple
>> > implementations to cover.
>> >     In this case: At the time, the Kafka project didn't have much
>> > experience with pluggable APIs and components, so the concerns were very
>> > valid. Right now Kafka has multiple pluggable components - Connectors,
>> > converters, transformations, authentication protocols, authorization
>> > database, coordination protocol, serializers, etc. I think that as a
>> > community we gotten better at testing the interface, testing the very
>> few
>> > implementations that are included in Apache Kafka itself and allowing
>> the
>> > community to innovate and validate outside of the Kafka project. I don't
>> > recall major issues either from lack of testing or from usability
>> > perspective.
>> >
>> > 2. Problem: Users don't want to choose a consensus implementation, they
>> > just don't want ZK.
>> >     In this case: I agree that users don't actually want to spend time
>> > choosing consensus implementation and a simpler deployment model would
>> > serve them better. IMO, if Apache Kafka ships with our well-tested ZK
>> > implementation, 99% of the users will choose to use that (a vast
>> majority
>> > uses our less-than-amazing authorization plugin), and the few that
>> really
>> > need something else for whatever reason, will be able to get what they
>> > need. As Jake said, we need to face the fact that development
>> trajectory of
>> > ZK isn't amazing at the moment, that it is lacking features our users
>> need
>> > (SSL) and it will be good to allow the user community to explore
>> > alternatives.
>> >
>> > 3. Problem: Why got to the effort of refactoring if we know we want to
>> get
>> > rid of ZK.
>> >     In this case: This change isn't huge, it doesn't rewrite large
>> > portions of Kafka and it does not make the future direction any more
>> > difficult. If in 2 weeks or 2 month or 2 years we'll have a ZK-less
>> > solution, applying it on Kafka with this KIP isn't any more challenging
>> > than applying it to Kafka without this KIP. It is a step in an
>> orthogonal
>> > direction, but not opposite direction. I think that letting the perfect
>> > become the enemy of the good is a repeated failure mode in this
>> community.
>> > Can we discuss whether this proposal is good even if there is a more
>> > complex proposal that may be better? As long as they don't conflict?
>> >
>> > Gwen
>> >
>> > On Thu, Mar 29, 2018 at 8:31 AM, Molnár Bálint <molnarcsi...@gmail.com>
>> > wrote:
>> >
>> >> Thanks, for the feedback.
>> >>
>> >> Developing an internal consensus service inside Kafka would require a
>> team
>> >> dedicated to this task.
>> >> We second what Flavio said in
>> >> https://lists.apache.org/thread.html/24ae56e073104c4531cf64f
>> >> 7a1f1c0a84f895d139d334c88e9fe6028@1449008733@%3Cdev.kafka.apache.org
>> %3E
>> >> that
>> >> getting an implementation which really works and is maintainable is
>> >> difficult.
>> >> We think that Kafka being able to use another widely used consensus
>> system
>> >> beside Zookeeper its a safer and workable solution.
>> >> It will be easier for users to use a consensus system with Kafka that
>> they
>> >> are already familiar with.
>> >>
>> >>
>> >> The implementation found here:
>> >> https://github.com/banzaicloud/apache-kafka-on-k8s/tree/
>> >> kafka-on-etcd/core/src/main/scala/kafka/etcd
>> >> is a first version of enabling Etcd in Kafka.
>> >> This implementation hooked in Etcd with a slight change in the existing
>> >> interfaces. While this implementation works its far from being
>> complete.
>> >> Ideally existing interfaces should be reworked to abstract out the used
>> >> consensus system.
>> >> We opened this KIP to start a discussion and the community to have a
>> look
>> >> at the initial implementation and receive feedback if this initiative
>> is
>> >> viable.
>> >>
>> >> Balint
>> >>
>> >> 2018-03-29 11:23 GMT+02:00 Jakub Scholz <ja...@scholz.cz>:
>> >>
>> >> > I can understand the concerns about the plugability of
>> Zookeeper/Etcd.
>> >> It
>> >> > would not be good for Kafka community if it splits into several
>> groups
>> >> > using different implementations.
>> >> >
>> >> > On the other hand, Zookeeper development seems to be a bit stalled.
>> So
>> >> > maybe there should be at least a discussion whether it makes sense to
>> >> > replace Zookeeper with something like Etcd or not.
>> >> >
>> >> > JAkub
>> >> >
>> >> > On Wed, Mar 28, 2018 at 6:18 PM, Molnár Bálint <
>> molnarcsi...@gmail.com>
>> >> > wrote:
>> >> >
>> >> > > Hi all,
>> >> > >
>> >> > > I have created KIP-273: Kafka to support using ETCD beside
>> Zookeeper
>> >> > >
>> >> > > Here is the link to the KIP:
>> >> > >
>> >> > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>> >> > > 273+-+Kafka+to+support+using+ETCD+beside+Zookeeper
>> >> > >
>> >> > > Looking forward to the discussion.
>> >> > >
>> >> > > Thanks,
>> >> > > Balint
>> >> > >
>> >> >
>> >>
>> >
>> >
>> >
>> > --
>> > *Gwen Shapira*
>> > Product Manager | Confluent
>> > 650.450.2760 <(650)%20450-2760> | @gwenshap
>> > Follow us: Twitter <https://twitter.com/ConfluentInc> | blog
>> > <http://www.confluent.io/blog>
>> >
>> >
>>
>>
>> --
>> *Gwen Shapira*
>> Product Manager | Confluent
>> 650.450.2760 | @gwenshap
>> Follow us: Twitter <https://twitter.com/ConfluentInc> | blog
>> <http://www.confluent.io/blog>
>>
>
>

Reply via email to