@Randall: are you happy with the KIP as it stands so I can call for a vote,
or are there any outstanding items still to discuss?

Same question to anybody else who'd like to participate of course :)

On Thu, Nov 16, 2017 at 5:35 PM, Sönke Liebau <soenke.lie...@opencore.com>
wrote:

> Sounds good. I've added a few sentences to this effect to the KIP.
>
> On Thu, Nov 16, 2017 at 5:02 PM, Randall Hauch <rha...@gmail.com> wrote:
>
>> Nice job updating the KIP. The PR (
>> https://github.com/apache/kafka/pull/2755/files) for the proposed
>> implementation does prevent names from being empty, and it trims
>> whitespace
>> from the name only when creating a new connector. However, the KIP's
>> "Proposed Change" section should probably be very clear about this, and
>> the
>> migration section should address how a connector that was created with
>> leading and/or trailing whitespace characters will still be able to be
>> updated and deleted. I think that decreases the likelihood of this change
>> negatively impacting existing users. Basically, going forward, the names
>> of
>> new connectors will be trimmed.
>>
>> WDYT?
>>
>> On Thu, Nov 16, 2017 at 9:32 AM, Sönke Liebau <
>> soenke.lie...@opencore.com.invalid> wrote:
>>
>> > I've added some more detail to the KIP [1] around current scenarios that
>> > might break in the future. I actually came up with a second limitation
>> that
>> > we'd impose on users and also documented this.
>> >
>> > Let me know what you think.
>> >
>> > Kind regards,
>> > Sönke
>> >
>> > [1]
>> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>> > 212%3A+Enforce+set+of+legal+characters+for+connector+names
>> >
>> >
>> > On Thu, Nov 16, 2017 at 2:59 PM, Sönke Liebau <
>> soenke.lie...@opencore.com>
>> > wrote:
>> >
>> > > Hi Randall,
>> > >
>> > > I had mentioned this edge case in the KIP, but will add some further
>> > > detail to further clarify all changing scenarios post pull request.
>> > >
>> > > Kind regards,
>> > > Sönke
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > On Thu, Nov 16, 2017 at 2:06 PM, Randall Hauch <rha...@gmail.com>
>> wrote:
>> > >
>> > >> No, we need to keep the KIP since we want to change/correct the
>> existing
>> > >> behavior. But we do need to clarify in the KIP these edge cases that
>> > will
>> > >> change.
>> > >>
>> > >> Thanks for the continued work on this, Sönke.
>> > >>
>> > >> Regards,
>> > >>
>> > >> Randall
>> > >>
>> > >> > On Nov 16, 2017, at 1:56 AM, Sönke Liebau <
>> soenke.lie...@opencore.com
>> > >> .INVALID> wrote:
>> > >> >
>> > >> > Hi Randall,
>> > >> >
>> > >> > zero length definitely works, that's what sent me down this hole in
>> > the
>> > >> > first place. I had a customer accidentally create a connector
>> without
>> > a
>> > >> > name in his environment and then be unable to delete it. No
>> connector
>> > >> name
>> > >> > doesn't work, as this throws a null pointer exception due to
>> > KAFKA-4938
>> > >> ,
>> > >> > but once that is fixed would create a connector named "null" I
>> think.
>> > >> Have
>> > >> > not retested this, but seen it in the past.
>> > >> >
>> > >> > Also, it is possible to create connectors with trailing and leading
>> > >> > whitespaces, this errors out on the create request (which will be
>> > fixed
>> > >> > when KAFKA-4827 is merged), but correctly creates the connector and
>> > you
>> > >> can
>> > >> > access it if you percent-escape the curl call. This for me is the
>> main
>> > >> > reason why a KIP might be needed, as we are changing public facing
>> > >> behavior
>> > >> > here. I agree with you, that this will probably not affect anyone
>> or
>> > >> hardly
>> > >> > anyone, but in principle it is a change that should need a KIP I
>> > think.
>> > >> >
>> > >> > I've retested and documented this for Confluent 3.3.0:
>> > >> > https://gist.github.com/soenkeliebau/9363745cff23560fcc234d9
>> b64ac14c4
>> > >> >
>> > >> > I am of course happy to withdraw the KIP if you think it is
>> > unnecessary,
>> > >> > I've also updated the pull request for KAFKA-4930 to reflect the
>> > changes
>> > >> > stated in the KIP and tested the code with Arjuns pull request for
>> > >> > KAFKA-4827 to ensure they don't interfere with each other.
>> > >> >
>> > >> > Let me know what you think.
>> > >> >
>> > >> > Kind regards,
>> > >> > Sönke
>> > >> >
>> > >> > ᐧ
>> > >> >
>> > >> >> On Tue, Nov 14, 2017 at 7:03 PM, Randall Hauch <rha...@gmail.com>
>> > >> wrote:
>> > >> >>
>> > >> >> Thanks for updating the KIP to reflect the current process.
>> However,
>> > I
>> > >> >> still question whether it is necessary to have a KIP - it depends
>> on
>> > >> >> whether it was possible with prior versions to have connectors
>> with
>> > >> >> zero-length or blank names. Have you tried both of these cases?
>> > >> >>
>> > >> >> On Fri, Nov 10, 2017 at 3:52 AM, Sönke Liebau <
>> > >> >> soenke.lie...@opencore.com.invalid> wrote:
>> > >> >>
>> > >> >>> Hi Randall,
>> > >> >>>
>> > >> >>> I have set aside some time to work on this next week. The fix
>> itself
>> > >> is
>> > >> >>> quite simple, but I've yet to write tests to properly catch this,
>> > >> which
>> > >> >>> turns out to be a bit more complex, as it needs a running
>> restserver
>> > >> >> which
>> > >> >>> is mocked in the tests I've looked at so far.
>> > >> >>>
>> > >> >>> Should I withdraw the KIP or update it to reflect the
>> documentation
>> > >> >> changes
>> > >> >>> and enforced rules around trimming and zero length connector
>> names?
>> > >> This
>> > >> >> is
>> > >> >>> a change to existing behavior, even if it is quite small and
>> > probably
>> > >> >> won't
>> > >> >>> even be noticed by many people..
>> > >> >>>
>> > >> >>> best regards,
>> > >> >>> Sönke
>> > >> >>>
>> > >> >>>> On Thu, Nov 9, 2017 at 9:10 PM, Randall Hauch <rha...@gmail.com
>> >
>> > >> wrote:
>> > >> >>>>
>> > >> >>>> Any progress on updating the PR and withdrawing KIP-212?
>> > >> >>>>
>> > >> >>>> On Fri, Oct 27, 2017 at 5:19 PM, Randall Hauch <
>> rha...@gmail.com>
>> > >> >> wrote:
>> > >> >>>>
>> > >> >>>>> Yes, connector names should not be blank or contain just
>> > whitespace.
>> > >> >> In
>> > >> >>>>> fact, I might recommend that we trim whitespace at the front
>> and
>> > >> rear
>> > >> >>> of
>> > >> >>>>> new connector names and then disallowing any zero-length name.
>> > >> >> Existing
>> > >> >>>>> connectors would remain valid, and this would not break
>> backward
>> > >> >>>>> compatibility. That might require a small kip simply to update
>> the
>> > >> >>>>> documentation and specify what names are valid.
>> > >> >>>>>
>> > >> >>>>> WDYT?
>> > >> >>>>>
>> > >> >>>>> Randall
>> > >> >>>>>
>> > >> >>>>> On Fri, Oct 27, 2017 at 1:08 PM, Colin McCabe <
>> cmcc...@apache.org
>> > >
>> > >> >>>> wrote:
>> > >> >>>>>
>> > >> >>>>>>> On Wed, Oct 25, 2017, at 01:07, Sönke Liebau wrote:
>> > >> >>>>>>> I've spent some time looking at this and testing various
>> > >> >> characters
>> > >> >>>> and
>> > >> >>>>>>> it
>> > >> >>>>>>> would appear that Randall's suspicion was spot on. I think we
>> > can
>> > >> >>>>>> support
>> > >> >>>>>>> a
>> > >> >>>>>>> fairly large set of characters with very minor changes.
>> > >> >>>>>>>
>> > >> >>>>>>> I was put of by the exceptions that were thrown when creating
>> > >> >>>> connectors
>> > >> >>>>>>> with certain characters and suspected a larger underlying
>> > problem
>> > >> >>> when
>> > >> >>>>>> in
>> > >> >>>>>>> fact the only issue is, that the URL in the rest request
>> used to
>> > >> >>>>>> retrieve
>> > >> >>>>>>> the response for the create connector request needs to be
>> > percent
>> > >> >>>>>> encoded
>> > >> >>>>>>> [1].
>> > >> >>>>>>>
>> > >> >>>>>>> I've fixed this and done some local testing which worked out
>> > quite
>> > >> >>>>>>> nicely,
>> > >> >>>>>>> apart from two special cases, I've not been able to find
>> > >> >> characters
>> > >> >>>> that
>> > >> >>>>>>> created issues, even space and slash work.
>> > >> >>>>>>> The mentioned special cases are:
>> > >> >>>>>>>  \  - if the name contains a backslash that is not the
>> beginning
>> > >> >>> of a
>> > >> >>>>>>> valid escape sequence the request fails before we ever get
>> it in
>> > >> >>>>>>> ConnectorsResource, so a backslash would need to be escaped:
>> \\
>> > >> >>>>>>>  "  - Quotation marks need to be escaped as well to keep the
>> > json
>> > >> >>>> body
>> > >> >>>>>>>  of
>> > >> >>>>>>> the request legal: \"
>> > >> >>>>>>> In both cases the escape character will be part of the
>> connector
>> > >> >>> name
>> > >> >>>>>> and
>> > >> >>>>>>> need to be specified in the url to retrieve the connector as
>> > well,
>> > >> >>>> even
>> > >> >>>>>>> though we could URL encode it in a legal way without escaping
>> > >> >> here.
>> > >> >>> So
>> > >> >>>>>>> they
>> > >> >>>>>>> work, not sure if I'd recommend using those characters, but
>> no
>> > >> >> real
>> > >> >>>>>>> reason
>> > >> >>>>>>> to prohibit people from using them that I can see either.
>> > >> >>>>>>
>> > >> >>>>>> Good research, Sönke.
>> > >> >>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> What I'd do going forward is:
>> > >> >>>>>>> - withdraw the KIP, as I don't see a real need for one, since
>> > this
>> > >> >>> is
>> > >> >>>>>> not
>> > >> >>>>>>> changing anything, just fixing things.
>> > >> >>>>>>> - add a section to the documentation around legal characters,
>> > >> >>> specify
>> > >> >>>>>> the
>> > >> >>>>>>> ones I tested explicitly (url encoded %20 - %7F) and mention
>> > that
>> > >> >>> most
>> > >> >>>>>>> other characters should work as well but no guarantees are
>> given
>> > >> >>>>>>> - update the pull request for KAFKA-4930 to allow all
>> characters
>> > >> >> but
>> > >> >>>>>>> still
>> > >> >>>>>>> prohibit creating a connector with an empty name. I'd
>> propose to
>> > >> >>> keep
>> > >> >>>>>> the
>> > >> >>>>>>> validator though as it'll give us a central location to do
>> any
>> > >> >>>> checking
>> > >> >>>>>>> that might turn out to be necessary later on.
>> > >> >>>>>>
>> > >> >>>>>> Are empty names currently allowed?  That's unfortunate.
>> > >> >>>>>>
>> > >> >>>>>>> - add some integration tests to check connectors with special
>> > >> >>>> characters
>> > >> >>>>>>> in
>> > >> >>>>>>> their names work
>> > >> >>>>>>> - fix the url encoding line in ConnectorsResource
>> > >> >>>>>>>
>> > >> >>>>>>> Does that sound fair to everybody?
>> > >> >>>>>>
>> > >> >>>>>> It sounds good to me, but I will let someone more
>> knowledgeable
>> > >> >> about
>> > >> >>>>>> connect chime in.
>> > >> >>>>>>
>> > >> >>>>>> best,
>> > >> >>>>>> Colin
>> > >> >>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> Kind regards,
>> > >> >>>>>>> Sönke
>> > >> >>>>>>>
>> > >> >>>>>>> [1]
>> > >> >>>>>>> https://github.com/apache/kafka/blob/trunk/connect/runtime/
>> > >> >>>>>> src/main/java/org/apache/kafka/connect/runtime/rest/
>> > >> >>>>>> resources/ConnectorsResource.java#L102
>> > >> >>>>>>>
>> > >> >>>>>>> On Tue, Oct 24, 2017 at 8:40 PM, Colin McCabe <
>> > cmcc...@apache.org
>> > >> >>>
>> > >> >>>>>> wrote:
>> > >> >>>>>>>
>> > >> >>>>>>>>> On Tue, Oct 24, 2017, at 11:28, Sönke Liebau wrote:
>> > >> >>>>>>>>> Hi,
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> after reading your messages I'll grant that I might have
>> > >> >> picked
>> > >> >>> a
>> > >> >>>>>>>>> somewhat
>> > >> >>>>>>>>> draconic option to solve these issues.
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> In general I believe that properly encoding the URLs after
>> > >> >>> having
>> > >> >>>>>> created
>> > >> >>>>>>>>> the connectors should solve a lot of the issues already.
>> For
>> > >> >>> some
>> > >> >>>>>>>>> characters the rest api returns an error on creating the
>> > >> >>> connector
>> > >> >>>>>> as
>> > >> >>>>>>>>> well,
>> > >> >>>>>>>>> so for that URL encoding won't help. However the
>> connectors do
>> > >> >>> get
>> > >> >>>>>>>>> created
>> > >> >>>>>>>>> even though an error is returned, I've never investigated
>> if
>> > >> >>> they
>> > >> >>>>>> are in
>> > >> >>>>>>>>> a
>> > >> >>>>>>>>> consistent state tbh - I'll give this another look.
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> @colin: Entity encoding would allow us to encode a lot of
>> > >> >>>>>> characters,
>> > >> >>>>>>>>> however I am unsure whether we should prefer it over url
>> > >> >>> encoding
>> > >> >>>>>> in this
>> > >> >>>>>>>>> case, as mostly the end user would have to encode the
>> > >> >> characters
>> > >> >>>>>> himself.
>> > >> >>>>>>>>> And due to entity encoding ending every character with a ;
>> > >> >> which
>> > >> >>>>>> causes
>> > >> >>>>>>>>> the
>> > >> >>>>>>>>> embedded jetty server to cut the connector name at that
>> > >> >>> character
>> > >> >>>>>> we'd
>> > >> >>>>>>>>> probably need to encode that character in URL encoding
>> again
>> > >> >> for
>> > >> >>>>>> that to
>> > >> >>>>>>>>> work out - which might get a bit too complex tbh.
>> > >> >>>>>>>>
>> > >> >>>>>>>> Sorry, I meant to write percent-encoding, not entity refs.
>> > >> >>>>>>>> https://en.wikipedia.org/wiki/Percent-encoding
>> > >> >>>>>>>>
>> > >> >>>>>>>> best,
>> > >> >>>>>>>> Colin
>> > >> >>>>>>>>
>> > >> >>>>>>>>
>> > >> >>>>>>>>> I will further investigate which characters the url
>> decoding
>> > >> >>> that
>> > >> >>>>>> jetty
>> > >> >>>>>>>>> brings to the table will let us use and if all of these are
>> > >> >>>>>> correctly
>> > >> >>>>>>>>> handled during connector creation and report back with a
>> new
>> > >> >>> list
>> > >> >>>> of
>> > >> >>>>>>>>> characters that I think we can support fairly easily.
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> Kind regards,
>> > >> >>>>>>>>> Sönke
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> On Tue, Oct 24, 2017 at 6:42 PM, Colin McCabe <
>> > >> >>> cmcc...@apache.org
>> > >> >>>>>
>> > >> >>>>>>>> wrote:
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>> It should be possible to use entity references to encode
>> > >> >> these
>> > >> >>>>>>>>>> characters in URLs.  See https://dev.w3.org/html5/html-
>> > >> >>>>>> author/charref
>> > >> >>>>>>>>>> Maybe I'm misunderstanding the problem, but can we simply
>> > >> >>> encode
>> > >> >>>>>> the
>> > >> >>>>>>>>>> URLs, rather than restricting the names?
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> best,
>> > >> >>>>>>>>>> Colin
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>>> On Mon, Oct 23, 2017, at 14:12, Randall Hauch wrote:
>> > >> >>>>>>>>>>> Here's the link to KIP-212:
>> > >> >>>>>>>>>>> https://cwiki.apache.org/confluence/pages/viewpage.
>> > >> >>>>>>>>>> action?pageId=74684586
>> > >> >>>>>>>>>>>
>> > >> >>>>>>>>>>> I do think it's worthwhile to define the rules for
>> > >> >> connector
>> > >> >>>>>> names.
>> > >> >>>>>>>>>>> However, I think it would be better to describe the
>> > >> >> current
>> > >> >>>>>>>> restrictions
>> > >> >>>>>>>>>>> for names outside of them appearing within URLs. For
>> > >> >>> example,
>> > >> >>>>>> if we
>> > >> >>>>>>>> can
>> > >> >>>>>>>>>>> keep connector names relatively free of constraints but
>> > >> >>>> instead
>> > >> >>>>>>>> define
>> > >> >>>>>>>>>>> how
>> > >> >>>>>>>>>>> names should be encoded when used within URLs (e.g., URL
>> > >> >>>>>> encoding),
>> > >> >>>>>>>> then
>> > >> >>>>>>>>>>> we
>> > >> >>>>>>>>>>> may not have (m)any backward compatibility issues other
>> > >> >> than
>> > >> >>>>>> fixing
>> > >> >>>>>>>> some
>> > >> >>>>>>>>>>> bugs related to proper encoding/decoding.
>> > >> >>>>>>>>>>>
>> > >> >>>>>>>>>>> Thoughts?
>> > >> >>>>>>>>>>>
>> > >> >>>>>>>>>>>
>> > >> >>>>>>>>>>> On Mon, Oct 23, 2017 at 3:44 PM, Sönke Liebau <
>> > >> >>>>>>>>>>> soenke.lie...@opencore.com.invalid> wrote:
>> > >> >>>>>>>>>>>
>> > >> >>>>>>>>>>>> All,
>> > >> >>>>>>>>>>>>
>> > >> >>>>>>>>>>>> I've created a KIP to discuss enforcing of rules on what
>> > >> >>>>>>>> characters are
>> > >> >>>>>>>>>>>> allowed in connector names.
>> > >> >>>>>>>>>>>>
>> > >> >>>>>>>>>>>> Since this may break api calls that are currently
>> > >> >> working
>> > >> >>> I
>> > >> >>>>>>>> figured a
>> > >> >>>>>>>>>> KIP
>> > >> >>>>>>>>>>>> is the better way to go than to just create a jira.
>> > >> >>>>>>>>>>>>
>> > >> >>>>>>>>>>>> I'd love to hear your input on this!
>> > >> >>>>>>>>>>>>
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> --
>> > >> >>>>>>>>> Sönke Liebau
>> > >> >>>>>>>>> Partner
>> > >> >>>>>>>>> Tel. +49 179 7940878
>> > >> >>>>>>>>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880
>> Wedel -
>> > >> >>>>>> Germany
>> > >> >>>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> --
>> > >> >>>>>>> Sönke Liebau
>> > >> >>>>>>> Partner
>> > >> >>>>>>> Tel. +49 179 7940878
>> > >> >>>>>>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel -
>> > >> >>> Germany
>> > >> >>>>>>
>> > >> >>>>>
>> > >> >>>>>
>> > >> >>>>
>> > >> >>>
>> > >> >>>
>> > >> >>>
>> > >> >>> --
>> > >> >>> Sönke Liebau
>> > >> >>> Partner
>> > >> >>> Tel. +49 179 7940878 <+49%20179%207940878>
>> > >> >>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel -
>> > Germany
>> > >> >>>
>> > >> >>
>> > >> >
>> > >> >
>> > >> >
>> > >> > --
>> > >> > Sönke Liebau
>> > >> > Partner
>> > >> > Tel. +49 179 7940878 <+49%20179%207940878>
>> > >> > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel -
>> Germany
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Sönke Liebau
>> > > Partner
>> > > Tel. +49 179 7940878 <+49%20179%207940878>
>> > > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany
>> > >
>> >
>> >
>> >
>> > --
>> > Sönke Liebau
>> > Partner
>> > Tel. +49 179 7940878
>> > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany
>> >
>>
>
>
>
> --
> Sönke Liebau
> Partner
> Tel. +49 179 7940878 <+49%20179%207940878>
> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany
>



-- 
Sönke Liebau
Partner
Tel. +49 179 7940878
OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany

Reply via email to