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
         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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to