[
https://issues.apache.org/jira/browse/HBASE-14662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HBASE-14662:
--------------------------
Resolution: Fixed
Assignee: Heng Chen
Hadoop Flags: Reviewed
Fix Version/s: 1.3.0
2.0.0
Status: Resolved (was: Patch Available)
Pushed to branch-1 and to master (doesn't seem to go back any further). Nice
fix [~chenheng] Agree with your reasoning. Thanks.
> Fix NPE in HFileOutputFormat2
> -----------------------------
>
> Key: HBASE-14662
> URL: https://issues.apache.org/jira/browse/HBASE-14662
> Project: HBase
> Issue Type: Sub-task
> Reporter: Heng Chen
> Assignee: Heng Chen
> Fix For: 2.0.0, 1.3.0
>
> Attachments: HBASE-14662.patch
>
>
> When i dig in HBASE-14659, i run testWritingPEData. There are a lot of NPE
> thrown and testcase run a long time.
> The reason is that, in {{HFileOutputFormat2}}
> {code}
> HRegionLocation loc = null;
> String tableName = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);
> try (Connection connection =
> ConnectionFactory.createConnection(conf);
> RegionLocator locator =
>
> connection.getRegionLocator(TableName.valueOf(tableName))) {
> loc = locator.getRegionLocation(rowKey);
> } catch (Throwable e) {
> LOG.warn("there's something wrong when locating rowkey: " +
> Bytes.toString(rowKey), e);
> loc = null;
> }
> {code}
> Because we did not set {{OUTPUT_TABLE_NAME_CONF_KEY}}, So tableName is null,
> So NPE thrown.
> And connection will be created which RegionLocator use to find region
> location. Because zk is not start in this testcase, So it will retry many
> times.
> But all this actions are not required, we can skip create connection by
> check whether tableName is null
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)