With the fixes to ISSUE #596 ISSUE
which allowed auto replication should honor ensemble placement policy,
this patch also removed `targetBookie` from ReplicationWorker which means
any node can replicate 'to' any other node in the cluster.

This is great but I believe it exposes an issue.

Given that RackAwareEnsemble policy defaults to finding a replacement
bookie within
the same rack, when a bookie is lost in a rack, the entire cluster will be
to the same 'rack'. This puts a lot of pressure on the rack and also takes
a longer time
to bring up the replication levels.

I would think the right fix is to bring back the targetBookie concept (with
a configuration parameter) and add placement check predicate on top of it.
When this is configured
each bookie picks up the work,  checks if the ensemble placement policy
gets satisfied,
if so replicate it, if not move on.


First they ignore you, then they laugh at you, then they fight you, then
you win. - Mahatma Gandhi

Reply via email to