[
https://issues.apache.org/jira/browse/HDFS-17364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17812748#comment-17812748
]
ASF GitHub Bot commented on HDFS-17364:
---------------------------------------
bbeaudreault opened a new pull request, #6514:
URL: https://github.com/apache/hadoop/pull/6514
### Description of PR
Follows the pattern of existing striped and hedged read shared resources.
Moves the singleton BUFFER_POOL from DFSStripedInputStream into DFSClient and
handles synchronized initialization of that pool.
### How was this patch tested?
I've deployed it to a few of my company's production hbase regionservers.
The config works, and the WeakReferencedElasticByteBufferPool helps reduce
stable memory usage by 1.5GB (would be load dependent).
### For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: have the integration tests been executed and the
endpoint declared according to the connector-specific documentation?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
> Use WeakReferencedElasticByteBufferPool in DFSStripedInputStream
> ----------------------------------------------------------------
>
> Key: HDFS-17364
> URL: https://issues.apache.org/jira/browse/HDFS-17364
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Bryan Beaudreault
> Priority: Major
>
> DFSStripedInputStream uses ElasticByteBufferPool to allocate byte buffers for
> the "curStripeBuf". This is used for non-positional (stateful) reads and is
> allocated with a size of numDataBlocks * cellSize. For RS-6-3-1024k, that
> means each DFSStripedInputStream could allocate a 6mb buffer. When the IS is
> finished, the buffer is put back in the pool. Over time and with spikes of
> concurrent reads, the pool grows and most of the buffers sit there unused.
>
> WeakReferencedElasticByteBufferPool was introduced HADOOP-18105 and mitigates
> this issue because the excess buffers can be GC'd once they are no longer
> needed. We should use this same pool in DFSStripedInputStream
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]