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

ShiXing commented on HBASE-6327:
--------------------------------

TestServerCustomProtocol passed locally for me.

-------------------------------------------------------------------------------
Test set: org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol
-------------------------------------------------------------------------------
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.787 sec

In the testReport, it shows that table.coprocessorExec()'s result does not 
contain some region.
{code}
Error Message

Results should contain region 
test,bbb,1341531289968.2e838a3a40aeebafb0c3093c5098ce23. for row 'bbb'
Stacktrace

java.lang.AssertionError: Results should contain region 
test,bbb,1341531289968.2e838a3a40aeebafb0c3093c5098ce23. for row 'bbb'
        at org.junit.Assert.fail(Assert.java:93)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at 
org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol.verifyRegionResults(TestServerCustomProtocol.java:361)
        at 
org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol.verifyRegionResults(TestServerCustomProtocol.java:353)
        at 
org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol.testSingleMethod(TestServerCustomProtocol.java:191)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
{code}

But the logs shows that the regions are all assigned:
{code}
2012-07-05 23:34:50,184 INFO  [pool-1-thread-1] master.AssignmentManager(1751): 
Assigning region test,,1341531289965.cc5dddba941b937a5ebd9f80a582024a. to 
asf001.sp2.ygridcore.net,59854,1341531283318
2012-07-05 23:34:50,242 INFO  [pool-1-thread-1] master.AssignmentManager(1751): 
Assigning region test,bbb,1341531289968.2e838a3a40aeebafb0c3093c5098ce23. to 
asf001.sp2.ygridcore.net,59854,1341531283318
2012-07-05 23:34:50,258 INFO  [pool-1-thread-1] master.AssignmentManager(1751): 
Assigning region test,ccc,1341531289970.9bcbc7b96efbb051d046fb87d207bc5d. to 
asf001.sp2.ygridcore.net,59854,1341531283318
{code}

Also I found there are maybe thread leak log:
{code}
Standard Error

2012-07-05 23:34:51,775 INFO  [pool-1-thread-1] hbase.ResourceChecker(145): 
before regionserver.TestServerCustomProtocol#testSingleMethod: 144 threads, 271 
file descriptors 3 connections, 
2012-07-05 23:34:51,793 DEBUG [pool-1-thread-1] client.MetaScanner(202): 
Scanning .META. starting at row=test,,00000000000000 for max=2147483647 rows 
using hconnection 0x81b83c
2012-07-05 23:34:51,879 INFO  [pool-1-thread-1] hbase.ResourceChecker(145): 
after regionserver.TestServerCustomProtocol#testSingleMethod: 147 threads (was 
144), 271 file descriptors (was 271). 3 connections (was 3),  -thread leak?- 
{code}
I also looked several other test case log, for example some of the coprocessors 
https://builds.apache.org/job/PreCommit-HBASE-Build/2333//testReport/org.apache.hadoop.hbase.coprocessor/,
 there is no thread leak log.
                
> HLog can be null when create table
> ----------------------------------
>
>                 Key: HBASE-6327
>                 URL: https://issues.apache.org/jira/browse/HBASE-6327
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ShiXing
>            Assignee: ShiXing
>         Attachments: 6327.txt, HBASE-6327-trunk-V1.patch, 
> createTableFailedMaster.log
>
>
> As HBASE-4010 discussed, the HLog can be null.
> We have meet createTable failed because the no use hlog.
> When createHReagion, the HLog.LogSyncer is run sync(), in under layer it call 
> the DFSClient.DFSOutputStream.sync(). 
> Then the hlog.closeAndDelete() was called,firstly the HLog.close() will 
> interrupt the LogSyncer, and interrupt DFSClient.DFSOutputStream.sync().The 
> DFSClient.DFSOutputStream will store the exception and throw it when we 
> called DFSClient.close(). 
> The HLog.close() call the writer.close()/DFSClient.close() after interrupt 
> the LogSyncer. And there is no catch exception for the close().
> So the Master throw exception to the client. There is no need to throw this 
> exception, further, the hlog is no use.
> Our cluster is 0.90, the logs is attached, after "closing hlog writer", there 
> is no log for the createTable().
> The trunk and 0.92, 0.94, we used just one hlog, and if the exception 
> happends, the client will got createTable failed, but indeed ,we expect all 
> the regions for the table can also be assigned.
> I will give the patch for this later.

--
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


Reply via email to