hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6576) HBaseAdmin.createTable should return enabled tables if successful
Date Tue, 14 Aug 2012 08:45:38 GMT

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

Hadoop QA commented on HBASE-6576:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12540808/HBASE-6576-trunk.patch
  against trunk revision .

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

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +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 generated 5 javac compiler warnings (more than the trunk's
current 4 warnings).

    -1 findbugs.  The patch appears to introduce 9 new Findbugs (version 1.3.9) warnings.

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

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

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2566//console

This message is automatically generated.
                
> HBaseAdmin.createTable should return enabled tables if successful
> -----------------------------------------------------------------
>
>                 Key: HBASE-6576
>                 URL: https://issues.apache.org/jira/browse/HBASE-6576
>             Project: HBase
>          Issue Type: Bug
>          Components: client, test
>            Reporter: Gregory Chanan
>            Assignee: Gregory Chanan
>             Fix For: 0.92.2, 0.96.0, 0.94.2
>
>         Attachments: HBASE-6576-92.patch, HBASE-6576-94.patch, HBASE-6576-trunk.patch
>
>
> The function:
> {code}
> public void createTable(final HTableDescriptor desc, byte [][] splitKeys)
> {code}
> in HBaseAdmin is synchronous and returns once all the regions of the table are online,
but does not wait for the table to be enabled, which is the last step of table creation (see
CreateTableHandler).
> This is confusing and leads to racy code because users do not realize that this is the
case.  For example, I saw the following test failure in 0.92 when I ran:
> mvn test -Dtest=org.apache.hadoop.hbase.client.TestAdmin#testEnableDisableAddColumnDeleteColumn

> {code}
> Error Message
> org.apache.hadoop.hbase.TableNotEnabledException: testMasterAdmin at org.apache.hadoop.hbase.master.handler.DisableTableHandler.<init>(DisableTableHandler.java:75)
at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:1154) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364) at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1336)
> Stacktrace
> org.apache.hadoop.hbase.TableNotEnabledException: org.apache.hadoop.hbase.TableNotEnabledException:
testMasterAdmin
> at org.apache.hadoop.hbase.master.handler.DisableTableHandler.<init>(DisableTableHandler.java:75)
> at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:1154)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1336)
> {code}
> The issue is that code will create and table and immediately disable it in order to do
some testing, for example, to test an operation that only works when the table is disabled.
 If the table has not been enabled yet, they will get back a TableNotEnabledException.
> The specific test above was fixed in HBASE-5206, but other examples exist in the code,
for example the following:
> {code}
> hbase org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat newtable asdf14
> {code}
> The code in question is:
> {code}
> byte[] tname = args[1].getBytes();
> HTable table = util.createTable(tname, FAMILIES);
> HBaseAdmin admin = new HBaseAdmin(conf);
> admin.disableTable(tname);
> {code}
> It would be better if createTable just waited until the table was enabled, or threw a
TableNotEnabledException if it exhausted the configured number of retries.

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