<div dir="ltr">Michael,<div><br></div><div>Thank you for your reply. With regard to your comment:<br><br>"<span style="font-family:arial,sans-serif;font-size:13px">My guess is that when you use UUIDs, implicit conversion happens and those</span></div>
<span style="font-family:arial,sans-serif;font-size:13px">that happen to have digits as initial characters result in messages being routed</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">but others are voided."<br>
<br>Do you mean to say that those "voided" messages didn't make it to a queue or weren't hashed but simply put to an arbitrary queue? I know the former isn't the case because I sent 500K messages and at the end of the test the total of all the queues was 500K.</span><div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Regards,</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Richard</span></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 16, 2013 at 2:43 PM, Michael Klishin <span dir="ltr"><<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On oct 16, 2013, at 11:58 p.m., Richard Raseley <<a href="mailto:richard@raseley.com">richard@raseley.com</a>> wrote:<br>
<br>
> 1) Why am I seeing such uneven distribution of messages between the queues bound to the x-consistent-hash exchange?<br>
><br>
> 2) What can I do to ensure the most even distribution of messages as possible across the queues bound to the x-consistent-has exchange?<br>
<br>
</div>Consistent hash exchange requires routing keys to be integers *as strings* (yes,<br>
this is unfortunate, but routing keys have to be strings in the protocol).<br>
<br>
My guess is that when you use UUIDs, implicit conversion happens and those<br>
that happen to have digits as initial characters result in messages being routed<br>
but others are voided. You can try publishing the messages as mandatory<br>
and see if any of them are returned.<br>
<br>
This requirement is mentioned in README:<br>
<br>
<a href="http://hg.rabbitmq.com/rabbitmq-consistent-hash-exchange/file/rabbitmq_v3_1_5/README.md#l99" target="_blank">http://hg.rabbitmq.com/rabbitmq-consistent-hash-exchange/file/rabbitmq_v3_1_5/README.md#l99</a><br>
<br>
See <a href="https://github.com/ruby-amqp/bunny/blob/master/spec/higher_level_api/integration/consistent_hash_exchange_spec.rb" target="_blank">https://github.com/ruby-amqp/bunny/blob/master/spec/higher_level_api/integration/consistent_hash_exchange_spec.rb</a><br>
for example (not in Python but hopefully demonstrative enough).<br>
<span class="HOEnZb"><font color="#888888"><br>
MK<br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>