[
https://issues.apache.org/jira/browse/HBASE-22532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16855281#comment-16855281
]
Zheng Hu commented on HBASE-22532:
----------------------------------
Enabled the TRACE log level for package: org.apache.hadoop.hbase.io.hfile, I
saw the following:
{code}
2019-06-04,11:37:07,708 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131105, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=416071913, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,708 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131105, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=49792391, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,708 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131105, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=4161901960, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131124, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/f9c051dc047d4b6eaf6abe2dc4b91341/C/0499a0f39a38484eaf3a5272a8f3f58b,
offset=5988442057, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131125, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/9dcc6c7b0e1eba716b0319ed62ee817c/C/dc2a502a15b047abb5454abbe38fb1d2,
offset=2064659256, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131135, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=412656269, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131131, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=206262863, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131137, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/7553c3f3fb00bb32d42a71f8a21d37ff/C/123a8968c0d641038c678117c3948bd6,
offset=4336370991, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=131072, sizeWithHeader=65670, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/f9c051dc047d4b6eaf6abe2dc4b91341/C/0499a0f39a38484eaf3a5272a8f3f58b,
offset=5892798979, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=131072, sizeWithHeader=65670, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/85934f83f9ffa51342ea0201b58303fd/C/ce3f52695c2b43b1898fc9a266a67344,
offset=1179439193, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=262144, sizeWithHeader=131105, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/a24da982a9f2734994efac0e7c7b838d/C/6eda621c9ee847c281a6e944d86ffe38,
offset=2896672688, headerSize=33, bytesPerChecksum=16384
2019-06-04,11:37:07,709 INFO org.apache.hadoop.hbase.io.hfile.ChecksumUtil:
dataLength=131072, sizeWithHeader=65671, checksumType=CRC32C,
file=hdfs://c302tst-offheap-reading/hbase/c302tst-offheap-reading/data/default/ycsb-test/9dcc6c7b0e1eba716b0319ed62ee817c/C/dc2a502a15b047abb5454abbe38fb1d2,
offset=1947799767, headerSize=33, bytesPerChecksum=16384
{code}
Seems many block have a diskSize>128KB. FYI [~anoop.hbase], [~ram_krish].
> There's still too much cpu wasting on validating checksum even if
> buffer.size=65KB
> ----------------------------------------------------------------------------------
>
> Key: HBASE-22532
> URL: https://issues.apache.org/jira/browse/HBASE-22532
> Project: HBase
> Issue Type: Sub-task
> Reporter: Zheng Hu
> Assignee: Zheng Hu
> Priority: Major
> Attachments: async-prof-pid-27827-cpu-3.svg
>
>
> After disabled the block cache, and with the following config:
> {code}
> # Disable the block cache
> hfile.block.cache.size=0
> hbase.ipc.server.allocator.buffer.size=66560
> hbase.ipc.server.reservoir.minimal.allocating.size=0
> {code}
> The ByteBuff for block should be expected to be a SingleByteBuff, which will
> use the hadoop native lib to validate the checksum, while in the cpu flame
> graph
> [async-prof-pid-27827-cpu-3.svg|https://issues.apache.org/jira/secure/attachment/12970683/async-prof-pid-27827-cpu-3.svg],
> we can still see that about 32% CPU wasted on PureJavaCrc32#update, which
> means it's not using the faster hadoop native lib.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)