Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-17091: Add @FunctionalInterface to Streams interfaces #16544

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

raymcdermott
Copy link

Goal

Add @FunctionalInterface to Streams interfaces to enable Clojure 1.12 (and any other JVM language) to have the correct hints for these SAM interfaces.

The Clojure issue is here

Testing

Unit tests and system tests all pass locally.

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@bbejeck
Copy link
Contributor

bbejeck commented Jul 8, 2024

Hi @raymcdermott thanks for the PR! Since this is a change to the public interface code of Kafka Streams, this PR will require a KIP. Ping me here once you create a wiki ID (step 2 in the getting started section from the page referenced above) and I'll go in and give you edit permissions to create a KIP.

@C0urante C0urante added the kip Requires or implements a KIP label Jul 8, 2024
@mjsax
Copy link
Member

mjsax commented Jul 8, 2024

It seems ForeachAction is missing?

Also wondering about TransformerSupplier (and siblings) -- are they not effectively deprecated via https://cwiki.apache.org/confluence/display/KAFKA/KIP-820%3A+Extend+KStream+process+with+new+Processor+API (even if the KIP does not say so expliclity -- what might be a miss on our end to add to the KIP... Thoughts)

What about other PAPI interfaces like FixedKeyProcessor, api.Processor (not sure if both quality or not), Punctuator, StateRestoreCallback (maybe?), StreamPartitioner, TimestampExtractor, TopicNameExtractor, and IQ interface Query?

Not sure if there might be other I have missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kip Requires or implements a KIP streams
Projects
None yet
4 participants