hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15180) Reduce garbage created while reading Cells from Codec Decoder
Date Fri, 29 Jan 2016 18:21:40 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15123913#comment-15123913
] 

Hadoop QA commented on HBASE-15180:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue}
Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s {color} |
{color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green}
The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s {color}
| {color:green} The patch appears to include 3 new or modified test files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 39s {color}
| {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 5s {color} | {color:green}
master passed with JDK v1.8.0_72 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 37s {color} |
{color:green} master passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 8m 12s {color}
| {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 50s {color}
| {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 0s {color} | {color:red}
hbase-common in master has 1 extant Findbugs warnings. {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 2m 47s {color} | {color:red}
hbase-server in master has 1 extant Findbugs warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 53s {color} |
{color:green} master passed with JDK v1.8.0_72 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 46s {color} |
{color:green} master passed with JDK v1.7.0_91 {color} |
| {color:red}-1{color} | {color:red} mvninstall {color} | {color:red} 0m 21s {color} | {color:red}
hbase-client in the patch failed. {color} |
| {color:red}-1{color} | {color:red} mvninstall {color} | {color:red} 0m 37s {color} | {color:red}
hbase-server in the patch failed. {color} |
| {color:red}-1{color} | {color:red} compile {color} | {color:red} 0m 43s {color} | {color:red}
hbase-server in the patch failed with JDK v1.8.0_72. {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 0m 43s {color} | {color:red}
hbase-server in the patch failed with JDK v1.8.0_72. {color} |
| {color:red}-1{color} | {color:red} compile {color} | {color:red} 0m 35s {color} | {color:red}
hbase-server in the patch failed with JDK v1.7.0_91. {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 0m 35s {color} | {color:red}
hbase-server in the patch failed with JDK v1.7.0_91. {color} |
| {color:black}{color} | {color:black} checkstyle {color} | {color:black} 1m 23s {color} |
{color:black} Patch generated 2 new checkstyle issues in hbase-common (total was 100, now
102). {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 57s {color}
| {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color}
| {color:green} Patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 30m 36s {color}
| {color:green} Patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2
2.6.1 2.6.2 2.6.3 2.7.1. {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 29s {color} | {color:red}
hbase-common introduced 1 new FindBugs issues. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 15s {color} |
{color:green} the patch passed with JDK v1.8.0_72 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 3s {color} | {color:green}
the patch passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 37s {color} | {color:green}
hbase-client in the patch passed with JDK v1.8.0_72. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 53s {color} | {color:green}
hbase-common in the patch passed with JDK v1.8.0_72. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 0m 49s {color} | {color:red}
hbase-server in the patch failed with JDK v1.8.0_72. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 26s {color} | {color:green}
hbase-client in the patch passed with JDK v1.7.0_91. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 23s {color} | {color:green}
hbase-common in the patch passed with JDK v1.7.0_91. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 0m 41s {color} | {color:red}
hbase-server in the patch failed with JDK v1.7.0_91. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 32s {color}
| {color:green} Patch does not generate ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black} 92m 10s {color} | {color:black}
{color} |
\\
\\
|| Reason || Tests ||
| FindBugs | module:hbase-common |
|  |  Dead store to cell in org.apache.hadoop.hbase.io.CellReadableByteArrayInputStream.readCell(int,
boolean)  At CellReadableByteArrayInputStream.java:org.apache.hadoop.hbase.io.CellReadableByteArrayInputStream.readCell(int,
boolean)  At CellReadableByteArrayInputStream.java:[line 54] |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.9.1 Server=1.9.1 Image:yetus/hbase:date2016-01-29 |
| JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12785187/HBASE-15180_v2.patch
|
| JIRA Issue | HBASE-15180 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  hbaseanti  checkstyle
 compile  |
| uname | Linux b8558efdba28 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12
UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/component/dev-support/hbase-personality.sh
|
| git revision | master / 0de221a |
| findbugs | v3.0.0 |
| findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/branch-findbugs-hbase-common-warnings.html
|
| findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/branch-findbugs-hbase-server-warnings.html
|
| mvninstall | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-mvninstall-hbase-client.txt
|
| mvninstall | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-mvninstall-hbase-server.txt
|
| compile | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-compile-hbase-server-jdk1.8.0_72.txt
|
| javac | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-compile-hbase-server-jdk1.8.0_72.txt
|
| compile | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-compile-hbase-server-jdk1.7.0_91.txt
|
| javac | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-compile-hbase-server-jdk1.7.0_91.txt
|
| checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/diff-checkstyle-hbase-common.txt
|
| findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/new-findbugs-hbase-common.html
|
| unit | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-unit-hbase-server-jdk1.8.0_72.txt
|
| unit | https://builds.apache.org/job/PreCommit-HBASE-Build/350/artifact/patchprocess/patch-unit-hbase-server-jdk1.7.0_91.txt
|
| JDK v1.7.0_91  Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/350/testReport/
|
| modules | C: hbase-client hbase-common hbase-server U: . |
| Max memory used | 175MB |
| Powered by | Apache Yetus 0.1.0   http://yetus.apache.org |
| Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/350/console |


This message was automatically generated.



> Reduce garbage created while reading Cells from Codec Decoder
> -------------------------------------------------------------
>
>                 Key: HBASE-15180
>                 URL: https://issues.apache.org/jira/browse/HBASE-15180
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0
>
>         Attachments: HBASE-15180.patch, HBASE-15180_v2.patch
>
>
> In KeyValueDecoder#parseCell (Default Codec decoder) we use KeyValueUtil#iscreate to
read cells from the InputStream. Here we 1st create a byte[] of length 4 and read the cell
length and then an array of Cell's length and read in cell bytes into it and create a KV.
> Actually in server we read the reqs into a byte[] and CellScanner is created on top of
a ByteArrayInputStream on top of this. By default in write path, we have MSLAB usage ON. So
while adding Cells to memstore, we will copy the Cell bytes to MSLAB memory chunks (default
2 MB size) and recreate Cells over that bytes.  So there is no issue if we create Cells over
the RPC read byte[] directly here in Decoder.  No need for 2 byte[] creation and copy for
every Cell in request.
> My plan is to make a Cell aware ByteArrayInputStream which can read Cells directly from
it.  
> Same Codec path is used in client side also. There better we can avoid this direct Cell
create and continue to do the copy to smaller byte[]s path.  Plan to introduce some thing
like a CodecContext associated with every Codec instance which can say the server/client context.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message