THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Table of Contents |
---|
Current state: "DISCUSS"
...
- StreamsConfig:
- Rename default.windowed.key.serde.inner to windowed.deserializer.inner.class.
- Deprecate default.windowed.value.serde.inner.
Code Block language java theme Midnight public static final String WINDOWED_DESERIALISER_INNER_CLASS = "windowed.deserializer.inner.class"; private static final String WINDOWED_DESERIALISER_INNER_CLASS_DOC = " Deserializer for the inner class of a windowed key. Must implement the " + "<code>org.apache.kafka.common.serialization.Deserializer</code> interface."; @Deprecated public static final String DEFAULT_WINDOWED_VALUE_SERDE_INNER_CLASS = "default.windowed.value.serde.inner";
- ConsoleConsumer
- It would be mandatory to pass windowed.deserializer.inner.class and window.size.ms config. <Need to check how to do this>
- TimeWindowedDeserializer
- Inside configure method, ensure that innerClassDeserialiser passed via constructor and the config are not conflicting. What it means is that:
- If both inner and windowedDeserialiserInnerClass are set, then they should be the pointing to the same class.
- Atleast one of inner and windowedDeserialiserInnerClass are set.
Code Block language java theme Midnight if (innerClassDeserializer != null && configInnerClassDeserializer != null) { if (innerClassDeserializer != configInnerClassDeserializer) throw new IllegalArgumentException("Inner class deserializer passed via constructor and config windowed.deserializer.inner.class should match"); } else if (innerClassDeserializer == null && configInnerClassDeserializer == null) { throw new IllegalArgumentException("Inner class deserializer should be passed either via constructor or via "); }
- Inside configure method, ensure that innerClassDeserialiser passed via constructor and the config are not conflicting. What it means is that:
Compatibility, Deprecation, and Migration Plan
Since default.windowed.key.serde.inner config is being rename to windowed.deserializer.inner.class in StreamConfig and also default.windowed.value.serde.inner is being deprecated, we will have to follow a deprecation path for the same. We can maybe enforce the removal of the deprecated configs and then enforce users?
...