[
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