Closed Z-Sai closed 7 months ago
@Z-Sai do you have some code to share that reproduces the problem? also, can you see if you still have problems with amqproxy v0.8.14?
Correct, when the client closes a channel with publish confirm on we can't reuse it, as acks/nacks from the server might still not have been delivered, instead being sent to another client that reuses the channel and won't expected them. The delivery_tag
in the ack/nack frame will also be out of sync of the new client.
Correct, when the client closes a channel with publish confirm on we can't reuse it, as acks/nacks from the server might still not have been delivered, instead being sent to another client that reuses the channel and won't expected them. The
delivery_tag
in the ack/nack frame will also be out of sync of the new client.
Thanks for the reply, it's exactly what I expected.
When the publisher confirmation mechanism is enabled, the channel is forcibly closed, but the connection remains online normally. If the publisher confirmation mechanism is not enabled, everything returns to normal. The AMQProxy version is 0.8.8, and the PHP AMQP component is: "php amqplib/php amqplib": "^ 3.5". But I think this should be when AMQProxy decides to close the channel, as my application directly connects to the proxy.
Of course, I have also thought of deliberately designing this because when a channel is placed in the channel pool maintained by AMQProxy after enabling the publisher confirmation mechanism, it may be reused by other applications that have not enabled the publisher confirmation mechanism, which can lead to unpredictable errors. I am not sure if this is what I thought.