Hi all,

Following Chia-Ping's feedback, I updated the KIP and changed the target 
release from Kafka 4.4 to 4.5 because the 4.4 KIP freeze has passed.

The scan identified 75 heavily used candidates for class-by-class maintainer 
review. The KIP now includes the complete list, the discovery method, the usage 
metrics and limitations, and a review row for each class. External usage only 
prioritizes the discussion; it does not classify a class or automatically 
select deprecation.

Only `org.apache.kafka.common.utils.Utils` is currently proposed for staged 
deprecation: deprecated in Kafka 4.5 through a delegating compatibility shim, 
then removed in Kafka 5.0. The remaining unresolved rows are explicitly marked 
`Pending maintainer review`, not presented as agreed decisions.

Chia-Ping also suggested a possible strategy for the `Cache` family: deprecate 
`SynchronizedCache` and `LRUCache`, and move their implementation into the 
`Cache` interface. I recorded `Cache` for maintainer review even though its 
combined count of 937 is below the initial threshold.

KIP-1265 gives Kafka a consistent Private classification and an opt-in checker, 
but it does not produce compiler deprecation warnings or define a removal 
schedule. KIP-1320 adds a staged transition only for classes that maintainers 
separately confirm should receive one.

Details and generated results are available here:

- KIP: 
https://cwiki.apache.org/confluence/spaces/KAFKA/pages/421954685/KIP-1320+Deprecate+heavily+used+internal+APIs
- PoC and results: 
https://github.com/unknowntpo/kafka/tree/kip-1320-poc/api-checker/kip-1320-inventory-poc

I would appreciate maintainer input on the `Utils` 4.5-to-5.0 transition, the 
proposed `Cache` strategy, and the remaining per-class decisions.

Thanks,
Eric

Reply via email to