hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9992) [hbck] Refactor so that arbitrary -D cmdline options are included
Date Wed, 20 Nov 2013 22:19:35 GMT

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

Jonathan Hsieh commented on HBASE-9992:

Ok, tested against the hbasefsck.erroreporter param like so:

bin/hbase hbck -Dhbasefsck.errorreporter=foo 

hbasefsck.errorreporter is a conf variable, and with the param hbck it tries to class load
foo.  It fail as it should:

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException:
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:889)
	at org.apache.hadoop.hbase.util.HBaseFsck.getErrorReporter(HBaseFsck.java:2956)
	at org.apache.hadoop.hbase.util.HBaseFsck.<init>(HBaseFsck.java:268)
	at org.apache.hadoop.hbase.util.HBaseFsck$HBaseFsckTool.run(HBaseFsck.java:3604)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
	at org.apache.hadoop.hbase.util.HBaseFsck.main(HBaseFsck.java:3593)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: foo
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:857)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:881)
	... 6 more

Declaring success and will commit early tomorrow unless I hear otherwise.

> [hbck] Refactor so that arbitrary -D cmdline options are included 
> ------------------------------------------------------------------
>                 Key: HBASE-9992
>                 URL: https://issues.apache.org/jira/browse/HBASE-9992
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck
>    Affects Versions: 0.96.0, 0.94.13
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>             Fix For: 0.98.0, 0.96.1, 0.94.14
>         Attachments: hbase-9992.patch
> A review of HBASE-9831 pointed out the fact that -D options aren't being passed into
the configuration object used by hbck.  This means overriding -D options will not work unless
special hooks are for specific options.  A first attempt to fix this was in HBASE-9831 but
it affected many other files.
> The right approach would be to create a new HbckTool class that had the configured interface
and change to existing HBaseFsck main to instantiate that to have it parse args, and then
create the HBaseFsck object inside run.

This message was sent by Atlassian JIRA

View raw message