[ 
https://issues.apache.org/jira/browse/HDDS-5946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17439318#comment-17439318
 ] 

Tsz-wo Sze commented on HDDS-5946:
----------------------------------

[~micahzhao], thanks for testing it. You are right that we don't have a good 
way to implement Retry without a bufferList. How about we make the size of the 
buffer list configurable? However, we may need to block the client when the 
buffer list is full.
{quote}a single client to write 400 files concurrently. and each file 128MB.
{quote}
This seems the worst case – writing many small files concurrently. For writing 
larges files, the buffers will be released after the watch replied success.

> 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 and need 
> more memory.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to