[
https://issues.apache.org/jira/browse/HBASE-7266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Liyin Tang updated HBASE-7266:
--
Description:
There are 2 kinds of read operations in HBase: pread and seek+read.
Pread, positional read, is stateless and create a new connection between the
DFSClient and DataNode for each operation. While seek+read is to seek to a
specific postion and prefetch blocks from data nodes. The benefit of seek+read
is that it will cache the prefetch result but the downside is it is stateful
and needs to synchronized.
So far, both compaction and scan are using seek+read, which caused some
resource contention. So using the pread for the scan request can avoid the
resource contention. In addition, the region server is able to do the prefetch
for the scan request (HBASE-6874) so that it won't be necessary to let the
DFSClient to prefetch the data any more.
I will run through the scan benchmark (with no block cache) with verify the
performance.
was:
There are 2 kinds of read operations in HBase: pread and seek+read.
Pread, positional read, is stateless and create a new connection between the
DFSClient and DataNode for each operation. While seek+read is to seek to a
specific postion and prefetch blocks from data nodes. The benefit of seek+read
is that it will cache the prefetch result but the downside is it is stateful
and needs to synchronized.
So far, both compaction and scan are using pread, which caused some resource
contention. So using the pread for the scan request can avoid the resource
contention. In addition, the region server is able to do the prefetch for the
scan request (HBASE-6874) so that it won't be necessary to let the DFSClient to
prefetch the data any more.
I will run through the scan benchmark (with no block cache) with verify the
performance.
[89-fb] Using pread for non-compaction read request
---
Key: HBASE-7266
URL: https://issues.apache.org/jira/browse/HBASE-7266
Project: HBase
Issue Type: Improvement
Reporter: Liyin Tang
There are 2 kinds of read operations in HBase: pread and seek+read.
Pread, positional read, is stateless and create a new connection between the
DFSClient and DataNode for each operation. While seek+read is to seek to a
specific postion and prefetch blocks from data nodes. The benefit of
seek+read is that it will cache the prefetch result but the downside is it is
stateful and needs to synchronized.
So far, both compaction and scan are using seek+read, which caused some
resource contention. So using the pread for the scan request can avoid the
resource contention. In addition, the region server is able to do the
prefetch for the scan request (HBASE-6874) so that it won't be necessary to
let the DFSClient to prefetch the data any more.
I will run through the scan benchmark (with no block cache) with verify the
performance.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira