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