TL;DR, this is not unexpected and this is perfectly fine.

For every node, 'repair --local' will repair the "primary" (where primary
means "the first range on the ring picked by the consistent hashing for
this node given its token", nothing more) range of the node in the ring.
And that range will be repaired for all replica in all data-centers. When
you assign tokens to multiple DC, it's actually pretty common to offset the
tokens of one DC slightly compared to the other one. This will result in
the "primary" ranges being always small in one DC but not the other. But
please note that this perfectly ok, it does not imply any imbalance in
data-centers. It also don't really mean that the node of one DC actually do
a lot more work than the other ones: all nodes most likely contribute
roughly the same amount of work to the repair. It only mean that the nodes
of one DC "coordinate" more repair work that those of the other DC. Which
is not really a big deal since coordinating a repair is cheap.

--
Sylvain


On Wed, Jun 25, 2014 at 4:43 PM, Paulo Ricardo Motta Gomes <
paulo.mo...@chaordicsystems.com> wrote:

> Hello,
>
> I'm running repair on a large CF with the "--local" flag in 2 different
> DCs. In one of the DCs the operation takes about 1 hour per node, while in
> the other it takes 10 hours per node.
>
> I would expect the times to differ, but not so much. The writes on that CF
> all come from the DC where it takes 10 hours per node, could this be the
> cause why it takes so long on this DC?
>
> Additional info: C* 1.2.16, both DCs have the same replication factor.
>
> Cheers,
>
> --
> *Paulo Motta*
>
> Chaordic | *Platform*
> *www.chaordic.com.br <http://www.chaordic.com.br/>*
> +55 48 3232.3200
>

Reply via email to