[
https://issues.apache.org/jira/browse/HDDS-181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16554616#comment-16554616
]
Tsz Wo Nicholas Sze commented on HDDS-181:
------------------------------------------
- OpenContainerBlockMap should not be synchronized for a better performance.
- There is a memory leak in removeContainer(..) -- it sets the entry to null
instead of removing it.
- addChunkToMap may add the same chunk twice. See the comments below.
{code}
keyDataSet.putIfAbsent(blockID.getLocalID(), getKeyData(info, blockID));
// (1) when id is absent, it puts
keyDataSet.computeIfPresent(blockID.getLocalID(), (key, value) -> { //
(2) now, the id is present, it adds again.
value.addChunk(info);
return value;
});
{code}
> CloseContainer should commit all pending open Keys on a datanode
> ----------------------------------------------------------------
>
> Key: HDDS-181
> URL: https://issues.apache.org/jira/browse/HDDS-181
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: Ozone Datanode
> Reporter: Shashikant Banerjee
> Assignee: Shashikant Banerjee
> Priority: Major
> Fix For: 0.2.1
>
> Attachments: HDDS-181.01.patch, HDDS-181.02.patch, HDDS-181.03.patch,
> HDDS-181.04.patch, HDDS-181.05.patch, HDDS-181.06.patch, HDDS-181.07.patch
>
>
> A close container command arrives in the Datanode by the SCM heartBeat
> response.It will then be queued up over the ratis pipeline. Once the command
> execution starts inside the Datanode, it will mark the container in CLOSING
> State. All the pending open keys for the container now will be committed
> followed by the transition of the container state from CLOSING to CLOSED. For
> achieving this, all the open keys for a container need to be tracked.
> This Jira aims to address this.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]