While binding the queue with exchange, it stores the binding options in instance variable and in next line it removes :key from options. When amqp tries to reset queue after unbind/disconnect it uses the previously stored binding options, which no more has :key hence new queues are created without any routing keys.
While binding the queue with exchange, it stores the binding options in instance variable and in next line it removes :key from options. When amqp tries to reset queue after unbind/disconnect it uses the previously stored binding options, which no more has :key hence new queues are created without any routing keys.
I have already submitted the pull request for it.