HBase
  1. HBase
  2. HBASE-8163

MemStoreChunkPool: An improvement for JAVA GC when using MSLAB

    Details

    • Hadoop Flags:
      Reviewed
    • Release Note:
      Support reusing MemStoreChunk when MSLAB is enabled, thereby decrease the cost of YGC. It is off by default, turn it on by configuring "hbase.hregion.memstore.chunkpool.maxsize" (between 0.0 and 1.0)

      Description

      Usage:
      Disable pool(default): configure "hbase.hregion.memstore.chunkpool.maxsize" as 0
      Enable pool: configure "hbase.hregion.memstore.chunkpool.maxsize" as a percentage of global memstore size (between 0.0 and 1.0, recommend to set it as the gap between min and max sizes of memstore, e.g. 0.5)

      Background
      When we use mslab,we will copy the keyvalue together in a structure called MemStoreLAB$Chunk, therefore we could decrease the heap fragment.

      Problem
      When one chunk is full, we will create a new chunk, and then the old chunk will be reclaimed by JVM if no reference to it.

      Mostly the chunk object would be promoted when doing Young GC, cause increasing the cost of YGC

      When a Chunk object has no reference? It should meet two following condition:
      1.Memstore which this chunk belongs to is flushed
      2.No scanner is opening on the memstore which this chunk belongs to

      Solution:
      1.Create a chunk pool to manage the no-reference chunks, instead of being reclaimed by JVM
      2.When a Chunk has no reference, put it back to the pool
      3.The pool has a max capacity, it will skip the chunks when achieve the max size
      4.When we need new Chunk to store KeyValue, get it from the pool if exists, else create new one by pool, so we could be able to reuse the old chunks

      Test results:
      Environment:
      hbase-version:0.94
      -Xms4G -Xmx4G -Xmn2G
      Row size=50 bytes, Value size=1024 bytes
      50 concurrent theads per client, insert 10,000,000 rows

      Before:
      Avg write request per second:12953
      After testing, final result of jstat -gcutil :
      YGC YGCT FGC FGCT GCT
      747 36.503 48 2.492 38.995

      After:
      Avg write request per second:14025
      After testing, final result of jstat -gcutil :
      YGC YGCT FGC FGCT GCT
      711 20.344 4 0.284 20.628

      Improvement: YGC 40+%; WPS 5%+

      review board :
      https://reviews.apache.org/r/10056/

      1. hbase-8163v6.patch
        26 kB
        chunhui shen
      2. hbase-8163v5.patch
        26 kB
        chunhui shen
      3. hbase-8163v4.patch
        26 kB
        chunhui shen
      4. hbase-8163v3.patch
        22 kB
        chunhui shen
      5. hbase-8163v2.patch
        22 kB
        chunhui shen
      6. hbase-8163v1.patch
        21 kB
        chunhui shen
      7. hbase-0.95-8163v6.patch
        26 kB
        chunhui shen

        Activity

        Hide
        Liang Xie added a comment -

        nice staff, cooool~

        Show
        Liang Xie added a comment - nice staff, cooool~
        Hide
        Lars Hofhansl added a comment -

        How big would size the pool? If it is too big you'll waste space, if it is too small you'll just offset the GC for a bit.

        Show
        Lars Hofhansl added a comment - How big would size the pool? If it is too big you'll waste space, if it is too small you'll just offset the GC for a bit.
        Hide
        chunhui shen added a comment -

        How big would size the pool?

        The pool size depends on the bounce of memstore size, the memstore size would be balanceable normally.

        Suppose the scenario as following step:
        1.Current state:memstore size is 3GB, pool size is 500MB
        2.Memstore size is decreased to 2.5GB because of flush, and then pool size is increased to 1GB
        3.Memstore size is increased to 2.9GB because of writing, and then pool size is decreased to 600MB

        It means we could set pool size to the gap between the min size and max size of memstore for a running cluster.

        If the gap is very large, e.g. memstore would be flushed to empty when running, it is not appropriate to use pool.

        Hope I answered your question

        Show
        chunhui shen added a comment - How big would size the pool? The pool size depends on the bounce of memstore size, the memstore size would be balanceable normally. Suppose the scenario as following step: 1.Current state:memstore size is 3GB, pool size is 500MB 2.Memstore size is decreased to 2.5GB because of flush, and then pool size is increased to 1GB 3.Memstore size is increased to 2.9GB because of writing, and then pool size is decreased to 600MB It means we could set pool size to the gap between the min size and max size of memstore for a running cluster. If the gap is very large, e.g. memstore would be flushed to empty when running, it is not appropriate to use pool. Hope I answered your question
        Hide
        Ted Yu added a comment -

        Can we calculate the gap between min and max sizes of memstore and log it so that user gets to know the optimal value ?

        Show
        Ted Yu added a comment - Can we calculate the gap between min and max sizes of memstore and log it so that user gets to know the optimal value ?
        Hide
        chunhui shen added a comment -

        Ted Yu
        The gap can be got through the metrics. e.g ganglia

        Show
        chunhui shen added a comment - Ted Yu The gap can be got through the metrics. e.g ganglia
        Hide
        Ted Yu added a comment -

        Does it make more sense to define maxsize as percentage of (total) memstore size ?

        Show
        Ted Yu added a comment - Does it make more sense to define maxsize as percentage of (total) memstore size ?
        Hide
        Sergey Shelukhin added a comment -

        some r comments

        Show
        Sergey Shelukhin added a comment - some r comments
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12574757/hbase-8163v2.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        +1 site. The mvn site goal succeeds with this patch.

        -1 core tests. The patch failed these unit tests:

        -1 core zombie tests. There are 1 zombie test(s): at org.apache.hadoop.hbase.util.TestHBaseFsck.testHbckFixOrphanTable(TestHBaseFsck.java:427)

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12574757/hbase-8163v2.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: -1 core zombie tests . There are 1 zombie test(s): at org.apache.hadoop.hbase.util.TestHBaseFsck.testHbckFixOrphanTable(TestHBaseFsck.java:427) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4944//console This message is automatically generated.
        Hide
        stack added a comment -

        chunhui shen Can we guarantee that pool size is 0 when memstores are full or near full?

        Lars Hofhansl "If it is too big you'll waste space, if it is too small you'll just offset the GC for a bit."

        Agree that pool should not be above and beyond memstore allocation. Regards your comment that we just offset GC for a bit, don't we offset it period if successful reuse?

        Show
        stack added a comment - chunhui shen Can we guarantee that pool size is 0 when memstores are full or near full? Lars Hofhansl "If it is too big you'll waste space, if it is too small you'll just offset the GC for a bit." Agree that pool should not be above and beyond memstore allocation. Regards your comment that we just offset GC for a bit, don't we offset it period if successful reuse?
        Hide
        chunhui shen added a comment -

        Does it make more sense to define maxsize as percentage of (total) memstore size ?

        It's good idea, but setting pool size 0 by default means we close the function of pool, so it wouldn't affect current logic

        Show
        chunhui shen added a comment - Does it make more sense to define maxsize as percentage of (total) memstore size ? It's good idea, but setting pool size 0 by default means we close the function of pool, so it wouldn't affect current logic
        Hide
        chunhui shen added a comment - - edited

        Can we guarantee that pool size is 0 when memstores are full or near full

        Yes, we can guarantee that (pool size + memstore size)< memstore upper limit

        pool should not be above and beyond memstore allocation

        It wouldn't, pool data come from the memstore

        Show
        chunhui shen added a comment - - edited Can we guarantee that pool size is 0 when memstores are full or near full Yes, we can guarantee that (pool size + memstore size)< memstore upper limit pool should not be above and beyond memstore allocation It wouldn't, pool data come from the memstore
        Hide
        chunhui shen added a comment -

        don't we offset it period if successful reuse

        We will offset GC mostly, unless the memstore size bound seriously,
        As my above comments, if memstore will be from full to empty to full periodly, the pool is not appropriate

        Show
        chunhui shen added a comment - don't we offset it period if successful reuse We will offset GC mostly, unless the memstore size bound seriously, As my above comments, if memstore will be from full to empty to full periodly, the pool is not appropriate
        Hide
        chunhui shen added a comment -

        Addressing comments on review board

        Show
        chunhui shen added a comment - Addressing comments on review board
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12574939/hbase-8163v3.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        +1 site. The mvn site goal succeeds with this patch.

        +1 core tests. The patch passed unit tests in .

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12574939/hbase-8163v3.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4959//console This message is automatically generated.
        Hide
        stack added a comment -

        Rather than choose a hard size for the pool, as as suggested above, making it a percentage of global memstore size would be easier on the operator.

        How do I know the pool is working effectively? I see no metrics emissions added. I'd do some math on flush sizes and infer whether or not it effective?

        Good stuff.

        Show
        stack added a comment - Rather than choose a hard size for the pool, as as suggested above, making it a percentage of global memstore size would be easier on the operator. How do I know the pool is working effectively? I see no metrics emissions added. I'd do some math on flush sizes and infer whether or not it effective? Good stuff.
        Hide
        chunhui shen added a comment -

        making pool size a percentage of global memstore size and logging some stats to measure whether it works effectively

        Show
        chunhui shen added a comment - making pool size a percentage of global memstore size and logging some stats to measure whether it works effectively
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12575273/hbase-8163v4.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        -1 site. The patch appears to cause mvn site goal to fail.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.util.TestMergeTable

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12575273/hbase-8163v4.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.util.TestMergeTable Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4992//console This message is automatically generated.
        Show
        Ted Yu added a comment - I think the test failure above was due to: https://issues.apache.org/jira/browse/HBASE-7871?focusedCommentId=13612855&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13612855
        Hide
        Sergey Shelukhin added a comment -

        LGTM

        Show
        Sergey Shelukhin added a comment - LGTM
        Hide
        chunhui shen added a comment -

        renaming initialSizePercentage as initialCountPercentage

        Show
        chunhui shen added a comment - renaming initialSizePercentage as initialCountPercentage
        Hide
        stack added a comment -

        chunhui shen Are you fellas running this and if so, what is your experience?

        The patch looks good to me. In release note you should be clear that it is off by default and explain how to turn it on (it is not that obvious). I'd be +1 on this coming into trunk and 0.95.

        Show
        stack added a comment - chunhui shen Are you fellas running this and if so, what is your experience? The patch looks good to me. In release note you should be clear that it is off by default and explain how to turn it on (it is not that obvious). I'd be +1 on this coming into trunk and 0.95.
        Hide
        chunhui shen added a comment -

        Are you fellas running this and if so, what is your experience?

        We have tested this for some time, it could notability decrease the cost of YGC as I mentioned in the description.

        For online application, JAVA GC is troublesome when using HBase as a Database...

        Since MSLab,MSChunkPool and BucketCache, HBase could manage the main memory itself without depending on JVM

        Show
        chunhui shen added a comment - Are you fellas running this and if so, what is your experience? We have tested this for some time, it could notability decrease the cost of YGC as I mentioned in the description. For online application, JAVA GC is troublesome when using HBase as a Database... Since MSLab,MSChunkPool and BucketCache, HBase could manage the main memory itself without depending on JVM
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12575473/hbase-8163v5.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        -1 site. The patch appears to cause mvn site goal to fail.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.regionserver.TestAtomicOperation
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12575473/hbase-8163v5.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.regionserver.TestAtomicOperation org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/5014//console This message is automatically generated.
        Hide
        chunhui shen added a comment -

        Fix javadoc warning

        Show
        chunhui shen added a comment - Fix javadoc warning
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12575485/hbase-8163v6.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        -1 site. The patch appears to cause mvn site goal to fail.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.master.TestZKBasedOpenCloseRegion

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12575485/hbase-8163v6.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.master.TestZKBasedOpenCloseRegion Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/5015//console This message is automatically generated.
        Hide
        chunhui shen added a comment -

        Will commit tomorrow if no objection

        Show
        chunhui shen added a comment - Will commit tomorrow if no objection
        Hide
        chunhui shen added a comment -

        Committed to trunk and 0.95, thanks for the review, Ted, Stack, Sergey

        Show
        chunhui shen added a comment - Committed to trunk and 0.95, thanks for the review, Ted, Stack, Sergey
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #3996 (See https://builds.apache.org/job/HBase-TRUNK/3996/)
        HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461398)

        Result = FAILURE
        zjushch :
        Files :

        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #3996 (See https://builds.apache.org/job/HBase-TRUNK/3996/ ) HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461398) Result = FAILURE zjushch : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Hide
        Hudson added a comment -

        Integrated in hbase-0.95 #109 (See https://builds.apache.org/job/hbase-0.95/109/)
        HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461399)

        Result = FAILURE
        zjushch :
        Files :

        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java
        • /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Show
        Hudson added a comment - Integrated in hbase-0.95 #109 (See https://builds.apache.org/job/hbase-0.95/109/ ) HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461399) Result = FAILURE zjushch : Files : /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Hide
        Hudson added a comment -

        Integrated in hbase-0.95-on-hadoop2 #45 (See https://builds.apache.org/job/hbase-0.95-on-hadoop2/45/)
        HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461399)

        Result = FAILURE
        zjushch :
        Files :

        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
        • /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java
        • /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Show
        Hudson added a comment - Integrated in hbase-0.95-on-hadoop2 #45 (See https://builds.apache.org/job/hbase-0.95-on-hadoop2/45/ ) HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461399) Result = FAILURE zjushch : Files : /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #466 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/466/)
        HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461398)

        Result = FAILURE
        zjushch :
        Files :

        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #466 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/466/ ) HBASE-8163 MemStoreChunkPool: An improvement for JAVA GC when using MSLAB (Revision 1461398) Result = FAILURE zjushch : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLAB.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
        Hide
        stack added a comment -

        Marking closed.

        Show
        stack added a comment - Marking closed.
        Hide
        Liang Xie added a comment -

        I did a apple-to-apple test with this patch. Here is the test result just for refer:

        Env: Xmx=Xms=8G,Xmn1G, memestore lower/upper limit = 0.2/0.3
        each test began with empty table, then write 20million records each with three fields, and each field has 200 bytes:
        1)original config(-XX:PretenureSizeThreshold=4m)
        YGC YGCT FGC FGCT GCT
        6970 318.592 8 0.884 319.476
        2)set hbase.hregion.memstore.mslab.chunksize to 4194320(-XX:PretenureSizeThreshold=4m)
        YGC YGCT FGC FGCT GCT
        6973 253.891 8 0.522 254.413
        3)set -XX:PretenureSizeThreshold=2097088(hbase.hregion.memstore.mslab.chunksize is by default 2M)
        6960 260.642 8 1.427 262.069
        4)set hbase.hregion.memstore.chunkpool.maxsize=0.6, means enable MemStoreChunkPool feature(log said maxCount=706), -XX:PretenureSizeThreshold=2097088(hbase.hregion.memstore.mslab.chunksize is by default 2M)
        7028 258.598 2 0.401 258.999

        To me, this MemStorechunkPool feature is useful for heavy FGC scenarios caused by write request. If the YGC is the big hurt by write request, personally i recommend to config "hbase.hregion.memstore.mslab.chunksize" or "-XX:PretenureSizeThreshold", considering risk

        Hope this test result will be helpful for some guys

        Show
        Liang Xie added a comment - I did a apple-to-apple test with this patch. Here is the test result just for refer: Env: Xmx=Xms=8G,Xmn1G, memestore lower/upper limit = 0.2/0.3 each test began with empty table, then write 20million records each with three fields, and each field has 200 bytes: 1)original config(-XX:PretenureSizeThreshold=4m) YGC YGCT FGC FGCT GCT 6970 318.592 8 0.884 319.476 2)set hbase.hregion.memstore.mslab.chunksize to 4194320(-XX:PretenureSizeThreshold=4m) YGC YGCT FGC FGCT GCT 6973 253.891 8 0.522 254.413 3)set -XX:PretenureSizeThreshold=2097088(hbase.hregion.memstore.mslab.chunksize is by default 2M) 6960 260.642 8 1.427 262.069 4)set hbase.hregion.memstore.chunkpool.maxsize=0.6, means enable MemStoreChunkPool feature(log said maxCount=706), -XX:PretenureSizeThreshold=2097088(hbase.hregion.memstore.mslab.chunksize is by default 2M) 7028 258.598 2 0.401 258.999 To me, this MemStorechunkPool feature is useful for heavy FGC scenarios caused by write request. If the YGC is the big hurt by write request, personally i recommend to config "hbase.hregion.memstore.mslab.chunksize" or "-XX:PretenureSizeThreshold", considering risk Hope this test result will be helpful for some guys
        Hide
        Liang Xie added a comment -

        Of cause, per theory, the chunkpool solution should be a little better than my recommend config solution, since it'll reuse the chunks to avoid more "new byte[]" invoke, more memset clear operation from hotspot.

        Show
        Liang Xie added a comment - Of cause, per theory, the chunkpool solution should be a little better than my recommend config solution, since it'll reuse the chunks to avoid more "new byte[]" invoke, more memset clear operation from hotspot.
        Hide
        chunhui shen added a comment -

        Liang, thanks for the tests.

        The new recommend config seems be another tunning method when we face the GC. Nice

        Show
        chunhui shen added a comment - Liang, thanks for the tests. The new recommend config seems be another tunning method when we face the GC. Nice
        Hide
        stack added a comment -

        Are there values we could use that would make it so we could just turn this on? Or, if we are letting go too many Chunks, could we start up a pool if only for a short while to get over a write hump? Then turn it off again after?

        Show
        stack added a comment - Are there values we could use that would make it so we could just turn this on? Or, if we are letting go too many Chunks, could we start up a pool if only for a short while to get over a write hump? Then turn it off again after?
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-TRUNK #4685 (See https://builds.apache.org/job/HBase-TRUNK/4685/)
        Add note on https://issues.apache.org/jira/browse/HBASE-8163 – config for write-heavy situation (stack: rev 1542903)

        • /hbase/trunk/src/main/docbkx/performance.xml
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-TRUNK #4685 (See https://builds.apache.org/job/HBase-TRUNK/4685/ ) Add note on https://issues.apache.org/jira/browse/HBASE-8163 – config for write-heavy situation (stack: rev 1542903) /hbase/trunk/src/main/docbkx/performance.xml
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #842 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/842/)
        Add note on https://issues.apache.org/jira/browse/HBASE-8163 – config for write-heavy situation (stack: rev 1542903)

        • /hbase/trunk/src/main/docbkx/performance.xml
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #842 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/842/ ) Add note on https://issues.apache.org/jira/browse/HBASE-8163 – config for write-heavy situation (stack: rev 1542903) /hbase/trunk/src/main/docbkx/performance.xml

          People

          • Assignee:
            chunhui shen
            Reporter:
            chunhui shen
          • Votes:
            1 Vote for this issue
            Watchers:
            14 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development