[
https://issues.apache.org/jira/browse/HDFS-6659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14121290#comment-14121290
]
Vinayakumar B commented on HDFS-6659:
-------------------------------------
I think I understand your points [~langera].
I have little queries..
1. Exactly where in HDFS this is needed?
2.
bq.This is a lot less heavy in terms of latency for that particular call. It
also avoids having large amount of contiguous heap space and so behaves nicer
with garbage collection
I agree that 'BlockList' will handle allocation of new lists efficiently. But
how it will de-allocate the memory once all the elements are deleted one by
one?
I think everything will be filled with gap indexes itself. right?
> Create a Block List
> -------------------
>
> Key: HDFS-6659
> URL: https://issues.apache.org/jira/browse/HDFS-6659
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Affects Versions: 2.4.1
> Reporter: Amir Langer
> Assignee: Amir Langer
> Labels: perfomance
> Attachments: HDFS-6659.patch
>
>
> BlockList - An efficient array based list that can extend its capacity with
> two main features:
> 1. Gaps (result of remove operations) are managed internally without the need
> for extra memory - We create a linked list of gaps by using the array index
> as references + An int to the head of the gaps list. In every insert
> operation, we first use any available gap before extending the array.
> 2. Array extension is done by chaining different arrays, not by allocating a
> larger array and copying all its data across. This is a lot less heavy in
> terms of latency for that particular call. It also avoids having large amount
> of contiguous heap space and so behaves nicer with garbage collection.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)