Re: [Openstack] RPC Semantics

2012-06-12 Thread Eric Windisch
We actually do have ACKs in ZeroMQ, as far as I understand how they work in AMQP, but they're really simple. The send() method is actually synchronous with the message being received on the other end. However, we don't wait for this and spawn an eventlet coroutine, because there is no benefit

Re: [Openstack] RPC Semantics

2012-06-12 Thread Johannes Erdfelt
On Tue, Jun 12, 2012, Eric Windisch e...@cloudscaling.com wrote: We actually do have ACKs in ZeroMQ, as far as I understand how they work in AMQP, but they're really simple. The send() method is actually synchronous with the message being received on the other end. However, we don't wait for

Re: [Openstack] RPC Semantics

2012-06-12 Thread Eric Windisch
For instance, an instance migration can take a while since we need to copy many gigabytes of disks to another host. If we want to do a software upgrade, we either need to wait a long time for the migration to finish, or we need to restart the service and then restart the processing of the

Re: [Openstack] RPC Semantics

2012-06-12 Thread Russell Bryant
On 06/12/2012 12:55 PM, Johannes Erdfelt wrote: As part of a patch to add idempotency to the xenapi driver, I've modified impl_kombu driver to implement delayed ACKs. This is so RPC messages are retried after nova-compute restarts. https://review.openstack.org/#/c/7323/ However, this only

Re: [Openstack] RPC Semantics

2012-06-12 Thread Johannes Erdfelt
On Tue, Jun 12, 2012, Eric Windisch e...@cloudscaling.com wrote: For instance, an instance migration can take a while since we need to copy many gigabytes of disks to another host. If we want to do a software upgrade, we either need to wait a long time for the migration to finish, or we

Re: [Openstack] RPC Semantics

2012-06-12 Thread Eric Windisch
When will the sending service know that it should resend a message? Wouldn't this be best done a pull basis be the receiving service? I'm obviously approaching from the perspective of the ZeroMQ driver which has a PUSH-PULL pair that are tightly coupled. A successful PULL is a successful