Mukund Thakur created HADOOP-18106:
--------------------------------------

             Summary: Handle memory fragmentation in S3 Vectored IO 
implementation.
                 Key: HADOOP-18106
                 URL: https://issues.apache.org/jira/browse/HADOOP-18106
             Project: Hadoop Common
          Issue Type: Sub-task
          Components: fs/s3
            Reporter: Mukund Thakur
            Assignee: Mukund Thakur


As we have implemented merging of ranges in the S3AInputStream implementation 
of vectored IO api, it can lead to memory fragmentation. Let me explain by 
example.

 

Suppose client requests for 3 ranges. 

0-500, 700-1000 and 1200-1500.

Now because of merging, all the above ranges will get merged into one and we 
will allocate a big byte buffer of 0-1500 size but return sliced byte buffers 
for the desired ranges.

Now once the client is done reading all the ranges, it will only be able to 
free the memory for requested ranges and memory of the gaps will never be 
released for eg here (500-700 and 1000-1200).

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-dev-h...@hadoop.apache.org

Reply via email to