Skip to content

KAFKA-18026: KIP-1112, clean up StatefulProcessorNode#18195

Merged
ableegoldman merged 3 commits intoapache:trunkfrom
ableegoldman:KIP-1112-StatefulProcessorNode-cleanup
Jan 15, 2025
Merged

KAFKA-18026: KIP-1112, clean up StatefulProcessorNode#18195
ableegoldman merged 3 commits intoapache:trunkfrom
ableegoldman:KIP-1112-StatefulProcessorNode-cleanup

Conversation

@ableegoldman
Copy link
Copy Markdown
Member

Final cleanup of StatefulProcessorNode after converting all stateful operators to adding state stores via implementing the #stores method. This PR can't be merged until we merge these two open PRs:

  1. KAFKA-18026: KIP-1112, migrate foreign-key joins to use ProcesserSupplier#stores  #18194 (FKJ)
  2. KAFKA-18026: KIP-1112 migrate KTableSuppressProcessorSupplier #18150 (suppress)

@mumrah
Copy link
Copy Markdown
Member

mumrah commented Dec 16, 2024

@ableegoldman #17881 adds a "triage" label to PRs from non-committers. Turns out this also affect committers if their membership visibility in the ASF GitHub org is not public. I added instructions for setting your membership visibility to public https://github.com/apache/kafka/blob/trunk/.github/workflows/README.md#pr-triage

@ableegoldman ableegoldman force-pushed the KIP-1112-StatefulProcessorNode-cleanup branch from af0931d to 8c061b7 Compare December 20, 2024 15:02
@github-actions

This comment was marked as outdated.

@mumrah mumrah removed triage PRs from the community needs-attention labels Dec 23, 2024
Copy link
Copy Markdown
Contributor

@guozhangwang guozhangwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Made a pass. Please feel free to merge after incorporating the unit test comment.

new ProcessorGraphNode<>(
aggFunctionName,
new ProcessorParameters<>(aggregateSupplier, aggFunctionName),
new String[] {storeFactory.storeName()}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for line 57 above and independent from the PR: just a thought, could we pass in storeFactory.storeName() in the future?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

final KTableValueGetterSupplier<KO, VO> foreignKeyValueGetter = ((KTableImpl<KO, VO, VO>) foreignKeyTable).valueGetterSupplier();
final StatefulProcessorNode<CombinedKey<KO, K>, Change<ValueAndTimestamp<SubscriptionWrapper<K>>>> subscriptionJoinNode =
new StatefulProcessorNode<>(
final ProcessorToStateConnectorNode<CombinedKey<KO, K>, Change<ValueAndTimestamp<SubscriptionWrapper<K>>>> subscriptionJoinNode =
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Originally I thought I do not need to use the newly introduced ProcessorToStateConnectorNode for this case but only needed for those process/transform with a store list, but thinking that again we probably do not have another way around at the moment..

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had the same thought actually. I did take a quick look at it but ultimately decided that whether or not it was possible, it would be too much for this one PR. So I'm going to revisit this in a followup PR if it does indeed make sense to do

@ableegoldman ableegoldman merged commit faef80a into apache:trunk Jan 15, 2025
ableegoldman added a commit that referenced this pull request Jan 15, 2025
Final cleanup of StatefulProcessorNode after converting all stateful operators to adding state stores via implementing the #stores method.
@ableegoldman
Copy link
Copy Markdown
Member Author

Merged to trunk and cherrypicked to 4.0

ableegoldman added a commit that referenced this pull request Jan 16, 2025
…18342)

Minor followup to #18195 that I split out into a separate PR since that one was getting a bit long. Should be rebased & reviewed after that one is merged.

Introduces a new class for windowed graph nodes with a grace period defined to improve (slightly) the type safety

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Almog Gavra <almog@responsive.dev>
pranavt84 pushed a commit to pranavt84/kafka that referenced this pull request Jan 27, 2025
Final cleanup of StatefulProcessorNode after converting all stateful operators to adding state stores via implementing the #stores method.
pranavt84 pushed a commit to pranavt84/kafka that referenced this pull request Jan 27, 2025
…pache#18342)

Minor followup to apache#18195 that I split out into a separate PR since that one was getting a bit long. Should be rebased & reviewed after that one is merged.

Introduces a new class for windowed graph nodes with a grace period defined to improve (slightly) the type safety

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Almog Gavra <almog@responsive.dev>
airlock-confluentinc bot pushed a commit to confluentinc/kafka that referenced this pull request Jan 27, 2025
Final cleanup of StatefulProcessorNode after converting all stateful operators to adding state stores via implementing the #stores method.
airlock-confluentinc bot pushed a commit to confluentinc/kafka that referenced this pull request Jan 27, 2025
…pache#18342)

Minor followup to apache#18195 that I split out into a separate PR since that one was getting a bit long. Should be rebased & reviewed after that one is merged.

Introduces a new class for windowed graph nodes with a grace period defined to improve (slightly) the type safety

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Almog Gavra <almog@responsive.dev>
manoj-mathivanan pushed a commit to manoj-mathivanan/kafka that referenced this pull request Feb 19, 2025
Final cleanup of StatefulProcessorNode after converting all stateful operators to adding state stores via implementing the #stores method.
manoj-mathivanan pushed a commit to manoj-mathivanan/kafka that referenced this pull request Feb 19, 2025
…pache#18342)

Minor followup to apache#18195 that I split out into a separate PR since that one was getting a bit long. Should be rebased & reviewed after that one is merged.

Introduces a new class for windowed graph nodes with a grace period defined to improve (slightly) the type safety

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Almog Gavra <almog@responsive.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants