[ 
https://issues.apache.org/jira/browse/KAFKA-17131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthias J. Sax updated KAFKA-17131:
------------------------------------
    Description: 
We did replace `Processor` and related classes with `api.Processor` et al. – 
However, there is also `ProcessorContext` which was deprecated via KIP-478 (AK 
2.7) but not marked as deprecated as it was in use in many other places.

Many of the methods which used the old `ProcessorContext` got removed in AK 4.0 
release, and some others are already deprecated.

However, `ProcessorContext` is still in use in internal code, and we should try 
to refactor internal code (especially for state stores) to move off the old 
interface, so we can eventually remove it (most likely in AK 5.0).

  was:
We did replace `Processor` and related classes with `api.Processor` et al. – 
However, there is also `ProcessorContext`:

While `ProcessorContext` has a new `api.ProcessorContext` equivalent, 
`ProcessorContext` is still used in other places (eg `StateStore#init`, and 
`DeserializationExceptionHandler`)

Note, that we also have `api.ProcessingContext` as well as `StateStoreContext` 
interfaces.

Side note: In general, `StateStore` is a very leaky abstraction, as it serves 
two purposes. It's an interface to implement a custom `StateStore` and the top 
level interface to access state stores inside a `Processor`, and thus, we leak 
"runtime" method (like `init()` / `close()`) into `Processor` where they should 
not be expose.

I might be worth to look into this, and figure out how to clean this all up.


> Cleanup `ProcessorContext` an related interfaces
> ------------------------------------------------
>
>                 Key: KAFKA-17131
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17131
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Matthias J. Sax
>            Priority: Major
>              Labels: needs-kip
>
> We did replace `Processor` and related classes with `api.Processor` et al. – 
> However, there is also `ProcessorContext` which was deprecated via KIP-478 
> (AK 2.7) but not marked as deprecated as it was in use in many other places.
> Many of the methods which used the old `ProcessorContext` got removed in AK 
> 4.0 release, and some others are already deprecated.
> However, `ProcessorContext` is still in use in internal code, and we should 
> try to refactor internal code (especially for state stores) to move off the 
> old interface, so we can eventually remove it (most likely in AK 5.0).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to