-
Notifications
You must be signed in to change notification settings - Fork 15
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
[SOL-38491] queueMaxMsgRedelivery
not working
#13
Comments
Thanks for opening this ticket @FWinkler79! You did indeed find a bug. It looks like the The bug seems to be in the re-queue logic that is enabled when Line 99 in 967921c
Heads up @Nephery! We can discuss this tomorrow as well :) @FWinkler79 as an FYI, I ran out of time today but I'm hoping to take a closer look at your other ticket tomorrow. |
queueMaxMsgRedelivery
not workingqueueMaxMsgRedelivery
not working
… error-handling (#46) * Renamed "Binder DMQ" to "Error Queue" * Fix requeuing logic (closes #13) * requeuing is no longer supported for anonymous consumer groups (i.e. temporary queues) since these cannot be rebound. * Add support for manual acknowledgments (closes #14) * Removed the message discard error handling strategy from defined consumer groups. The new default for these will be requeuing.
### Global * Major version bump to `2.0.0` * Upgrade to `spring-cloud` `2020.0.1` * Upgrade to `spring-boot` `2.4.3` * Upgrade to `sol-jcsmp` `10.10.0` * Upgrade to `sol-jms` `10.10.0` * Fix Java 11 build (#38) * Migrate CI from Travis to Github Actions * Use Maven Failsafe plugin to run integration tests ### Solace Spring Cloud Stream Binder * Major version bump to `3.0.0` * Add Solace Spring Message Headers (#50) * Add `SolaceHeaders` and `SolaceBinderHeaders` * Bidirectionally map `SolaceHeaders` to JCSMP properties so message handlers can read/write Solace properties * Renamed "Binder DMQ" to "Error Queue" * Fix requeuing logic (#13) * requeuing is no longer supported for anonymous consumer groups (i.e. temporary queues) since these cannot be rebound. * Add support for manual acknowledgments (#14) * Removed the message discard error handling strategy from defined consumer groups. The new default for these will be requeuing. * Add support for wildcard destinations (#3) * add consumer config options to omit group name from the consumer group queue or error queue names (#28) * add `errorQueueNameOverride` consumer config option to override the generated error queue name with a custom config-provided one. (#28) * Add `headerExclusions` producer config option to exclude headers from published messages * Add `nonserializableHeaderConvertToString ` producer config option to convert non-serializable headers to strings * Override the default DMQ eligibility when publishing to be true (#9) * Remove `solace_raw_message` error-channel message header in favor of `sourceData` header * Fix JMS interoperability * Fix `null` payload error handling (#54) * Fix error handling failures (#36) * Add `errorMsgDmqEligibility` consumer config option to override failed input messages' DMQ eligibility property when republishing to error queues * Refactor default generated queue names to be more similar to Solace's shared subscriptions feature * Fix asynchronous publishing exceptions to be sent to error channels (#34) * Properly construct the `ErrorMessage` for publisher failures * Configure client info provider to display Solace SCSt Binder release details * Reduce warning levels from WARN to INFO when provisioning is disabled or when subscriptions already exist on queues * Document ACL Profile tips when using error queues (#60) ### Solace Spring Cloud Connector * Upgrade to `spring-cloud-connectors` `2.2.13.RELEASE` (version managed separately from spring cloud BOM)
Closed with #75 |
My use case is the following:
I am using the following configuration:
with the following
@StreamListener
code:Expected behaviour: Message processing should not be retried (i.e. using RetryTemplate), but the message should be re-queued and immediately re-delivered to the
@StreamListener
. After 3 re-delivery attempts (spring.cloud.stream.solace.bindings.jobTriggers.consumer.queue-max-msg-redelivery: 3
) the message should not be re-queued and no re-delivery should take place.Observed behaviour: The message gets re-delivered indefinitely. This is independent of whether
queue-max-msg-redelivery
is used orqueueMaxMsgRedelivery
. Also thedmq-max-msg-redelivery
does not have any effect here.This is crucial defect, as it leaves the application without any chance to recover from failure scenarios, if the application wants to use message re-delivery as described above.
The text was updated successfully, but these errors were encountered: