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:

{code}
bin/hbase hbck -Dhbasefsck.errorreporter=foo 
{code}

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

{code}
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException:
foo
	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
{code} 

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
(v6.1#6144)

Mime
View raw message