[
https://issues.apache.org/jira/browse/TAJO-1868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14804987#comment-14804987
]
ASF GitHub Bot commented on TAJO-1868:
--------------------------------------
Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/768#discussion_r39824864
--- Diff:
tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestHBaseTable.java
---
@@ -177,195 +185,230 @@ public void testCreateRowFieldWithNonText() throws
Exception {
@Test
public void testCreateExternalHBaseTable() throws Exception {
- HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table_not_purge"));
- hTableDesc.addFamily(new HColumnDescriptor("col1"));
- hTableDesc.addFamily(new HColumnDescriptor("col2"));
- hTableDesc.addFamily(new HColumnDescriptor("col3"));
- testingCluster.getHBaseUtil().createTable(hTableDesc);
-
- String sql = String.format(
- "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk text, col1
text, col2 text, col3 text) " +
- "USING hbase WITH ('table'='external_hbase_table_not_purge',
'columns'=':key,col1:a,col2:,col3:b') " +
- "LOCATION '%s/external_hbase_table'", tableSpaceUri);
- executeString(sql).close();
+ Optional<Tablespace> existing =
TablespaceManager.removeTablespaceForTest("cluster1");
+ assertTrue(existing.isPresent());
- assertTableExists("external_hbase_mapped_table");
+ try {
+ HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table_not_purge"));
+ hTableDesc.addFamily(new HColumnDescriptor("col1"));
+ hTableDesc.addFamily(new HColumnDescriptor("col2"));
+ hTableDesc.addFamily(new HColumnDescriptor("col3"));
+ testingCluster.getHBaseUtil().createTable(hTableDesc);
+
+ String sql = String.format(
+ "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk text,
col1 text, col2 text, col3 text) " +
+ "USING hbase WITH ('table'='external_hbase_table_not_purge',
'columns'=':key,col1:a,col2:,col3:b') " +
+ "LOCATION '%s/external_hbase_table'", tableSpaceUri);
+ executeString(sql).close();
- executeString("DROP TABLE external_hbase_mapped_table").close();
+ assertTableExists("external_hbase_mapped_table");
+
+ executeString("DROP TABLE external_hbase_mapped_table").close();
+
+ HBaseAdmin hAdmin = new
HBaseAdmin(testingCluster.getHBaseUtil().getConf());
+ try {
+ assertTrue(hAdmin.tableExists("external_hbase_table_not_purge"));
+ hAdmin.disableTable("external_hbase_table_not_purge");
+ hAdmin.deleteTable("external_hbase_table_not_purge");
+ } finally {
+ hAdmin.close();
+ }
- HBaseAdmin hAdmin = new
HBaseAdmin(testingCluster.getHBaseUtil().getConf());
- try {
- assertTrue(hAdmin.tableExists("external_hbase_table_not_purge"));
- hAdmin.disableTable("external_hbase_table_not_purge");
- hAdmin.deleteTable("external_hbase_table_not_purge");
} finally {
- hAdmin.close();
+ TablespaceManager.addTableSpaceForTest(existing.get());
}
+
}
@Test
public void testSimpleSelectQuery() throws Exception {
- HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table"));
- hTableDesc.addFamily(new HColumnDescriptor("col1"));
- hTableDesc.addFamily(new HColumnDescriptor("col2"));
- hTableDesc.addFamily(new HColumnDescriptor("col3"));
- testingCluster.getHBaseUtil().createTable(hTableDesc);
-
- String sql = String.format(
- "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk text, col1
text, col2 text, col3 text) " +
- "USING hbase WITH ('table'='external_hbase_table',
'columns'=':key,col1:a,col2:,col3:b') " +
- "LOCATION '%s/external_hbase_table'", tableSpaceUri);
- executeString(sql).close();
+ Optional<Tablespace> existing =
TablespaceManager.removeTablespaceForTest("cluster1");
+ assertTrue(existing.isPresent());
- assertTableExists("external_hbase_mapped_table");
+ try {
+ HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table"));
+ hTableDesc.addFamily(new HColumnDescriptor("col1"));
+ hTableDesc.addFamily(new HColumnDescriptor("col2"));
+ hTableDesc.addFamily(new HColumnDescriptor("col3"));
+ testingCluster.getHBaseUtil().createTable(hTableDesc);
+
+ String sql = String.format(
+ "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk text,
col1 text, col2 text, col3 text) " +
+ "USING hbase WITH ('table'='external_hbase_table',
'columns'=':key,col1:a,col2:,col3:b') " +
+ "LOCATION '%s/external_hbase_table'", tableSpaceUri);
+ executeString(sql).close();
- HBaseTablespace space = (HBaseTablespace)
TablespaceManager.getByName("cluster1").get();
- HConnection hconn = space.getConnection();
- HTableInterface htable = hconn.getTable("external_hbase_table");
+ assertTableExists("external_hbase_mapped_table");
- try {
- for (int i = 0; i < 100; i++) {
- Put put = new Put(String.valueOf(i).getBytes());
- put.add("col1".getBytes(), "a".getBytes(), ("a-" + i).getBytes());
- put.add("col1".getBytes(), "b".getBytes(), ("b-" + i).getBytes());
- put.add("col2".getBytes(), "k1".getBytes(), ("k1-" +
i).getBytes());
- put.add("col2".getBytes(), "k2".getBytes(), ("k2-" +
i).getBytes());
- put.add("col3".getBytes(), "b".getBytes(), ("b-" + i).getBytes());
- htable.put(put);
- }
+ HConnection hconn =
((HBaseTablespace)existing.get()).getConnection();
+ HTableInterface htable = hconn.getTable("external_hbase_table");
- ResultSet res = executeString("select * from
external_hbase_mapped_table where rk > '20'");
- assertResultSet(res);
- cleanupQuery(res);
+ try {
+ for (int i = 0; i < 100; i++) {
+ Put put = new Put(String.valueOf(i).getBytes());
+ put.add("col1".getBytes(), "a".getBytes(), ("a-" +
i).getBytes());
+ put.add("col1".getBytes(), "b".getBytes(), ("b-" +
i).getBytes());
+ put.add("col2".getBytes(), "k1".getBytes(), ("k1-" +
i).getBytes());
+ put.add("col2".getBytes(), "k2".getBytes(), ("k2-" +
i).getBytes());
+ put.add("col3".getBytes(), "b".getBytes(), ("b-" +
i).getBytes());
+ htable.put(put);
+ }
+
+ ResultSet res = executeString("select * from
external_hbase_mapped_table where rk > '20'");
+ assertResultSet(res);
+ cleanupQuery(res);
+ } finally {
+ executeString("DROP TABLE external_hbase_mapped_table
PURGE").close();
+ htable.close();
+ }
} finally {
- executeString("DROP TABLE external_hbase_mapped_table
PURGE").close();
- htable.close();
+ TablespaceManager.addTableSpaceForTest(existing.get());
}
}
@Test
public void testBinaryMappedQuery() throws Exception {
- HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table"));
- hTableDesc.addFamily(new HColumnDescriptor("col1"));
- hTableDesc.addFamily(new HColumnDescriptor("col2"));
- hTableDesc.addFamily(new HColumnDescriptor("col3"));
- testingCluster.getHBaseUtil().createTable(hTableDesc);
-
- String sql = String.format(
- "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk int8, col1
text, col2 text, col3 int4)\n " +
- "USING hbase WITH ('table'='external_hbase_table',
'columns'=':key#b,col1:a,col2:,col3:b#b') " +
- "LOCATION '%s/external_hbase_table'", tableSpaceUri);
- executeString(sql).close();
-
- assertTableExists("external_hbase_mapped_table");
-
- HBaseTablespace space = (HBaseTablespace)
TablespaceManager.getByName("cluster1").get();
- HConnection hconn = space.getConnection();
- HTableInterface htable = hconn.getTable("external_hbase_table");
+ //Optional<Tablespace> existing =
TablespaceManager.removeTablespaceForTest("cluster1");
+ //assertTrue(existing.isPresent());
try {
- for (int i = 0; i < 100; i++) {
- Put put = new Put(Bytes.toBytes((long) i));
- put.add("col1".getBytes(), "a".getBytes(), ("a-" + i).getBytes());
- put.add("col1".getBytes(), "b".getBytes(), ("b-" + i).getBytes());
- put.add("col2".getBytes(), "k1".getBytes(), ("k1-" +
i).getBytes());
- put.add("col2".getBytes(), "k2".getBytes(), ("k2-" +
i).getBytes());
- put.add("col3".getBytes(), "b".getBytes(), Bytes.toBytes(i));
- htable.put(put);
- }
+ HTableDescriptor hTableDesc = new
HTableDescriptor(TableName.valueOf("external_hbase_table"));
+ hTableDesc.addFamily(new HColumnDescriptor("col1"));
+ hTableDesc.addFamily(new HColumnDescriptor("col2"));
+ hTableDesc.addFamily(new HColumnDescriptor("col3"));
+ testingCluster.getHBaseUtil().createTable(hTableDesc);
+
+ String sql = String.format(
+ "CREATE EXTERNAL TABLE external_hbase_mapped_table (rk int8,
col1 text, col2 text, col3 int4)\n " +
+ "USING hbase WITH ('table'='external_hbase_table',
'columns'=':key#b,col1:a,col2:,col3:b#b') " +
+ "LOCATION '%s/external_hbase_table'", tableSpaceUri);
+ executeString(sql).close();
- ResultSet res = executeString("select * from
external_hbase_mapped_table where rk > 20");
- assertResultSet(res);
- res.close();
+ assertTableExists("external_hbase_mapped_table");
+
+ HBaseTablespace space = (HBaseTablespace)
TablespaceManager.getByName("cluster1").get();
+ HConnection hconn = space.getConnection();
+ HTableInterface htable = hconn.getTable("external_hbase_table");
+
+ try {
+ for (int i = 0; i < 100; i++) {
+ Put put = new Put(Bytes.toBytes((long) i));
+ put.add("col1".getBytes(), "a".getBytes(), ("a-" +
i).getBytes());
+ put.add("col1".getBytes(), "b".getBytes(), ("b-" +
i).getBytes());
+ put.add("col2".getBytes(), "k1".getBytes(), ("k1-" +
i).getBytes());
+ put.add("col2".getBytes(), "k2".getBytes(), ("k2-" +
i).getBytes());
+ put.add("col3".getBytes(), "b".getBytes(), Bytes.toBytes(i));
+ htable.put(put);
+ }
- //Projection
- res = executeString("select col3, col2, rk from
external_hbase_mapped_table where rk > 95");
+ ResultSet res = executeString("select * from
external_hbase_mapped_table where rk > 20");
+ assertResultSet(res);
+ res.close();
- String expected = "col3,col2,rk\n" +
- "-------------------------------\n" +
- "96,{\"k1\":\"k1-96\", \"k2\":\"k2-96\"},96\n" +
- "97,{\"k1\":\"k1-97\", \"k2\":\"k2-97\"},97\n" +
- "98,{\"k1\":\"k1-98\", \"k2\":\"k2-98\"},98\n" +
- "99,{\"k1\":\"k1-99\", \"k2\":\"k2-99\"},99\n";
+ //Projection
+ res = executeString("select col3, col2, rk from
external_hbase_mapped_table where rk > 95");
- assertEquals(expected, resultSetToString(res));
- res.close();
+ String expected = "col3,col2,rk\n" +
+ "-------------------------------\n" +
+ "96,{\"k1\":\"k1-96\", \"k2\":\"k2-96\"},96\n" +
+ "97,{\"k1\":\"k1-97\", \"k2\":\"k2-97\"},97\n" +
+ "98,{\"k1\":\"k1-98\", \"k2\":\"k2-98\"},98\n" +
+ "99,{\"k1\":\"k1-99\", \"k2\":\"k2-99\"},99\n";
+ assertEquals(expected, resultSetToString(res));
+ res.close();
+
+ } finally {
+ executeString("DROP TABLE external_hbase_mapped_table
PURGE").close();
+ htable.close();
+ }
} finally {
- executeString("DROP TABLE external_hbase_mapped_table
PURGE").close();
- htable.close();
+ //TablespaceManager.addTableSpaceForTest(existing.get());
--- End diff --
Does this line need to be restored?
> Allow TablespaceManager::get to return unregistered tablespace
> --------------------------------------------------------------
>
> Key: TAJO-1868
> URL: https://issues.apache.org/jira/browse/TAJO-1868
> Project: Tajo
> Issue Type: Improvement
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.11.0
>
>
> This patch allows TablespaceManager::get() to return unregistered tablespace
> by URI.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)