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

Jan Van Besien commented on HBASE-4297:
---------------------------------------

I think this issue is actually not fixed in all code paths. There are still 
overloaded initTableMapperJob methods in TableMapReduceUtil that do not merge 
the configuration.

I can still reproduce this issue with hbase-0.94.6.

> TableMapReduceUtil overwrites user supplied options
> ---------------------------------------------------
>
>                 Key: HBASE-4297
>                 URL: https://issues.apache.org/jira/browse/HBASE-4297
>             Project: HBase
>          Issue Type: Bug
>          Components: mapreduce
>    Affects Versions: 0.90.4
>            Reporter: Jan Lukavsky
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4297.patch
>
>
> Job configuration is overwritten by hbase-default and hbase-site in 
> TableMapReduceUtil.initTable(Mapper|Reducer)Job, causing unexpected behavior 
> in the following code:
> {noformat}
> Configuration conf = HBaseConfiguration.create();
> // change keyvalue size
> conf.setInt("hbase.client.keyvalue.maxsize", 20971520);
> Job job = new Job(conf, ...);
> TableMapReduceUtil.initTableMapperJob(...);
> // the job doesn't have the option changed, uses it from hbase-site or 
> hbase-default
> job.submit();
> {noformat}
> Although in this case it could be fixed by moving the set() after 
> initTableMapperJob(), in case where user wants to change some option using 
> GenericOptionsParser and -D this is impossible, making this cool feature 
> useless.
> In the 0.20.x era this code behaved as expected. The solution of this problem 
> should be that we don't overwrite the options, but just read them if they are 
> missing.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to