[ https://issues.apache.org/jira/browse/KAFKA-4882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16458285#comment-16458285 ]
ASF GitHub Bot commented on KAFKA-4882: --------------------------------------- ewencp closed pull request #2675: KAFKA-4882: Remove internal converter configuration from example property files URL: https://github.com/apache/kafka/pull/2675 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/config/connect-distributed.properties b/config/connect-distributed.properties index b0092bb9b54..b92712483e0 100644 --- a/config/connect-distributed.properties +++ b/config/connect-distributed.properties @@ -30,13 +30,6 @@ value.converter=org.apache.kafka.connect.json.JsonConverter key.converter.schemas.enable=true value.converter.schemas.enable=true -# The internal converter used for offsets and config data is configurable and must be specified, but most users will -# always want to use the built-in default. Offset and config data is never visible outside of Kafka Connect in this format. -internal.key.converter=org.apache.kafka.connect.json.JsonConverter -internal.value.converter=org.apache.kafka.connect.json.JsonConverter -internal.key.converter.schemas.enable=false -internal.value.converter.schemas.enable=false - # Topic to use for storing offsets. This topic should have many partitions and be replicated. offset.storage.topic=connect-offsets diff --git a/config/connect-standalone.properties b/config/connect-standalone.properties index 8760590a6da..ce349f22326 100644 --- a/config/connect-standalone.properties +++ b/config/connect-standalone.properties @@ -25,13 +25,6 @@ value.converter=org.apache.kafka.connect.json.JsonConverter key.converter.schemas.enable=true value.converter.schemas.enable=true -# The internal converter used for offsets and config data is configurable and must be specified, but most users will -# always want to use the built-in default. Offset and config data is never visible outside of Kafka Connect in this format. -internal.key.converter=org.apache.kafka.connect.json.JsonConverter -internal.value.converter=org.apache.kafka.connect.json.JsonConverter -internal.key.converter.schemas.enable=false -internal.value.converter.schemas.enable=false - offset.storage.file.filename=/tmp/connect.offsets # Flush much faster than normal, which is useful for testing/debugging offset.flush.interval.ms=10000 diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConfig.java b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConfig.java index 680edaf97dc..29a3e7b8d6f 100644 --- a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConfig.java +++ b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConfig.java @@ -62,6 +62,7 @@ " Examples of common formats include JSON and Avro." + " This setting controls the format used for internal bookkeeping data used by the framework, such as" + " configs and offsets, so users can typically use any functioning Converter implementation."; + public static final String INTERNAL_KEY_CONVERTER_CLASS_DEFAULT = "org.apache.kafka.connect.json.JsonConverter"; public static final String INTERNAL_VALUE_CONVERTER_CLASS_CONFIG = "internal.value.converter"; public static final String INTERNAL_VALUE_CONVERTER_CLASS_DOC = @@ -71,6 +72,7 @@ " Examples of common formats include JSON and Avro." + " This setting controls the format used for internal bookkeeping data used by the framework, such as" + " configs and offsets, so users can typically use any functioning Converter implementation."; + public static final String INTERNAL_VALUE_CONVERTER_CLASS_DEFAULT = "org.apache.kafka.connect.json.JsonConverter"; public static final String TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS_CONFIG = "task.shutdown.graceful.timeout.ms"; @@ -136,9 +138,11 @@ protected static ConfigDef baseConfigDef() { .define(VALUE_CONVERTER_CLASS_CONFIG, Type.CLASS, Importance.HIGH, VALUE_CONVERTER_CLASS_DOC) .define(INTERNAL_KEY_CONVERTER_CLASS_CONFIG, Type.CLASS, - Importance.LOW, INTERNAL_KEY_CONVERTER_CLASS_DOC) + INTERNAL_KEY_CONVERTER_CLASS_DEFAULT, Importance.LOW, + INTERNAL_KEY_CONVERTER_CLASS_DOC) .define(INTERNAL_VALUE_CONVERTER_CLASS_CONFIG, Type.CLASS, - Importance.LOW, INTERNAL_VALUE_CONVERTER_CLASS_DOC) + INTERNAL_VALUE_CONVERTER_CLASS_DEFAULT, Importance.LOW, + INTERNAL_VALUE_CONVERTER_CLASS_DOC) .define(TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS_CONFIG, Type.LONG, TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS_DEFAULT, Importance.LOW, TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS_DOC) diff --git a/tests/kafkatest/tests/connect/templates/connect-distributed.properties b/tests/kafkatest/tests/connect/templates/connect-distributed.properties index 48f5f789fae..d86dcc80356 100644 --- a/tests/kafkatest/tests/connect/templates/connect-distributed.properties +++ b/tests/kafkatest/tests/connect/templates/connect-distributed.properties @@ -29,11 +29,6 @@ key.converter.schemas.enable={{ schemas|default(True)|string|lower }} value.converter.schemas.enable={{ schemas|default(True)|string|lower }} {% endif %} -internal.key.converter=org.apache.kafka.connect.json.JsonConverter -internal.value.converter=org.apache.kafka.connect.json.JsonConverter -internal.key.converter.schemas.enable=false -internal.value.converter.schemas.enable=false - offset.storage.topic={{ OFFSETS_TOPIC }} config.storage.topic={{ CONFIG_TOPIC }} status.storage.topic={{ STATUS_TOPIC }} diff --git a/tests/kafkatest/tests/connect/templates/connect-standalone.properties b/tests/kafkatest/tests/connect/templates/connect-standalone.properties index 09c648720c7..d17ac077d78 100644 --- a/tests/kafkatest/tests/connect/templates/connect-standalone.properties +++ b/tests/kafkatest/tests/connect/templates/connect-standalone.properties @@ -26,9 +26,4 @@ key.converter.schemas.enable={{ schemas|default(True)|string|lower }} value.converter.schemas.enable={{ schemas|default(True)|string|lower }} {% endif %} -internal.key.converter=org.apache.kafka.connect.json.JsonConverter -internal.value.converter=org.apache.kafka.connect.json.JsonConverter -internal.key.converter.schemas.enable=false -internal.value.converter.schemas.enable=false - offset.storage.file.filename={{ OFFSETS_FILE }} ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Remove internal converter configuration from example property files > ------------------------------------------------------------------- > > Key: KAFKA-4882 > URL: https://issues.apache.org/jira/browse/KAFKA-4882 > Project: Kafka > Issue Type: Bug > Reporter: Gwen Shapira > Assignee: Mitch Seymour > Priority: Major > Labels: newbie > > Our internal converter configuration is shown in > connect-distributed.properties and connect-standalone.properties. > This tempts users to change it. > In particular, they seem to believe it needs to be identical to key/value > converters. > In reality, Connect doesn't deal well with anything other than schemaless > JSON as the internal converter. Users get errors and find it hard to figure > out what went wrong (since this is internal, they are not expected to). > Let's stop tempting users into shooting their own feet? -- This message was sent by Atlassian JIRA (v7.6.3#76005)