[ 
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]

Reply via email to