[
https://issues.apache.org/jira/browse/HDDS-5946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
mingchao zhao updated HDDS-5946:
--------------------------------
Description:
When I tested write performance with the new client, I got the following
exception
!screenshot-2.png!
I found the problem started after we implemented retry in HDDS-5674. In the
test, I used a single client to write 400 files concurrently. and each file
128MB. The client's memory will become much larger than before.
!screenshot-3.png!
The reason for this is that bufferList is used in Retry to maintain references
to all byteBuffers currently being written. The client will hold those
references to byteBuffer until ack. In the past, all Bytebuffers were released
after they were sent, but now we need to wait for write successful before
releasing. So now the client will accumulate more Bytebuffers.
was:
When I tested write performance with the new client, I got the following
exception
!screenshot-2.png!
I found the problem started after we implemented retry in HDDS-5674. In the
test, I used a single client to write 400 files concurrently. and each file
128MB. The client's memory will become much larger than before.
!screenshot-3.png!
The reason for this is that bufferList is used in Retry to maintain references
to all byteBuffers currently being written. The client will hold those
references to byteBuffer until ack.
> The 'Cannot allocate Memory 'problem occurs in client while test write
> -----------------------------------------------------------------------
>
> Key: HDDS-5946
> URL: https://issues.apache.org/jira/browse/HDDS-5946
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: mingchao zhao
> Priority: Major
> Attachments: screenshot-2.png, screenshot-3.png
>
>
> When I tested write performance with the new client, I got the following
> exception
> !screenshot-2.png!
> I found the problem started after we implemented retry in HDDS-5674. In the
> test, I used a single client to write 400 files concurrently. and each file
> 128MB. The client's memory will become much larger than before.
> !screenshot-3.png!
> The reason for this is that bufferList is used in Retry to maintain
> references to all byteBuffers currently being written. The client will hold
> those references to byteBuffer until ack. In the past, all Bytebuffers were
> released after they were sent, but now we need to wait for write successful
> before releasing. So now the client will accumulate more Bytebuffers.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]