@Ismael - I agree that the methods are a little random. They were just ported from what's currently in the connect builder. I think a better option might be to keep the connect builder around and have extend from this builder, and make this builder only implement the "critical" methods (e.g. replicas/partitions/config). (cc Randall)
Is passing optionals in the constructor something that's common in AK? I think my preference would be toward the builder so that it's easier to extend as Randall mentioned. Almog On Fri, May 10, 2019 at 8:17 AM Ismael Juma <ism...@juma.me.uk> wrote: > The current builder includes random methods like uncleanLeaderElection. > That doesn't make sense to me since it's a topic config (and we don't > include methods for other topic configs). Also, I'm not sure about the > naming convention, should we have a `with` prefix? It would be good to > check existing builders in `clients` if any exist for what they're doing. > > If we didn't add a builder, another option would be a single new > constructor: > > public NewTopic(String name, Optional<Integer> numPartitions, > Optional<Short> replicationFactor) > > Ismael > > On Thu, May 9, 2019 at 3:38 PM Almog Gavra <al...@confluent.io> wrote: > > > Thanks Colin! Since the discussion around the builder is here I'll copy > > over my comment from the discuss thread: > > > > If we want the flexibility that the builder provides we would need to add > > three constructors: > > - no partitions/replicas > > - just partitions > > - just replicas > > > > I see good use cases for the first two - the third (just replicas) seems > > less necessary but complicates the API a bit (you have to differentiate > > NewTopic(int) with NewTopic(short) or something like that). If we're > happy > > with a KIP that covers just the first two then I can remove the builder > to > > simplify things. Otherwise, I think the builder is an important addition. > > > > Thoughts? > > > > On Thu, May 9, 2019 at 2:50 PM Colin McCabe <cmcc...@apache.org> wrote: > > > > > +1 (binding). > > > > > > Re: the builder discussion. I don't feel strongly either way-- the > > > builder sketched out in the KIP looks reasonable, but I can also > > understand > > > Ismael's argument for keeping the KIP minimal. > > > > > > best, > > > Colin > > > > > > > > > On Thu, May 9, 2019, at 08:09, Randall Hauch wrote: > > > > I'm fine with simplifying the KIP by removing the Builder (which > seems > > > > ancillary), or keeping the KIP as-is. I'll wait to vote until Almog > > says > > > > which way he'd like to proceed. > > > > > > > > On Thu, May 9, 2019 at 9:45 AM Ismael Juma <ism...@juma.me.uk> > wrote: > > > > > > > > > Hi Almog, > > > > > > > > > > Adding a Builder seems unrelated to this change. Do we need it? > Given > > > the > > > > > imminent KIP deadline, I'd keep it simple and just have the > > constructor > > > > > with just the name parameter. > > > > > > > > > > Ismael > > > > > > > > > > On Thu, May 2, 2019 at 1:58 AM Mickael Maison < > > > mickael.mai...@gmail.com> > > > > > wrote: > > > > > > > > > > > I was planning to write a KIP for the exact same feature! > > > > > > +1 (non binding) > > > > > > > > > > > > Thanks for the KIP > > > > > > > > > > > > On Wed, May 1, 2019 at 7:24 PM Almog Gavra <al...@confluent.io> > > > wrote: > > > > > > > > > > > > > > Hello Everyone! > > > > > > > > > > > > > > Kicking off the voting for > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-464%3A+Defaults+for+AdminClient%23createTopic > > > > > > > > > > > > > > > > > > > > > You can see discussion thread here (please respond with > > > suggestions on > > > > > > that > > > > > > > thread): > > > > > > > > > > > > > > > > > > > > > > > > https://lists.apache.org/thread.html/c0adfd2457e5984be7471fe6ade8a94d52c647356c81c039445d6b34@%3Cdev.kafka.apache.org%3E > > > > > > > > > > > > > > > > > > > > > Cheers, > > > > > > > Almog > > > > > > > > > > > > > > > > > > > > >