[
https://issues.apache.org/jira/browse/HDDS-1106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16770931#comment-16770931
]
Lokesh Jain commented on HDDS-1106:
-----------------------------------
[~linyiqun] Thanks for reviewing the patch!
| Why not also make {{State}} as one condition in {{PipelineQuery}}?
Currently we do not need to maintain list of pipelines in ALLOCATED and CLOSED
state. We are maintaining a separate list for OPEN pipelines because these
pipelines will frequently be queried in allocateBlock call.
Further the patch uses CopyOnWriteArrayList which is a concurrent list.
Maintaining concurrent list for all the states will give too much computation
overhead when we update pipeline state.
> Introduce queryMap in PipelineManager
> -------------------------------------
>
> Key: HDDS-1106
> URL: https://issues.apache.org/jira/browse/HDDS-1106
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Reporter: Lokesh Jain
> Assignee: Lokesh Jain
> Priority: Major
> Fix For: 0.4.0
>
> Attachments: HDDS-1106.001.patch, HDDS-1106.002.patch
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]