Hi everyone,

Thanks for the comments in the doc. I have updated the doc into wiki page.

As there are no further concerns, I will start a voting process soon.

Thanks,
Jark

On Fri, 15 Nov 2019 at 23:36, Jark Wu <imj...@gmail.com> wrote:

> Hi,
>
> Thank you all for the positive feedbacks so far.
>
> Timo discussed with me offline about the format properties, and we think
> that this FLIP
> should also cover formats, otherwise we need to touch the properties again
> in the future.
>
> The bad experience of format properties is that
> `format.derive-schema=true` should be set explicitly,
> otherewise users have to define schema for formats again in the
> properties. So I added a new section
> in the doc[1] to improve this, to make `derive-schema=true` as the default
> behavior and make all formats
> support it.
>
> Please take a look at the changes when you are free, and I will start a
> vote soon if no objections.
>
> Best,
> Jark
>
>
> [1]:
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>
>
> On Thu, 14 Nov 2019 at 21:20, Kurt Young <ykt...@gmail.com> wrote:
>
>> +1 to the general idea of this FLIP.
>>
>> Regarding to connector properties, IIUC it would be divided into 2 parts:
>> 1. connector.key1 = value1, these are interpreted by Flink framework and
>> do whatever needed for such property.
>> 2. connector.properties.xxx.key = value. There items are prefixed with
>> "connector.properties" and will passed into maybe connector's client
>> directly.
>>
>> Just want to confirm this and I'm +1 to this approach.
>>
>> Best,
>> Kurt
>>
>>
>> On Thu, Nov 14, 2019 at 5:36 PM Dawid Wysakowicz <dwysakow...@apache.org>
>> wrote:
>>
>> > Yes, personally I would also go with the external system's format for
>> > the exact reason you mentioned.
>> >
>> > Best,
>> >
>> > Dawid
>> >
>> > On 14/11/2019 10:32, Jark Wu wrote:
>> > > Hi Dawid,
>> > >
>> > > The `connector.properties.zookeeper.connect` sounds good to me.
>> > >
>> > > Just to clarify, in this way, we can support arbitrary properties and
>> we
>> > > can document the important ones.
>> > > And regarding to the value format, shall we use the external system's
>> > > format or use Flink's format, e.g. the list separator?
>> > > I would prefer the external system's format, so that keys and values
>> are
>> > > all forwarded directly.
>> > >
>> > > Best,
>> > > Jark
>> > >
>> > >
>> > > On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <
>> dwysakow...@apache.org>
>> > > wrote:
>> > >
>> > >> Hi Jark,
>> > >>
>> > >> I see the not readable point and that is also my concern about my
>> > >> suggestion with all the properties under a single key as the list
>> might
>> > get
>> > >> quite long.
>> > >>
>> > >> What do you think about modifying your suggestion a bit and at least
>> add
>> > >> the `properties` prefix? So that we can distinguish the Kafka defined
>> > >> properties and the Flink's ones?
>> > >>
>> > >> What do you think about properties like:
>> > >>
>> > >> connector.properties.zookeeper.connect: ....
>> > >>
>> > >> connector.properties.bootstrap-servers: ....
>> > >>
>> > >>
>> > >> I think that's also what Konstantin was suggesting. I might be wrong
>> on
>> > >> that though :)
>> > >>
>> > >> Best,
>> > >>
>> > >> Dawid
>> > >>
>> > >>
>> > >> On 14/11/2019 04:52, Jark Wu wrote:
>> > >>
>> > >> Hi Dawid, Konstantin,
>> > >>
>> > >> This is an interesting topic. I will list the prons and cons of
>> these 2
>> > >> options.
>> > >>
>> > >> 1) under a single key: `connector.properties`
>> > >> Cons:
>> > >>  - Users can pass in arbitrary properties defined in kafka docs
>> > >> Prons:
>> > >>  - The property value is collapsed together and will be long and not
>> > >> readable.
>> > >>  - Some values may need to be escaped because of the separator.
>> > >>
>> > >> 2) flattened keys: `connector.zookeeper.connect`,
>> `connector.bootstrap.
>> > >> servers`
>> > >> Cons:
>> > >> - Better validation and helpful exception message if the value is
>> wrong.
>> > >> - Better documentation about which properties are required and what
>> it
>> > >> means.
>> > >> - Easy to write.
>> > >> Prons:
>> > >> - If users want to pass in other kafka properties, need to support
>> them
>> > and
>> > >> wait until the next major release.
>> > >>
>> > >> From my point of view, we can support both #1 and #2, but #2 will
>> > override
>> > >> the values defined in #1.
>> > >> So that, users can define the important properties in falttented
>> keys,
>> > and
>> > >> can define unsupported properties in `connector.properties`.
>> > >>
>> > >> What do you think?
>> > >>
>> > >> Best,
>> > >> Jark
>> > >>
>> > >>
>> > >>
>> > >> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <
>> > konstan...@ververica.com> <konstan...@ververica.com>
>> > >> wrote:
>> > >>
>> > >>
>> > >> Hi Dawid, Hi Jark,
>> > >>
>> > >> in my experience it is very important to be able to forward arbitrary
>> > >> properties to the underlying KafkaClient. This seems to be possible
>> in
>> > both
>> > >> cases. I am leaning towards Jark's original suggestion. Flink's
>> > >> documentation would only need to state that it forwards everything
>> under
>> > >> "connector.properties" to the KafkaClient.
>> > >>
>> > >> If the external system has a different formatting scheme, we could
>> still
>> > >> document this on a per-connector basis (use Flink's formatting scheme
>> > and
>> > >> document how it is translated to the external system's native
>> > properties)
>> > >> or if possible use the external system's scheme under
>> > >> "connector.properties". I don't really know the limitations on our
>> side
>> > >> w.r.t this.
>> > >>
>> > >> Cheers,
>> > >>
>> > >> Konstantin
>> > >>
>> > >>
>> > >>
>> > >> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <
>> > dwysakow...@apache.org> <dwysakow...@apache.org>
>> > >> wrote:
>> > >>
>> > >>
>> > >> Hi Jark,
>> > >>
>> > >> Majority of the changes make sense to me. I think they will be
>> helpful
>> > >>
>> > >> for
>> > >>
>> > >> the users. I have a slight concern about the
>> > >>
>> > >> kafka's connector.properties property :) .  I wonder if we should
>> have
>> > >> them under a single key:
>> > >>
>> > >> connector.properties:
>> > >>
>> > >>
>> >
>> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
>> > >>
>> > >> As far as I understand it, these are mostly the properties that are
>> > >> forwarded straight to the underlying KafkaClient. Such properties are
>> > >> mostly defined and documented by the kafka itself rather than flink.
>> > They
>> > >> might also follow a different formatting scheme than we have for our
>> > >> properties. Moreover how do we decide which properties are put into
>> the
>> > >> Properties object and which are not? I would be happy to hear what
>> > others
>> > >> think about that part, as I am not convinced myself about that part.
>> > >>
>> > >> Best,
>> > >>
>> > >> Dawid
>> > >> On 13/11/2019 13:22, Jark Wu wrote:
>> > >>
>> > >> Hi everyone,
>> > >>
>> > >> Connector properties is a very basic component which is used to
>> > >>
>> > >> construct a
>> > >>
>> > >> connector table via YAML, descriptor API, or DDL. It is also the
>> > >> serialization representation when persisting into catalog. However,
>> we
>> > >>
>> > >> have
>> > >>
>> > >> encountered some problems when using connector properties,
>> especially in
>> > >> DDL. This FLIP is aiming to solve following two issues:
>> > >>
>> > >> - FLINK-14645: Data types defined in DDL loses precision and
>> nullability
>> > >> when converting to properties.
>> > >> - FLINK-14649: Some properties structure is hard to define in DDL,
>> e.g.
>> > >> List and Map structure.
>> > >>
>> > >> This FLIP proposes new properties to represent data types in schema
>> and
>> > >>
>> > >> to
>> > >>
>> > >> flatten properties in existing connectors.
>> > >>
>> > >> FLIP-86:
>> > >>
>> > >>
>> >
>> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>> > >>
>> > >> Thanks for any feedback!
>> > >>
>> > >> Best,
>> > >> Jark
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >>
>> > >> Konstantin Knauf | Solutions Architect
>> > >>
>> > >> +49 160 91394525
>> > >>
>> > >>
>> > >> Follow us @VervericaData Ververica <https://www.ververica.com/> <
>> > https://www.ververica.com/>
>> > >>
>> > >>
>> > >> --
>> > >>
>> > >> Join Flink Forward <https://flink-forward.org/> <
>> > https://flink-forward.org/> - The Apache Flink
>> > >> Conference
>> > >>
>> > >> Stream Processing | Event Driven | Real Time
>> > >>
>> > >> --
>> > >>
>> > >> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>> > >>
>> > >> --
>> > >> Ververica GmbH
>> > >> Registered at Amtsgericht Charlottenburg: HRB 158244 B
>> > >> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason,
>> Ji
>> > >> (Tony) Cheng
>> > >>
>> > >>
>> > >>
>> >
>> >
>>
>

Reply via email to