So, just asking for guidance here...
should I go for a vote.. or... if you guys think this should be
retired.. that's fine..

I am using my spare time on this.. and I'm about to fill it up that slot soon :)

I'm trying to figure out if there is interest on this.

On Mon, Nov 13, 2017 at 9:51 AM, Clebert Suconic
<clebert.suco...@gmail.com> wrote:
> It would work out. it's just a matter to find what's easier for users...
>
> a builder would work equally.
>
> I listed the rejected alternative in case the constructor wasn't
> accepted. I don't think it adds complexity. it's the same quite
> frankly. refactoring a method out to a builder of factory is a simple
> refactoring.
>
> the question really is: do you want the connection string support? if
> it lives as a constructor overload or a builder utility provided by
> the client library.. it doesn't really matter IMO.
>
>
>
> On Mon, Nov 13, 2017 at 9:31 AM, charly molter <charly.mol...@gmail.com> 
> wrote:
>> Hi Clebert,
>>
>> You mention in rejected alternatives "builders" but you don't give a
>> justification.
>>
>> Could you explain why a utility method or class doesn't work out?
>>
>> There's already 5 constructors in KafkaConsumer and I'm afraid this change
>> would just make the API more complex.
>>
>> Thanks,
>> Charly
>>
>> On Mon, Nov 13, 2017 at 2:13 PM, Clebert Suconic <clebert.suco...@gmail.com>
>> wrote:
>>
>>> I was waiting for more input after my last update.. what should be done
>>> now?
>>>
>>>
>>>
>>> On Sat, Nov 4, 2017 at 2:19 PM, Clebert Suconic
>>> <clebert.suco...@gmail.com> wrote:
>>> > I have updated KIP-209.
>>> >
>>> >
>>> > Determined the \", \\ and \; meanings
>>> >
>>> > Also introduced the possibility of using $ to translate as system
>>> properties.
>>> >
>>> > I"m not using an BNF formal language here, as I don't think it's
>>> > needed.. it seems pretty obvious what it would be accomplished here.
>>> >
>>> > On Fri, Oct 27, 2017 at 2:05 PM, Colin McCabe <cmcc...@apache.org>
>>> wrote:
>>> >> On Tue, Oct 24, 2017, at 22:51, Michael André Pearce wrote:
>>> >>> Fair enough on URL encoding but as mentioned it is important to be able
>>> >>> to escape, I agree with backslash option.
>>> >>>
>>> >>> I would still like some form of prefix to the string to denote it is
>>> for
>>> >>> kafka.
>>> >>
>>> >> I don't think a prefix is necessary here.  URLs have a prefix because
>>> >> there are multiple services which you could access (HTTP vs HTTPS, etc.)
>>> >>  If you are passing a string to Kafka, the string is for Kafka, not for
>>> >> something else, so the issue doesn't exist.
>>> >>
>>> >> best,
>>> >> Colin
>>> >>
>>> >>
>>> >>>
>>> >>>  E.g. kafka:: (if semicolon separators)
>>> >>>
>>> >>> Sent from my iPad
>>> >>>
>>> >>> > On 24 Oct 2017, at 17:27, Colin McCabe <cmcc...@apache.org> wrote:
>>> >>> >
>>> >>> > Hi Clebert,
>>> >>> >
>>> >>> > As some other people mentioned, a comma is probably not a great
>>> choice
>>> >>> > for the entry separator.  We have a lot of configuration values that
>>> >>> > already include commas.  How about using a semicolon instead?
>>> >>> >
>>> >>> > You also need an escaping system in case someone needs a semicolon
>>> (or
>>> >>> > whatever) that is part of a configuration key or configuration value.
>>> >>> > How about a simple backslash?  And then if you want a literal
>>> backslash,
>>> >>> > you put in two backslashes.
>>> >>> >
>>> >>> >> On Thu, Oct 19, 2017, at 18:10, Michael André Pearce wrote:
>>> >>> >> Just another point to why I’d propose the below change to the string
>>> >>> >> format I propose , is an ability to encode the strings easily.
>>> >>> >>
>>> >>> >> We should note that it’s quite typical for serializers to user a
>>> >>> >> schematic registry where one of their properties they will need to
>>> set
>>> >>> >> would be in some form like:
>>> >>> >>
>>> >>> >> schema.registry.url=http://schema1:80,schema2:80/api
>>> >>> >>
>>> >>> >> So being able to safely encode this is important.
>>> >>> >>
>>> >>> >> Sent from my iPhone
>>> >>> >>
>>> >>> >>> On 20 Oct 2017, at 01:47, Michael André Pearce <
>>> michael.andre.pea...@me.com> wrote:
>>> >>> >>>
>>> >>> >>> Hi Clebert
>>> >>> >>>
>>> >>> >>> Great kip!
>>> >>> >>>
>>> >>> >>> Instead of ‘;’ to separate the host sections with the params
>>> section could it be a ‘?’
>>> >>> >>>
>>> >>> >>> And like wise ‘,’ param separator could this be ‘&’ (keep the ‘,’
>>> for host separator just makes easier to distinguish)
>>> >>> >>>
>>> >>> >>> Also this was it makes it easier to encode params etc as can just
>>> re use url encoders.
>>> >>> >
>>> >>> > Please, no.  URL encoders will mangle a lot of things horribly (like
>>> >>> > less than signs, greater than signs, etc.)  We should not make this a
>>> >>> > URL or pseudo-URL (see the discussion above).  We should make it
>>> clear
>>> >>> > that this is not a URL.
>>> >>> >
>>> >>> >> Invalid conversions would throw InvalidArgumentException (with a
>>> description of the invalid conversion)
>>> >>> >> Invalid parameters would throw InvalidArgumentException (with the
>>> name of the invalid parameter).
>>> >>> >
>>> >>> > This will cause a lot of compatibility problems, right?  If I switch
>>> >>> > back and forth between two Kafka versions, they will support slightly
>>> >>> > different sets of configuration parameters.  It seems saner to simply
>>> >>> > ignore configuration parameters that we don't understand, like we do
>>> >>> > now.
>>> >>> >
>>> >>> > best,
>>> >>> > Colin
>>> >>> >
>>> >>> >
>>> >>> >>>
>>> >>> >>> Also as like many systems it typical to note what the connection
>>> string is for with a prefix eg ‘kafka://‘
>>> >>> >>>
>>> >>> >>> Just makes it obvious when an app has a list of connection strings
>>> in their runtime properties which is for which technology.
>>> >>> >>>
>>> >>> >>> Eg example connection string would be:
>>> >>> >>>
>>> >>> >>> kafka://host1:port1,host2:port2?param1=value1&parm2=value2
>>> >>> >>>
>>> >>> >>> Cheers
>>> >>> >>> Mike
>>> >>> >>>
>>> >>> >>> Sent from my iPhone
>>> >>> >>>
>>> >>> >>>> On 19 Oct 2017, at 19:29, Clebert Suconic <
>>> clebert.suco...@gmail.com> wrote:
>>> >>> >>>>
>>> >>> >>>> Do I have to do anything here?
>>> >>> >>>>
>>> >>> >>>> I wonder how long I need to wait before proposing the vote.
>>> >>> >>>>
>>> >>> >>>> On Tue, Oct 17, 2017 at 1:17 PM, Clebert Suconic
>>> >>> >>>> <clebert.suco...@gmail.com> wrote:
>>> >>> >>>>> I had these updates in already... you just changed the names at
>>> the
>>> >>> >>>>> string.. but it was pretty much the same thing I think... I had
>>> taken
>>> >>> >>>>> you suggestions though.
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>> The Exceptions.. these would be implementation details... all I
>>> wanted
>>> >>> >>>>> to make sure is that users would get the name of the invalid
>>> parameter
>>> >>> >>>>> as part of a string on a message.
>>> >>> >>>>>
>>> >>> >>>>> On Tue, Oct 17, 2017 at 3:15 AM, Satish Duggana
>>> >>> >>>>> <satish.dugg...@gmail.com> wrote:
>>> >>> >>>>>> You may need to update KIP with the details discussed in this
>>> thread in
>>> >>> >>>>>> proposed changes section.
>>> >>> >>>>>>
>>> >>> >>>>>>>> My proposed format for the connection string would be:
>>> >>> >>>>>>>> IP1:host1,IP2:host2,...IPN:hostn;parameterName=value1;
>>> parameterName2=value2;...
>>> >>> >>>>>> parameterNameN=valueN
>>> >>> >>>>>> Format should be
>>> >>> >>>>>> host1:port1,host2:port2,…host:portn;param-name1=param-val1,..
>>> >>> >>>>>>
>>> >>> >>>>>>>> Invalid conversions would throw InvalidArgumentException
>>> (with a
>>> >>> >>>>>> description of the invalid conversion)
>>> >>> >>>>>>>> Invalid parameters would throw InvalidArgumentException (with
>>> the name of
>>> >>> >>>>>> the invalid parameter).
>>> >>> >>>>>>
>>> >>> >>>>>> Should throw IllegalArgumentException with respective message.
>>> >>> >>>>>>
>>> >>> >>>>>> Thanks,
>>> >>> >>>>>> Satish.
>>> >>> >>>>>>
>>> >>> >>>>>> On Tue, Oct 17, 2017 at 4:46 AM, Clebert Suconic <
>>> clebert.suco...@gmail.com>
>>> >>> >>>>>> wrote:
>>> >>> >>>>>>
>>> >>> >>>>>>> That works.
>>> >>> >>>>>>>
>>> >>> >>>>>>>> On Mon, Oct 16, 2017 at 6:59 PM Ted Yu <yuzhih...@gmail.com>
>>> wrote:
>>> >>> >>>>>>>>
>>> >>> >>>>>>>> Can't you use IllegalArgumentException ?
>>> >>> >>>>>>>>
>>> >>> >>>>>>>> Some example in current code base:
>>> >>> >>>>>>>>
>>> >>> >>>>>>>> clients/src/main/java/org/apache/kafka/clients/Metadata.java:
>>> >>> >>>>>>>> throw new IllegalArgumentException("Max time to wait for
>>> metadata
>>> >>> >>>>>>> updates
>>> >>> >>>>>>>> should not be < 0 milliseconds");
>>> >>> >>>>>>>>
>>> >>> >>>>>>>> On Mon, Oct 16, 2017 at 3:06 PM, Clebert Suconic <
>>> >>> >>>>>>>> clebert.suco...@gmail.com>
>>> >>> >>>>>>>> wrote:
>>> >>> >>>>>>>>
>>> >>> >>>>>>>>> I updated the wiki with the list on the proposed arguments.
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>> I also changed it to include a new Exception class that
>>> would be named
>>> >>> >>>>>>>>> InvalidParameterException (since I couldn't find an existing
>>> Exception
>>> >>> >>>>>>>>> class that I could reuse into this). (I could review the
>>> name or the
>>> >>> >>>>>>>>> exception of course.. just my current proposal)
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>>> On Mon, Oct 16, 2017 at 5:55 PM, Jakub Scholz <
>>> ja...@scholz.cz> wrote:
>>> >>> >>>>>>>>>> Hi Clebert,
>>> >>> >>>>>>>>>>
>>> >>> >>>>>>>>>> I think it would be good if this could cover not only
>>> KafkaConsumer
>>> >>> >>>>>>> and
>>> >>> >>>>>>>>>> KafkaProducer but also the AdminClient. So that all three
>>> can be
>>> >>> >>>>>>>>> configured
>>> >>> >>>>>>>>>> the same way.
>>> >>> >>>>>>>>>>
>>> >>> >>>>>>>>>> The bootstrap servers are a list - you can provide multiple
>>> bootstrap
>>> >>> >>>>>>>>>> servers. Maybe you add an example of how that will be
>>> configured. I
>>> >>> >>>>>>>>> assume
>>> >>> >>>>>>>>>> it will be
>>> >>> >>>>>>>>>> "host:port,host2:port2;parameterName=value1;
>>> parameterName2=value2"
>>> >>> >>>>>>> but
>>> >>> >>>>>>>>> it
>>> >>> >>>>>>>>>> would be great to have it documented.
>>> >>> >>>>>>>>>>
>>> >>> >>>>>>>>>> Thanks & Regards
>>> >>> >>>>>>>>>> Jakub
>>> >>> >>>>>>>>>>
>>> >>> >>>>>>>>>> On Mon, Oct 16, 2017 at 11:30 PM, Clebert Suconic <
>>> >>> >>>>>>>>> clebert.suco...@gmail.com
>>> >>> >>>>>>>>>>> wrote:
>>> >>> >>>>>>>>>>
>>> >>> >>>>>>>>>>> I would like to start a discussion about KIP-209
>>> >>> >>>>>>>>>>> (https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>> >>> >>>>>>>>>>> 209+-+Connection+String+Support)
>>> >>> >>>>>>>>>>>
>>> >>> >>>>>>>>>>> This is an extension of my previous thread:
>>> >>> >>>>>>>>>>> http://mail-archives.apache.org/mod_mbox/kafka-dev/201710.
>>> >>> >>>>>>>>>>> mbox/%3cCAKF+bsoFbN13D-u20tUsP6G+aHX4BUNk=S8M4KyJxAt_
>>> >>> >>>>>>>>>>> oyv...@mail.gmail.com%3e
>>> >>> >>>>>>>>>>>
>>> >>> >>>>>>>>>>> this could make the bootstrap of a consumer or producer
>>> similar to
>>> >>> >>>>>>>>>>> what users are already used when connecting into other
>>> systems,
>>> >>> >>>>>>> being
>>> >>> >>>>>>>>>>> a simple addition to Producer and Consumer, without
>>> breaking any
>>> >>> >>>>>>>>>>> previous client usage.
>>> >>> >>>>>>>>>>>
>>> >>> >>>>>>>>>>>
>>> >>> >>>>>>>>>>> --
>>> >>> >>>>>>>>>>> Clebert Suconic
>>> >>> >>>>>>>>>>>
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>> --
>>> >>> >>>>>>>>> Clebert Suconic
>>> >>> >>>>>>>>>
>>> >>> >>>>>>>>
>>> >>> >>>>>>> --
>>> >>> >>>>>>> Clebert Suconic
>>> >>> >>>>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>> --
>>> >>> >>>>> Clebert Suconic
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>> --
>>> >>> >>>> Clebert Suconic
>>> >
>>> >
>>> >
>>> > --
>>> > Clebert Suconic
>>>
>>>
>>>
>>> --
>>> Clebert Suconic
>>>
>>
>>
>>
>> --
>> Charly Molter
>
>
>
> --
> Clebert Suconic



-- 
Clebert Suconic

Reply via email to