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

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_r39824860
  
    --- 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");
    --- 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)

Reply via email to