[jira] [Updated] (KAFKA-6161) Introduce new serdes interfaces with empty configure() and close()
[ https://issues.apache.org/jira/browse/KAFKA-6161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ewen Cheslack-Postava updated KAFKA-6161: - Labels: needs-kip (was: ) > Introduce new serdes interfaces with empty configure() and close() > -- > > Key: KAFKA-6161 > URL: https://issues.apache.org/jira/browse/KAFKA-6161 > Project: Kafka > Issue Type: Improvement > Components: clients, streams >Reporter: Evgeny Veretennikov >Assignee: Evgeny Veretennikov >Priority: Major > Labels: needs-kip > > {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods > {{configure()}} and {{close()}}. Pretty often one want to leave these methods > empty. For example, a lot of serializers inside > {{org.apache.kafka.common.serialization}} package have these methods empty: > {code} > @Override > public void configure(Map configs, boolean isKey) { > // nothing to do > } > @Override > public void close() { > // nothing to do > } > {code} > To avoid such boilerplate, we may create new interfaces (like > {{UnconfiguredSerializer}}), in which we will define these methods empty. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (KAFKA-6161) Introduce new serdes interfaces with empty configure() and close()
[ https://issues.apache.org/jira/browse/KAFKA-6161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Matthias J. Sax updated KAFKA-6161: --- Component/s: streams > Introduce new serdes interfaces with empty configure() and close() > -- > > Key: KAFKA-6161 > URL: https://issues.apache.org/jira/browse/KAFKA-6161 > Project: Kafka > Issue Type: Improvement > Components: clients, streams >Reporter: Evgeny Veretennikov >Assignee: Evgeny Veretennikov >Priority: Normal > > {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods > {{configure()}} and {{close()}}. Pretty often one want to leave these methods > empty. For example, a lot of serializers inside > {{org.apache.kafka.common.serialization}} package have these methods empty: > {code} > @Override > public void configure(Map configs, boolean isKey) { > // nothing to do > } > @Override > public void close() { > // nothing to do > } > {code} > To avoid such boilerplate, we may create new interfaces (like > {{UnconfiguredSerializer}}), in which we will define these methods empty. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (KAFKA-6161) Introduce new serdes interfaces with empty configure() and close()
[ https://issues.apache.org/jira/browse/KAFKA-6161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Evgeny Veretennikov updated KAFKA-6161: --- Description: {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods {{configure()}} and {{close()}}. Pretty often one want to leave these methods empty. For example, a lot of serializers inside {{org.apache.kafka.common.serialization}} package have these methods empty: {code} @Override public void configure(Map configs, boolean isKey) { // nothing to do } @Override public void close() { // nothing to do } {code} To avoid such boilerplate, we may create new interfaces (like {{UnconfiguredSerializer}}), in which we will define these methods empty. was: {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods {{configure()}} and {{close()}}. Pretty often one want to leave these methods empty. For example, a lot of serializers inside {{org.apache.kafka.common.serialization}} package have these methods empty: {code} @Override public void configure(Map configs, boolean isKey) { // nothing to do } @Override public void close() { // nothing to do } {code} Since we switched to source level 1.8 for javac, we can make these methods empty by default. As another option, we may create new interfaces (like {{UnconfiguredSerializer}}), in which we will define these methods empty, but just making methods default seems more convenient. As a side note, making methods default shouldn't be binary incompatible. So, seems like it's safe to make this change. > Introduce new serdes interfaces with empty configure() and close() > -- > > Key: KAFKA-6161 > URL: https://issues.apache.org/jira/browse/KAFKA-6161 > Project: Kafka > Issue Type: Improvement > Components: clients >Reporter: Evgeny Veretennikov >Assignee: Evgeny Veretennikov >Priority: Normal > > {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods > {{configure()}} and {{close()}}. Pretty often one want to leave these methods > empty. For example, a lot of serializers inside > {{org.apache.kafka.common.serialization}} package have these methods empty: > {code} > @Override > public void configure(Map configs, boolean isKey) { > // nothing to do > } > @Override > public void close() { > // nothing to do > } > {code} > To avoid such boilerplate, we may create new interfaces (like > {{UnconfiguredSerializer}}), in which we will define these methods empty. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (KAFKA-6161) Introduce new serdes interfaces with empty configure() and close()
[ https://issues.apache.org/jira/browse/KAFKA-6161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Evgeny Veretennikov updated KAFKA-6161: --- Summary: Introduce new serdes interfaces with empty configure() and close() (was: Make configure() and close() empty by default in serde interfaces) > Introduce new serdes interfaces with empty configure() and close() > -- > > Key: KAFKA-6161 > URL: https://issues.apache.org/jira/browse/KAFKA-6161 > Project: Kafka > Issue Type: Improvement > Components: clients >Reporter: Evgeny Veretennikov >Assignee: Evgeny Veretennikov >Priority: Normal > > {{Serializer}}, {{Deserializer}} and {{Serde}} interfaces have methods > {{configure()}} and {{close()}}. Pretty often one want to leave these methods > empty. For example, a lot of serializers inside > {{org.apache.kafka.common.serialization}} package have these methods empty: > {code} > @Override > public void configure(Map configs, boolean isKey) { > // nothing to do > } > @Override > public void close() { > // nothing to do > } > {code} > Since we switched to source level 1.8 for javac, we can make these methods > empty by default. > As another option, we may create new interfaces (like > {{UnconfiguredSerializer}}), in which we will define these methods empty, but > just making methods default seems more convenient. > As a side note, making methods default shouldn't be binary incompatible. So, > seems like it's safe to make this change. -- This message was sent by Atlassian JIRA (v6.4.14#64029)