You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Dan Washusen (JIRA)" <ji...@apache.org> on 2010/02/23 01:47:31 UTC

[jira] Created: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

The PerformanceEvaluation read tests don't take the MemStore into account.
--------------------------------------------------------------------------

                 Key: HBASE-2249
                 URL: https://issues.apache.org/jira/browse/HBASE-2249
             Project: Hadoop HBase
          Issue Type: Improvement
    Affects Versions: 0.20.3
            Reporter: Dan Washusen
             Fix For: 0.20.4


The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837017#action_12837017 ] 

stack commented on HBASE-2249:
------------------------------

IMO opinion the default should be not flush at end of test

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "Dan Washusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837495#action_12837495 ] 

Dan Washusen commented on HBASE-2249:
-------------------------------------

I've looked over the code in PerformanceEvaluation.  In the patch attached to this issue the call to HTable.getScanner(...) is included in the time... 

# PerformanceEvaluation.Test#test gets the current time
# PerformanceEvaluation.Test#test calls PerformanceEvaluation.Test#testTimed
# PerformanceEvaluation.Test#testTimed calls PerformanceEvaluation.Test#testRow
# PerformanceEvaluation.Test#testRow opens the scanner and iterates over all rows in the result set

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2249.patch
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "Dan Washusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837454#action_12837454 ] 

Dan Washusen commented on HBASE-2249:
-------------------------------------

Should probably also change the timer logic to include the scanner open call as per Dave's suggestion.

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2249.patch
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "Dan Washusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837501#action_12837501 ] 

Dan Washusen commented on HBASE-2249:
-------------------------------------

Oops, I missed a step...

# PerformanceEvaluation.Test#test gets the current time
# PerformanceEvaluation.Test#test calls PerformanceEvaluation.Test#testTimed
# PerformanceEvaluation.Test#testTimed calls PerformanceEvaluation.Test#testRow
# PerformanceEvaluation.Test#testRow opens the scanner and iterates over all rows in the result set
# PerformanceEvaluation.Test#test calculates the difference between the start time and end time and reports it as the elapsed time

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2249.patch
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "Dan Washusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837560#action_12837560 ] 

Dan Washusen commented on HBASE-2249:
-------------------------------------

Posted on HBASE-2248 based by Dave:
{quote}
@Dan: Took a read over the patch, though it seemed to be based in a different dir and didn't want to apply nicely. From what I can see the ScanTest still does getScanner in testSetup before the timer is begun. This may be fine, if the point of this test is to measure scan performance per-row and not setup/teardown time. It just explains why the ScanTest doesn't exhibit this issue. It does look like other tests, such as the RandomSeekScanTest and the new RandomScanWithRangeTest do test setup/teardown time as part of each "testRow" and should exhibit this issue, if run.
{quote}

Dave has a very good point, the ScanTest is a strange one.  It appears to be timing each call to ResetScanner#next and not including the cost of setting up or closing the scanner.  IMO, this should be changed but doing so would change any previous results...

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2249.patch
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-2249:
-------------------------

    Attachment: HBASE-2249.patch

Adds ---flushCommits and RandomScanWithRangeTest.

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2249.patch
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-2249) The PerformanceEvaluation read tests don't take the MemStore into account.

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837014#action_12837014 ] 

Jean-Daniel Cryans commented on HBASE-2249:
-------------------------------------------

Good idea Dan!

> The PerformanceEvaluation read tests don't take the MemStore into account.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-2249
>                 URL: https://issues.apache.org/jira/browse/HBASE-2249
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.3
>            Reporter: Dan Washusen
>             Fix For: 0.20.4
>
>
> The write tests in the PerformanceEvaluation flush the MemStore after they complete, as a result the read tests don't take the MemStore into account (because it's always empty).  An optional flag could be provided when the performance evaluation starts that dictates if the table should be flushed after a test completes.  This optional flag would allow changes to the MemStore to be performance tested...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.