Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state:  Under Discussion Accepted

Discussion thread[DISCUSS] KIP-265: Make Windowed Serde to public APIsTBD

JIRA

Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuerykey = KAFKA-4831 OR key = KAFKA-6592
serverId5aa69414-a9e9-3523-82ec-879b028fb15b

...

And in ConsoleConsumer class, add the new StreamsConfigs names into its options:, we let the deserializers to configure themselves, so that users can pass the inner serde as part of the message formatter properties with `key.deserializer.` and `value.deserializer.` prefix, which can then eventually be used by the deserailizer configuration logic to set the inner serde class.

 

Code Block
val innerKeyDeserializerOptmessageFormatterArgOpt = parser.accepts(StreamsConfig.DEFAULT_WINDOWED_KEY_SERDE_INNER_CLASS)"property",
  "The properties to initialize the message .withRequiredArg
  formatter. Default properties include:\n" +
    .describedAs("inner serde for key when windowed deserialier is used; would be ignored otherwise")
      .ofType(classOf[String])


val innerValueDeserializerOpt = parser.accepts(StreamsConfig.DEFAULT_WINDOWED_VALUE_SERDE_INNER_CLASS)
      .withRequiredArg
      .describedAs("inner serde for value when windowed deserialier is used; would be ignored otherwise")
      .ofType(classOf[String]"\tprint.timestamp=true|false\n" +
    "\tprint.key=true|false\n" +
    "\tprint.value=true|false\n" +
    "\tkey.separator=<key.separator>\n" +
    "\tline.separator=<line.separator>\n" +
    "\tkey.deserializer=<key.deserializer>\n" +
    "\tvalue.deserializer=<value.deserializer>\n" +
    "\nUsers can also pass in customized properties for their formatter; more specifically, users " +
    "can pass in properties keyed with \'key.deserializer.\' and \'value.deserializer.\' prefixes to configure their deserializers.")


Note that for all windowed serdes, the inner serde can be either passed in during construction, or be configured in the configure call via the added inner serde classes.

...