Closed djMax closed 7 years ago
I don't quite understand it yet, but this seems likely to be the cause. The headers on initial delivery are:
"fields": {
"consumerTag": "Maxs-iMac.local.node.41159.test.q",
"deliveryTag": 3,
"redelivered": false,
"exchange": "test",
"routingKey": "testkey"
},
After rejection and using shovel, they are like this:
"fields": {
"consumerTag": "Maxs-iMac.local.node.41159.test.q",
"deliveryTag": 4,
"redelivered": false,
"exchange": "",
"routingKey": "test.q"
},
Rejecting that second message dumps it into the aether.
I now realize this is me misunderstanding shovels. The default one in the UI blows up the exchange and routingkey values, but I can create a dynamic shovel in the UI that does not. So, not a rabbot bug at all.
I have 3 queues: main, main.retry and main.rejected. (I don't think retry matters for the problem I describe)
main has DLX of main.rejected main.retry has a DLX of main with a TTL of n seconds
A message comes in on main and I reject it. It correctly goes into main.rejected. THEN, I use the message shovel to put it BACK in main. The subscriber processes it again and rejects it again. At this point, the message just disappears. Why?