Github user twalthr commented on a diff in the pull request: https://github.com/apache/flink/pull/6387#discussion_r204394099 --- Diff: flink-connectors/flink-connector-kafka-base/src/main/java/org/apache/flink/streaming/connectors/kafka/KafkaTableSink.java --- @@ -40,27 +45,68 @@ @Internal public abstract class KafkaTableSink implements AppendStreamTableSink<Row> { + // TODO make all attributes final and mandatory once we drop support for format-specific table sinks + + /** The schema of the table. */ + private final Optional<TableSchema> schema; + + /** The Kafka topic to write to. */ protected final String topic; + + /** Properties for the Kafka producer. */ protected final Properties properties; - protected SerializationSchema<Row> serializationSchema; + + /** Serialization schema for encoding records to Kafka. */ + protected Optional<SerializationSchema<Row>> serializationSchema; + + /** Partitioner to select Kafka partition for each item. */ protected final FlinkKafkaPartitioner<Row> partitioner; + + // legacy variables protected String[] fieldNames; protected TypeInformation[] fieldTypes; + /** --- End diff -- Having more comments doesn't harm. It is also done in other internal classes such as `org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducerBase`. With more options that might be exposed in the future from the underlying producer this might become more important.
---