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