Details
-
Improvement
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
- While working with SNS IO for one of my work-related projects, I found that the IO uses synchronous publishes during writes. I had a simple mock pipeline where I was reading from a kinesis stream and publishing it to SNS using Beam's SNS IO. For comparison, I also had a lamdba which did the same using asynchronous publishes but was about 5x faster. Changing the SNS IO to use async publishes would improve publish latencies.
- SNS IO also has some retry logic which isn't required as SNS clients can handle retries. The retry logic in the SNS client is user-configurable and therefore, an explicit retry logic in SNS IO is not required
I have a working version of the IO with these changes, will create a PR linking this ticket to it once I get some feedback here.
Attachments
Issue Links
- is related to
-
BEAM-13203 Potential data loss when using SnsIO.writeAsync
- Resolved
- links to