-
Notifications
You must be signed in to change notification settings - Fork 69
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
Need an mechanism in awssqssource to control parallelism #1343
Comments
Thanks for reaching @mikhno-s Currently our SQS Source works like this:
You seem to be asking for serialization control, so that there are a maximum of N items on the fly, being N = 1 i n your case, is it? Can you add some details on your scenario? It sounds like you have some processor that should only process one element at a time, which is not common to hear in event scenarios. |
Thanks for the quick response. Scheme is simple: I have an sqs as an input channel and there are around 1k messages to process. I want to control exactly how many messages will be in-flight because otherwise I reach the activator's (knative-serving component) timeout if multiple messages will be send to the sink at once. It's also typical flow for ML-like jobs. |
Hi @mikhno-s thanks for the details on this requirement. Any chance you can jump on a call sometime this week to discuss it with someone from the engineering team (probably Pablo) and myself? I can set up a zoom anytime that suits you. Cheers ! |
Sure, what is the preferable way to communicate with you, guys? |
Great! We can host a Zoom meeting if that works for you? Some timeslots that could work: Tuesday 2pm UTC, Wednesday 2pm UTC, Thursday 10am or 2pm UTC. |
Tuesday 2pm UTC + |
Great, is there a particular email I should use? Feel free to contact me at jonathan@triggermesh.com |
Hi @mikhno-s , I've scheduled a meeting for today and I can just share the Zoom link here in case that works for you: https://triggermesh.zoom.us/j/81980530997?pwd=OWFqMUppc2lxSHRtZUxqcTEvN3lLQT09 Cheers |
After talking with the team, I logged this issue to add concurrency control on broker triggers: triggermesh/brokers#127. Feedback welcome. |
How does this flow change when using a Kafka broker? More specifically, when do we delete the event from the SQS queue? Is it upon publishing to the kafka topic or upon that record receiving a successful response from the sink? For context, I am interested in the concurrency control outlined in triggermesh/brokers#127 but saw some activity that maybe using a Kafka Broker could mimic this control in lieu of that feature being implemented. I am trying to think about the failure scenarios using a Kafka Broker with an SQS source (e.g. could there be a situation where the Kafka broker goes down and the messages have been deleted from the SQS queue before being processed by the sink?) |
We have long-living jobs (10-15 min) in knative-serving that are triggered by messages from sqs.
And I see the problem here:
I need to have the ability to control the parallelism of the processing mechanism and I don't need fast process all messages but to consume 1 message, send to ksvc (or broker), wait until finished, and only then remove the message from sqs, repeat.
Is it possible to do it with triggermesh?
I found a lot of issues regarding a problem with such a scheme and looks like people need to have a mechanism for long-living jobs triggered by http.
The text was updated successfully, but these errors were encountered: