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.
> 
> 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

Reply via email to