[rabbitmq-discuss] Network partitions

Simon MacMullen simon at rabbitmq.com
Thu Oct 3 17:02:30 BST 2013


On 03/10/2013 4:56PM, Alvaro Videla wrote:
>     Err, what? Where did you get that idea?
>
>
> On the following blog post and other CAP Theorem discussions on
> HN/Twitter/etc: http://aphyr.com/posts/288-the-network-is-reliable

Oh, I see.

But that's not talking about Erlang specifically. Other GCed languages 
such as Java tend to have a global heap - GC is done globally and the 
whole server process hangs while this happens. It's easy to see how a 
node could be considered dead in this scenario.

But Erlang has a per-process heap - so each individual connection / 
queue / channel / etc has its own small GC pause while the rest of the 
server keeps going. And the underlying node-down detection is done by 
the Erlang VM anyway, using non-GCed native code.

So I don't think this is a possibility for RabbitMQ.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, Pivotal


More information about the rabbitmq-discuss mailing list