Hi @Robert,
I also wanted to chime in here! I agree with the points that you’ve made and I think it’s safe to say if we were starting from scratch today DMQ Eligible would be true by default for the reasons that you stated above. And for these reasons, DMQ Eligible is indeed set to true by default in our new Java and Python Messaging APIs. It is also set to true in our newer connectors like Boomi, MuleSoft and in our Spring Cloud Stream Binder. That said, we do have 15+ years of history and for backwards compatibility reasons the default for DMQ Eligible is false for our classic SMF APIs, such as JCSMP.
*Note, just a heads up that if you are using JMS you can set DMQ Eligible at the Connection Factory level
Why does it get switched back from true to false when storing message in DMQ ? (that make easy copy of messages from DMQ back to main queue more complex then needed). As when moving back message from DMQ to main queue you must set it back to true as on re-publish again an error could occur which should park message again back to DMQ. Not set would loose message.
This is interesting to me as well. I’ve seen this brought up a few times in the past and would suggest that if you work for a customer w/ paid support please open a feature request via a support ticket. I can’t say it will be worked soon, but the more requests that come in a feature the more likely it will be prioritized.