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

Heng Chen commented on HBASE-14662:
-----------------------------------

{quote}
In other words, if no table, does it make sense that the creation of a record 
writer should succeed? 
{quote}

This table is only help to locate region,  and the region location info is only 
help to do locality on HDFS in StoreFile.Writer,  
it is NOT necessary in local mode. 

So no matter this table exist or not,  record writer should succeed.


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

Reply via email to