<div>
                    Hi Matt,&nbsp;</div><div><br></div><div>I'll have to go back through and look at the fixed bugs. I know I've applied a fair amount of fixes to BlockingConnection, I'd not be surprised if this was one of them. There is a known blocker in Github master right now, but I expect to see 0.9.6 drop "real soon"</div><div><br></div><div>Feel free to check the issues list at http://github.com/pika/pika</div><div><br></div><div>Gavin</div>
                <div></div>
                 
                <p style="color: #A0A0A8;">On Wednesday, March 14, 2012 at 4:40 PM, Matt Pietrek wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div>I'm experiencing a KeyError exception, where the key is "Tx.SelectOk" when using Pika 0.9.5.</div><div><br></div><div>The scenario: A simple program that simply writes two messages a second to a queue. While this test is running, I stop the broker, then restart it a few seconds later. I explicitly check for AMQPConnectionError exceptions, and if seen reconnect to the broker. About half the time, the test works as intended. However, other times I see the KeyError exception, which my guess is not what's intended.</div><div><br></div><div>My writing code looks like this:</div><div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channel = self._channel</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channel.tx_select()</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channel.basic_publish(exchange='',</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; routing_key=queue_name,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; body=json_string,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; properties=pika.BasicProperties(delivery_mode=2))</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channel.tx_commit()</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except AMQPConnectionError as e:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self._reconnect()</div></div></div><div><br></div><div>Digging into the traceback data, the faulting line is in Pika's&nbsp;blocking_connection.py:rpc()</div><div><br></div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; # Find our reply in our list of replies</div><div>&nbsp; &nbsp; &nbsp; &nbsp; for reply in self._replies:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if reply in replies:</div><div><b><u>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; frame = self._frames[reply] # THIS HERE IS THE LINE</u></b></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self._received_response = True</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if callback:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; callback(frame)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; del(self._frames[reply])</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return frame</div></div><div><br></div><div>Known issue? Expected and acceptable? Thoughts?</div><div><br></div><div>Thanks,</div><div><br></div><div>Matt</div>
</div><div><div>_______________________________________________</div><div>rabbitmq-discuss mailing list</div><div><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a></div><div><a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>