[ 
https://issues.apache.org/jira/browse/KAFKA-7971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16777528#comment-16777528
 ] 

Guozhang Wang commented on KAFKA-7971:
--------------------------------------

I see: you have some logic which is not really data-driven but system-time 
driven.

If you are using Processor API to construct your Topology already you can 
consider using punctuation functions within a transformer, which is the parent 
of a sink node sending to the topic, in the punctuator then, you can access the 
store, and sends the result to the downstream sink node via 
`ProcessorContext#forward()`, and in which case the sink node will be 
responsible for sending the data to the topic.

Does that sounds right to you?

> Producer in Streams environment
> -------------------------------
>
>                 Key: KAFKA-7971
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7971
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Maciej Lizewski
>            Priority: Minor
>              Labels: newbie
>
> Would be nice to have Producers that can emit messages to topic just like any 
> producer but also have access to local stores from streams environment in 
> Spring.
> consider case: I have event sourced ordering process like this:
> [EVENTS QUEUE] -> [MERGING PROCESS] -> [ORDERS CHANGELOG/KTABLE]
> Merging process uses local storage "opened orders" to easily apply new 
> changes.
> Now I want to implement process of closing abandoned orders (orders that were 
> started, but for too long there was no change and they hang in beginning 
> status). Easiest way is to periodically scan "opened orders" store and 
> produce "abandon event" for every order that meets criteria. The obnly way 
> now i to create Transformer with punctuator and connect output to [EVENTS 
> QUEUE]. That is obvious. but Transformer must be also connected to some input 
> stream, but these events must be dropped as we want only the punctuator 
> results. This causes unnecessary overhead in processing input messages 
> (although they are just dropped) and it is not very elegant.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to