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> 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> > 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/> > > > -- > > Join Flink Forward <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 >