Description
In Genesis benchmark for block allocation it was found that BlockManager#allocateBlock call was very slow for higher number of pipelines. This happens because allocateBlock call gets list of pipelines with a particular replication type, replication factor and state. This list is calculated by traversing the entries of a map. This Jira aims to optimize the call by introducing query map in Pipeline Manager.
The pipeline manager would keep a maintain a list of pipelines for every query type i.e. for every replication type, replication factor.