Oh, thanks for the reply.:) No, I do not need it asap. Now it is only reserch. Does your <span class="Apple-style-span" style>ambitious project opensource too?Will kombu be compatible?</span><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><br>
</font><div class="gmail_quote">2012/1/11 Ask Solem <span dir="ltr"><<a href="mailto:ask@rabbitmq.com">ask@rabbitmq.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
On 11 Jan 2012, at 10:33, Roman Sokolkov wrote:<br>
<br>
> Hi, Ask.<br>
><br>
> Could you tell about kamqp status? I see last commit from 14th of November.<br>
><br>
><br>
> For me interesting heartbeat feature and publisher confirms.<br>
<br>
</div>Yeah, the kamqp project is on hold, as I have embarked on a more ambitious project<br>
that will solve the same things. But if this is something<br>
that you are in need of asap, I could help finish the implementation in kamqp as a temporary solution.<br>
<div class="im"><br>
><br>
> I played with kamqp and kombu. I see that heartbeats works, but kamqp doesn't closed the connection if network down. It already implemented?<br>
<br>
</div>Yeah, the implementation is not complete, so it doesn't behave correctly in all cases,<br>
but it shouldn't be much work to have it working.<br>
<div class="im"><br>
><br>
> What status of publisher confirms? Does kombu able to work with?<br>
<br>
</div>amqplib does not support publisher confirms.<br>
I started playing with publisher confirms in kamqp as well, and I think it should be doable, especially when using eventlet/gevent.<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> 2011/12/29 Roman Sokolkov <<a href="mailto:rsokolkov@gmail.com">rsokolkov@gmail.com</a>><br>
> Thanks, Ask!<br>
><br>
> amqplib versions after and including 1.0 enables SO_KEEPALIVE by default,<br>
> and Kombu versions after and including 1.2.1 depends on amqplib >= 1.0,<br>
> so maybe you should update your package dependencies?<br>
><br>
> devstack requied amqplib 0.6.1.<br>
><br>
> I will research the best solution more detailed.<br>
><br>
> 2011/12/29 Ask Solem <<a href="mailto:ask@rabbitmq.com">ask@rabbitmq.com</a>><br>
><br>
> On 28 Dec 2011, at 14:38, Roman Sokolkov wrote:<br>
><br>
>> Hi!<br>
>><br>
>> I tried to make Rabbit HA for Openstack.<br>
>><br>
>> My first e-mail was little innacurate.<br>
>><br>
>> I use two nodes with active/active rabbits with mirrored queues. Additionally I use Virtual IP. And all it managed by Pacemaker. Openstack uses this remote rabbitmq via VIP.<br>
>><br>
>> I hardly reboot node with VIP and VIP moves to other node. In this case, connections on Openstack host staying forever in ESTABLISHED state(in py-amqlib 0.6.1 no tcp keepalive options).<br>
>> Openstack think that all good and doesn't try to reconnect. But I if correctly stop RabbitMQ, connections closed correctly and Openstack will try to reconnect.<br>
>><br>
>> I solve this issue by adding tcp_keepalive options in py-amqlib(transport.py).<br>
><br>
> amqplib versions after and including 1.0 enables SO_KEEPALIVE by default,<br>
> and Kombu versions after and including 1.2.1 depends on amqplib >= 1.0,<br>
> so maybe you should update your package dependencies?<br>
><br>
><br>
><br>
>><br>
>><br>
>> It's very interesting what implemented in KAMQP. And how heartbeats work?<br>
><br>
> Heartbeats is functionality part of the amqp 0-8 spec.<br>
> Heartbeats are enabled by specifying a heartbeat frequency, the broker will then<br>
> send heartbeat frames at that suggested frequency, and the client will also have<br>
> to send heartbeat frames back. If heartbeats are missed by either the broker or client<br>
> the connection shall be disconnected.<br>
><br>
> It's a very simple concept, but the problem with amqplib is that it is non-threaded,<br>
> so it can be for the client to miss sending a heartbeat if it is blocking<br>
> elsewhere. This is not a problem when using eventlet/gevent (that is unless the process is blocking, but that should never happen when using greenlets).<br>
><br>
><br>
><br>
> --<br>
> Regards, Roman Sokolkov<br>
><br>
><br>
><br>
> --<br>
> Regards, Roman Sokolkov<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Regards, Roman Sokolkov<br>
</div>