hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5150) Fail in a thread may not fail a test, clean up log splitting test
Date Mon, 09 Jan 2012 18:38:42 GMT

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

jiraposter@reviews.apache.org commented on HBASE-5150:
------------------------------------------------------



bq.  On 2012-01-09 03:01:16, Prakash Khemani wrote:
bq.  > src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java, line
316
bq.  > <https://reviews.apache.org/r/3433/diff/2/?file=67170#file67170line316>
bq.  >
bq.  >     There is no reason to wait for 3 seconds over here
bq.  
bq.  Jimmy Xiang wrote:
bq.      If everything works as expected, we won't have to wait here, since those two fail()
calls won't be called.  I'd like to give it some time to make sure the second splitLogDistributed()
is really blocked there.

If the test is working as expecte then there will be a 3sec wait here. This I still feel is
unnecessary.

If the second splitLogDistributed() isn't really blocked and result.get(3000, millisecs) returns
early then there is nothing in the test to catch that case.

I prefer the original thread based test rather than the executor based.

Also there used to be a assertTrue(t.isIntruppted()) at the end of the test. It's possible
I missed checking it in. That was the test to make sure that the split-logging thread had
blocked and was actually interrupted. You could also add a counter to test that case.


bq.  On 2012-01-09 03:01:16, Prakash Khemani wrote:
bq.  > src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java, line 481
bq.  > <https://reviews.apache.org/r/3433/diff/2/?file=67171#file67171line481>
bq.  >
bq.  >     The test should fail if there is an exception.
bq.  
bq.  Jimmy Xiang wrote:
bq.      That fail() doesn't fail the test.   If there is an exception, those waitForCounter()
will actually fail the test.

fail() over here serves 3 purposes (1) It documents that we are not expecting any exceptions
in the thread and if there is one then the test should fail. (2) if there is an exception
then test fails quicker with the fail() statement (3) if we don't put a fail() here then we
will ignore any exception thrown by the thread. the counter logic might not be strong enough
to flag all exceptions.


- Prakash


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3433/#review4259
-----------------------------------------------------------


On 2012-01-09 17:34:47, Jimmy Xiang wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3433/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-01-09 17:34:47)
bq.  
bq.  
bq.  Review request for hbase, Todd Lipcon, Ted Yu, Michael Stack, and Prakash Khemani.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Cleaned up the tests introduced in HBASE-5081, added some documentation.
bq.  
bq.  
bq.  This addresses bug HBASE-5150.
bq.      https://issues.apache.org/jira/browse/HBASE-5150
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    src/main/java/org/apache/hadoop/hbase/master/SplitLogManager.java 0ef0e33 
bq.    src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java b0487f1

bq.    src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java 0974b56 
bq.  
bq.  Diff: https://reviews.apache.org/r/3433/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Affected tests: TestDistributedLogSplitting and TestSplitLogManager, are passed
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Jimmy
bq.  
bq.


                
> Fail in a thread may not fail a test, clean up log splitting test
> -----------------------------------------------------------------
>
>                 Key: HBASE-5150
>                 URL: https://issues.apache.org/jira/browse/HBASE-5150
>             Project: HBase
>          Issue Type: Test
>    Affects Versions: 0.94.0
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>            Priority: Minor
>         Attachments: hbase-5150.txt
>
>
> This is to clean up some tests for HBASE-5081.  The Assert.fail method in a separate
thread will terminate the thread, but may not fail the test.
> We can use callable, so that we can get the error in getting the result. 
> Some documentation to explain the test will be helpful too.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message