txamqp.protocol.AMQClient.close() not closing underlying transport
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
txAMQP |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Making a call to client.close() leaves an open socket to txamqp. Background, I have a twisted.web resource that connects to a rabbitmq and inspects the current sizes of a set of queues. After transmitting a response, the resource closes the txamqp channel and client it opened. However, today I realized that the underlying socket connection to txamqp remains open. Doing an lsof -i prints out:
TCP localhost.
TCP localhost.
This list continues to grow as I make more requests against the resource. After some debugging, I noticed that the txamqp client isn't actually calling close on the underlying transport. In order to close the sockets, I am forced to explicity call transport.
client.
client.
I would expect client.
d = ClientCreator(
Thus I end up with a reference to a txamqp.
Apologies ahead of time if i'm doing something dumb ;).
Changed in txamqp: | |
status: | Fix Committed → Fix Released |
Fixed in trunk. I applied your change and it works, thanks!