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

ASF GitHub Bot commented on TEPHRA-236:
---------------------------------------

Github user bijugs commented on a diff in the pull request:

    https://github.com/apache/incubator-tephra/pull/45#discussion_r126955216
  
    --- Diff: 
tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
 ---
    @@ -56,17 +58,24 @@
       private static final byte[] secondaryIndexQualifier = Bytes.toBytes('r');
       private static final byte[] DELIMITER  = new byte[] {0};
     
    -  public SecondaryIndexTable(TransactionServiceClient 
transactionServiceClient, HTableInterface hTable,
    -                             byte[] secondaryIndex) {
    +  public SecondaryIndexTable(TransactionServiceClient 
transactionServiceClient, Table hTable,
    +                             byte[] secondaryIndex) throws IOException {
         secondaryIndexTableName = 
TableName.valueOf(hTable.getName().getNameAsString() + ".idx");
    -    HTable secondaryIndexHTable = null;
    -    try (HBaseAdmin hBaseAdmin = new 
HBaseAdmin(hTable.getConfiguration())) {
    +    Table secondaryIndexHTable = null;
    +    Connection conn  = null;
    +    try { 
    +      conn  = 
ConnectionFactory.createConnection(hTable.getConfiguration());
    +      Admin hBaseAdmin = conn.getAdmin();
           if (!hBaseAdmin.tableExists(secondaryIndexTableName)) {
             hBaseAdmin.createTable(new 
HTableDescriptor(secondaryIndexTableName));
           }
    -      secondaryIndexHTable = new HTable(hTable.getConfiguration(), 
secondaryIndexTableName);
    -    } catch (Exception e) {
    +      secondaryIndexHTable = conn.getTable(secondaryIndexTableName);
    +    } catch (Exception e) { 
           Throwables.propagate(e);
    +    } finally {
    +      if (conn != null) {
    +         conn.close();
    --- End diff --
    
    This connection is local to the constructor and gets closed when the 
constructor execution is complete. Looks like we don't need to take any further 
actions in ``close()``. Please let me know otherwise.


> Replace deprecated HBase APIs HBaseAdmin and HTableDescriptor
> -------------------------------------------------------------
>
>                 Key: TEPHRA-236
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-236
>             Project: Tephra
>          Issue Type: Improvement
>            Reporter: Biju Nair
>            Assignee: Poorna Chandra
>            Priority: Minor
>
> {{HBaseAdmin}}, {{HTable}} and {{HTableDescriptor}} client APIs are 
> deprecated/or marked for internal use in HBase 1.0 and planned for removal in 
> HBase 2.0. Need to replace these classes with new ones provided in HBase. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to