Nothing Special   »   [go: up one dir, main page]

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

Suppress functionality #70

Open
agayev169 opened this issue Apr 7, 2021 · 14 comments
Open

Suppress functionality #70

agayev169 opened this issue Apr 7, 2021 · 14 comments
Labels
Milestone

Comments

@agayev169
Copy link

I was looking for the suppression over table functionality as in the Java version of Kafka Streams. Is it planned to be added in the future?

@LGouellec
Copy link
Owner

You seems mentionned this feature ? :

KTable<String, String> table = builder.table("topic");
table.suppress(...);

It's planned on my roadmap, not in future release 1.2.0, but surely in 1.3.0 release.

@agayev169
Copy link
Author

@LGouellec do you think it is possible to add this functionality in the next release if it is implemented till that time?

@LGouellec
Copy link
Owner

@agayev169 to finish next release, I miss this PR.
Persistent Preview State Store with RocksDb State store implementation (key/value, timestamp & window). I hope release this version end April / begin May.
Unfortunately, I can't have enought time to implement Supress(..) processor. So if you want contribute, please feel free to create a PR. It could cool :)

@agayev169
Copy link
Author

Great!
I will have a look at this problem, and if I am able to finish it I will create a PR.
Thank you for the fast response!

@yornstei
Copy link

@agayev169 @LGouellec is there any progress/plan to add this functionality?

@LGouellec
Copy link
Owner

Hi @yornstei ,

I updated the compare list, https://github.com/LGouellec/kafka-streams-dotnet/tree/1.4#compare-kafka-streams-vs-streamiz

For now, the suppress(..) processor is not present in any roadmap.

Do you have any workaround regarding this feature ?

Best regards,

@yornstei
Copy link

@LGouellec thanks for the reply.

I'd like to emit an event if within a specific window a status is updated more than x amount of times for a particular key, and only get notified at the end of the window. It seems like the suppress functionality is build for this and I cannot think of an elegant way to accomplish this without it.

Any idea how to go about this without suppress?

Thanks for your help!

@LGouellec
Copy link
Owner

@yornstei

Unfortunately no for now. You have the transform API will be release in 1.4.0 but you haven't the possibility to downstream record for now.

Best regards,

@LGouellec
Copy link
Owner

I will reopen this issue and track the up-vote for 1.5.0 or 1.6.0

@LGouellec LGouellec reopened this Nov 23, 2022
@LGouellec LGouellec added the 1.6.0 label Jun 9, 2023
@LGouellec LGouellec added 1.7.0 and removed 1.6.0 labels Jul 6, 2023
@oroiandan193
Copy link

Hi @LGouellec ,
Any idea/workaround to suppress event bursts which go from mongo to ES through kafka connector ? I am also listening to that topic to react to entity changes but they are too many. Was thinking about groupby, aggregate and take last event in a windowed time which is suppressed.

How`s roadmap looking so far ? :) when can we expect 1.7.0 ?
Thx, much appreciated !

@LGouellec
Copy link
Owner

@oroiandan193,
No today without this suppress feature, you can't remove the intermediate records.
It's flagged for 1.7.0 because before that, the library must a cache feature flagged for 1.6.0

@LGouellec LGouellec added this to the 1.7.0 milestone Jul 31, 2024
@LGouellec LGouellec changed the title Suppression functionality Suppress functionality Sep 13, 2024
@tvergilio
Copy link

Is there a workaround for this? I would like to wait until all the events for a window have arrived, then perform some aggregation and emit one result, once, at the watermark (end of the window + configured lateness tolerance).

@LGouellec
Copy link
Owner

Hi @tvergilio ,

Today, the only workaround is to implement your own processors but it's not so easy !
Supress(..) is part of the 1.7.0 milestone, which will be release Q4 2024.

@tvergilio
Copy link

I agree, it is not straightforward. Looking forward to the next release, this is a powerful feature which could enable more advanced aggregation and stream processing abstractions. Thanks for the quick reply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants