SEPURI-SAI-KRISHNA commented on issue #13078:
URL: https://github.com/apache/seatunnel/issues/13078#issuecomment-6570091147
@SEZ9 thanks for the review on #10753. I have updated the note above. Where
the four questions stand:
- **1. Scope** and **4. Slice order** are settled by your comment.
- **2. Naming** and **3. Jar location** are still open. The note proposes
plugin `Jms` and module `connector-jms`, vendor jars in
`${SEATUNNEL_HOME}/plugins/connector-jms/`, and bundling the Geronimo JMS 1.1
API jar. Could you or another maintainer confirm or correct these two? I will
start slice 1 once they are confirmed.
What changed in the note:
- **Section 1** says explicitly that the connector does not replace #12341
and leaves `connector-activemq` and `connector-rabbitmq` as they are.
- **Final checkpoint on stop:** unchanged, design item 5.
- **Commit failure after the checkpoint is confirmed** (new item 8): the
reader fails, as `ActivemqSourceReader` does on a failed acknowledgement, and
Zeta fails the pipeline and restores it from the last completed checkpoint,
within `job.retry.times`. If the broker did not apply the commit, it redelivers
the epoch: duplicates, no loss. If it applied the commit and only the reply was
lost: no loss, no duplicates.
- **Two findings from the extended spike:** after a broker side drop,
ActiveMQ Classic with its default prefetch returned `null` from
`receiveNoWait()` instead of throwing, so the reader detects a lost connection
through an `ExceptionListener` (item 9). With its default prefetch, a sealed
ActiveMQ Classic consumer held its prefetched messages until the commit, so the
docs will recommend a low `prefetchPolicy.queuePrefetch` (item 10).
- **In-flight bound** (item 11): it must stay below broker limits such as
the IBM MQ `MaxUncommittedMsgs` attribute, and it caps a reader at about the
bound per checkpoint interval.
- **Spike results** now give the broker and client versions, how each
failure is injected and what each provider did. Code, run instructions and
logs:
https://gist.github.com/SEPURI-SAI-KRISHNA/7aabc26904659c6a1348578d66e84e6e
- **Licence** unchanged: `geronimo-jms_1.1_spec` 1.1.1 (Apache License 2.0)
is the only new dependency, and no vendor client is bundled.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]