package com.cloudera.flume.master.availability;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.cloudera.util.ReservoirSampler;
int failovers;
this.failovers = failovers;
}
Set<String> collectors = new HashSet<String>();
Map<String, List<String>> assignments = new HashMap<String, List<String>>();
@Override
collectors.add(collector);
}
@Override
collectors.remove(collector);
}
ReservoirSampler<String> res = new ReservoirSampler<String>(n, seed);
for (String col : collectors) {
res.onNext(col);
}
return res.sample();
}
@Override
List<String> colls = assignments.get(agent);
if (colls == null) {
colls = genRandomCollectors(failovers, agent.hashCode());
assignments.put(agent, colls);
}
return colls;
}
}