KIP-100 — Relax Type constraints in Kafka Streams API
Accepted Kafka 1.0 Streams
Relaxes generic type bounds in Kafka Streams API methods (e.g., `KStream.filter`, `KStream.map`, `KTable.join`) to use use-site variance (`? super K`, `? super V`, `? extends R`) so that functions typed on supertypes or subtypes are accepted without unchecked casting. The existing invariant bounds force callers to write explicit type casts or duplicate lambda logic when working with type hierarchies.
Details
| Author | Xavier Léauté |
| Status | Accepted |
| Kafka Version | 1.0 |
| JIRA | KAFKA-4481 |
| Wiki | View on Apache Wiki |
| Created | 2016-12-08 |
| Last Modified | 2017-01-19 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.