For any 1.2.0 users - You will want to read this

(Mark Walkom) #1

In the 1.2.1 release we fixed a routing bug that had been introduced in
the 1.2.0 release. This was described in the 1.2.1 blog post. The contents
of this post apply only to users that ran 1.2.0.

Before we can discuss the tool we developed to help fix damage from the

bug, we have to understand the problem the bug created. When Elasticsearch
stores a document it has to decide which shard to put the document in. It
does this by computing a hash of the document’s “UID”, which is by default
the type#id tuple of the document. Elasticsearch then uses that hash modulo
the number of shards to pick a shard. We have to make sure that this hash
function works the same across different versions of Elasticsearch. If it
doesn’t, version X could expect to find a given document in shard 1 and
version X+1 could expect the same document in shard 2. In this case,
version X+1 could not directly get the document if it were indexed while
running version X.

Mark Walkom

Infrastructure Engineer
Campaign Monitor

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit

(system) #2