You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This page is meant as a template for writing a KIP. To create a KIP choose Tools->Copy on this page and modify with your content and replace the heading with the next KIP number and a description of your issue. Replace anything in italics with your own description.

Status

Current state: "Under Discussion"

Discussion thread: [here] 

JIRA: here 

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

Kafka Streams has a set of configs with `default.` prefix. The intent for the default-prefix is to make a distinction between, well the default, and in-place overwrites in the code. Eg, users can specify ts-extractors on a per-topic basis.

However, for the deserialization- and production-exception handlers, no such overwrites are possible, and thus, `default.` does not really make sense, because there is just one handler overall. Via KIP-1033 we added a new processing-exception handler w/o a default-prefix, too.

Thus, we should consider to deprecate the two existing configs names and add them back w/o the `default.` prefix.

Public Interfaces

The below configs in org.apache.kafka.streams.StreamsConfig will be deprecated

  • default.deserialization.exception.handler
  • default.production.exception.handler

Configs to be added to org.apache.kafka.streams.StreamsConfig

  • deserialization.exception.handler
  • production.exception.handler

Proposed Changes

Describe the new thing you want to do in appropriate detail. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences. Use judgement based on the scope of the change.

Deprecate the below and create two new configs without prefix 'default.'

  • default.deserialization.exception.handler
  • default.production.exception.handler

Rename the below :

  • DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_DOC to DESERIALIZATION_EXCEPTION_HANDLER_CLASS_DOC
  • DEFAULT_PRODUCTION_EXCEPTION_HANDLER_CLASS_DOC to PRODUCTION_EXCEPTION_HANDLER_CLASS_DOC

Compatibility, Deprecation, and Migration Plan

The below configs will be marked for deprecation, and new configs will be introduced, and in later further releases, they could be removed

  • default.deserialization.exception.handler
  • default.production.exception.handler

Test Plan

Describe in few sentences how the KIP will be tested. We are mostly interested in system tests (since unit-tests are specific to implementation details). How will we know that the implementation works as expected? How will we know nothing broke?

  • Update relevant dependency tests for old configs
  • Add new tests for new configs

Rejected Alternatives

None

  • No labels