[Bug]: JMSIO.Write should better handle connection issues
What happened?
Currently JMS.Write catches all JMSException and routes the input records to failedMessagesTags.
Issues:
- there is no way to understand why record has failed, input record doesn't have exception attached to it
- in case of transient issues, if underlying jms.connection doesn't have connection recovery built-in (see activeMQ), connection won't recover, as connection is established on setup() method and is never recycled (e.g. after 100+ jms exceptions)
some comment: Vendors (IBM, activeMQ) has various exceptions and it's difficult to decide based on exception instance if this is network, transient issue or some other case.
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
- [ ] Component: Python SDK
- [x] Component: Java SDK
- [ ] Component: Go SDK
- [ ] Component: Typescript SDK
- [x] Component: IO connector
- [ ] Component: Beam YAML
- [ ] Component: Beam examples
- [ ] Component: Beam playground
- [ ] Component: Beam katas
- [ ] Component: Website
- [ ] Component: Infrastructure
- [ ] Component: Spark Runner
- [ ] Component: Flink Runner
- [ ] Component: Samza Runner
- [ ] Component: Twister2 Runner
- [ ] Component: Hazelcast Jet Runner
- [ ] Component: Google Cloud Dataflow Runner
@stankiewicz - please update the Issue Components to include Python also.
there is no jmsIO in python sdk yet.
This issue has been marked as stale due to 150 days of inactivity. It will be closed in 30 days if no further activity occurs. If you think that’s incorrect or this issue still needs to be addressed, please simply write any comment. If closed, you can reopen the issue at any time. Thank you for your contributions.