title: Why do I get 'unknown delivery tag' error when I requeue a message in rabbitmq the second time?
body: <p>In my application, after I get a message from rabbitmq, I push the message to a client, and wait for its ACK message, if the client doesn't reply with a ACK after some time, I requeue the message in rabbitmq with <code>basic.reject</code> with <code>requeue</code> being true.</p>
  
  <p>This works fine for the first requeue operation, but after I requeue the same message for the second time, the channel is closed abruptly. From the server log, I get this error:</p>
  
  <pre><code>{amqp_error,precondition_failed,"unknown delivery tag 2",'basic.reject'}
  </code></pre>
  
  <p>I gather this is because the message has been removed from the queue. Why is this happening?</p>