hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-14662) Fix NPE in HFileOutputFormat2
Date Thu, 22 Oct 2015 04:55:27 GMT

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

Mime
View raw message