Repository: tajo Updated Branches: refs/heads/master 161ee9ebc -> dbf91f54c
http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java b/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java index 921a136..765a084 100644 --- a/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java +++ b/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java @@ -18,12 +18,11 @@ package org.apache.tajo.client; -import net.jcip.annotations.NotThreadSafe; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.protobuf.ServiceException; - +import net.jcip.annotations.NotThreadSafe; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.fs.FileStatus; @@ -40,7 +39,6 @@ import org.apache.tajo.ipc.ClientProtos; import org.apache.tajo.ipc.ClientProtos.QueryHistoryProto; import org.apache.tajo.ipc.ClientProtos.QueryInfoProto; import org.apache.tajo.ipc.ClientProtos.StageHistoryProto; -import org.apache.tajo.jdbc.TajoResultSet; import org.apache.tajo.storage.StorageConstants; import org.apache.tajo.storage.StorageUtil; import org.apache.tajo.util.CommonTestingUtil; @@ -69,7 +67,7 @@ public class TestTajoClient { public static void setUp() throws Exception { cluster = TpchTestBase.getInstance().getTestingCluster(); conf = cluster.getConfiguration(); - client = new TajoClientImpl(conf); + client = cluster.newTajoClient(); testDir = CommonTestingUtil.getTestDir(); } @@ -248,7 +246,7 @@ public class TestTajoClient { assertFalse(client.existTable(tableName)); - client.createExternalTable(tableName, BackendTestingUtil.mockupSchema, tablePath, BackendTestingUtil.mockupMeta); + client.createExternalTable(tableName, BackendTestingUtil.mockupSchema, tablePath.toUri(), BackendTestingUtil.mockupMeta); assertTrue(client.existTable(tableName)); client.dropTable(tableName); assertFalse(client.existTable(tableName)); @@ -266,7 +264,7 @@ public class TestTajoClient { assertFalse(client.existTable(tableName)); - client.createExternalTable(tableName, BackendTestingUtil.mockupSchema, tablePath, BackendTestingUtil.mockupMeta); + client.createExternalTable(tableName, BackendTestingUtil.mockupSchema, tablePath.toUri(), BackendTestingUtil.mockupMeta); assertTrue(client.existTable(tableName)); client.dropTable(tableName, true); assertFalse(client.existTable(tableName)); @@ -400,7 +398,7 @@ public class TestTajoClient { assertNotNull(tablePath); assertFalse(client.existTable(tableName1)); - client.createExternalTable("table3", BackendTestingUtil.mockupSchema, tablePath, BackendTestingUtil.mockupMeta); + client.createExternalTable("table3", BackendTestingUtil.mockupSchema, tablePath.toUri(), BackendTestingUtil.mockupMeta); assertTrue(client.existTable(tableName1)); TableDesc desc = client.getTableDesc(tableName1); @@ -663,7 +661,7 @@ public class TestTajoClient { assertNotNull(queryStatus); assertTrue(TajoClientUtil.isQueryComplete(queryStatus.getState())); - TajoResultSet resultSet = (TajoResultSet) client.getQueryResult(queryId); + ResultSet resultSet = client.getQueryResult(queryId); assertNotNull(resultSet); int count = 0; @@ -678,27 +676,6 @@ public class TestTajoClient { } @Test - public void testNullCharSession() throws Exception { - String sql = - "select\n" + - " c_custkey,\n" + - " orders.o_orderkey,\n" + - " orders.o_orderstatus \n" + - "from\n" + - " orders full outer join customer on c_custkey = o_orderkey\n" + - "order by\n" + - " c_custkey,\n" + - " orders.o_orderkey;\n"; - - Map<String, String> variables = new HashMap<String, String>(); - variables.put(SessionVars.NULL_CHAR.keyname(), "\\\\T"); - client.updateSessionVariables(variables); - TajoResultSet resultDesc = (TajoResultSet)client.executeQueryAndGetResult(sql); - resultDesc.close(); - assertNullCharSessionVar(resultDesc.getTableDesc()); - } - - @Test public void testNullCharSessionInCTAS() throws Exception { String sql = "create table nullcharsession as select\n" + @@ -714,7 +691,7 @@ public class TestTajoClient { Map<String, String> variables = new HashMap<String, String>(); variables.put(SessionVars.NULL_CHAR.keyname(), "\\\\T"); client.updateSessionVariables(variables); - TajoResultSet res = (TajoResultSet)client.executeQueryAndGetResult(sql); + ResultSet res = client.executeQueryAndGetResult(sql); res.close(); TableDesc resultDesc = client.getTableDesc("nullcharsession"); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java index 39b58d0..48aea26 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java @@ -30,8 +30,8 @@ import org.apache.tajo.datum.Int4Datum; import org.apache.tajo.datum.TextDatum; import org.apache.tajo.engine.planner.global.ExecutionBlock; import org.apache.tajo.engine.planner.global.MasterPlan; +import org.apache.tajo.jdbc.FetchResultSet; import org.apache.tajo.plan.logical.NodeType; -import org.apache.tajo.jdbc.TajoResultSet; import org.apache.tajo.querymaster.QueryMasterTask; import org.apache.tajo.storage.*; import org.apache.tajo.util.FileUtil; @@ -337,11 +337,12 @@ public class TestJoinBroadcast extends QueryTestCaseBase { @Test public final void testBroadcastBasicJoin() throws Exception { ResultSet res = executeQuery(); - TajoResultSet ts = (TajoResultSet)res; + assertEquals(FetchResultSet.class, res.getClass()); + FetchResultSet resultSet = (FetchResultSet)res; assertResultSet(res); cleanupQuery(res); - MasterPlan plan = getQueryPlan(ts.getQueryId()); + MasterPlan plan = getQueryPlan(resultSet.getQueryId()); ExecutionBlock rootEB = plan.getRoot(); /* @@ -361,10 +362,13 @@ public class TestJoinBroadcast extends QueryTestCaseBase { @Test public final void testBroadcastTwoPartJoin() throws Exception { ResultSet res = executeQuery(); + assertEquals(FetchResultSet.class, res.getClass()); + FetchResultSet resultSet = (FetchResultSet)res; + assertResultSet(res); cleanupQuery(res); - MasterPlan plan = getQueryPlan(((TajoResultSet)res).getQueryId()); + MasterPlan plan = getQueryPlan(resultSet.getQueryId()); ExecutionBlock rootEB = plan.getRoot(); /* http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNullValues.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNullValues.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNullValues.java index 4981e89..66848e6 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNullValues.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNullValues.java @@ -20,11 +20,14 @@ package org.apache.tajo.engine.query; import org.apache.tajo.IntegrationTest; import org.apache.tajo.TajoTestingCluster; +import org.apache.tajo.TpchTestBase; import org.apache.tajo.catalog.Schema; import org.apache.tajo.client.TajoClient; import org.apache.tajo.common.TajoDataTypes.Type; import org.apache.tajo.storage.StorageConstants; import org.apache.tajo.util.KeyValueSet; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -40,6 +43,18 @@ import static org.junit.Assert.*; @Category(IntegrationTest.class) public class TestNullValues { + private static TajoClient client; + + @BeforeClass + public static void setUp() throws Exception { + client = TpchTestBase.getInstance().getTestingCluster().newTajoClient(); + } + + @AfterClass + public static void tearDown() { + client.close(); + } + @Test public final void testIsNull() throws Exception { String [] table = new String[] {"nulltable1"}; @@ -57,7 +72,7 @@ public class TestNullValues { opts.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); ResultSet res = TajoTestingCluster .run(table, schemas, opts, new String[][]{data}, - "select * from nulltable1 where col3 is null"); + "select * from nulltable1 where col3 is null", client); try { assertTrue(res.next()); @@ -84,7 +99,7 @@ public class TestNullValues { opts.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); ResultSet res = TajoTestingCluster .run(table, schemas, opts, new String[][]{data}, - "select * from nulltable2 where col1 is not null"); + "select * from nulltable2 where col1 is not null", client); try { assertTrue(res.next()); assertEquals(1, res.getInt(1)); @@ -119,7 +134,7 @@ public class TestNullValues { opts.set(StorageConstants.TEXT_DELIMITER, ","); ResultSet res = TajoTestingCluster .run(table, schemas, opts, new String[][]{data}, - "select * from nulltable3 where col1 is null and col2 is null and col3 is null and col4 = 43578"); + "select * from nulltable3 where col1 is null and col2 is null and col3 is null and col4 = 43578", client); try { assertTrue(res.next()); assertEquals(43578, res.getLong(4)); @@ -153,7 +168,8 @@ public class TestNullValues { opts.set(StorageConstants.TEXT_NULL, "\\\\N"); ResultSet res = TajoTestingCluster .run(table, schemas, opts, new String[][]{data}, - "select * from nulltable4 where col1 is null and col2 is null and col3 is null and col5 is null and col4 = 43578"); + "select * from nulltable4 where col1 is null and col2 is null and col3 is null and col5 is null and col4 = 43578" + , client); try { assertTrue(res.next()); assertEquals(43578, res.getLong(4)); @@ -168,7 +184,6 @@ public class TestNullValues { String tableName = "nulltable5"; ResultSet res = null; - TajoClient client = TajoTestingCluster.newTajoClient(); try { res = runNullTableQuery(tableName, "select col1, col2, col3, col4 from " + tableName, client); int numRows = 0; @@ -199,8 +214,6 @@ public class TestNullValues { if (res != null) { res.close(); } - - client.close(); } } @@ -214,7 +227,6 @@ public class TestNullValues { "col4 " + "from " + tableName; - TajoClient client = TajoTestingCluster.newTajoClient(); ResultSet res = null; try { @@ -246,8 +258,6 @@ public class TestNullValues { if (res != null) { res.close(); } - - client.close(); } } http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java index 0df4001..9ba8a56 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java @@ -28,7 +28,7 @@ import org.apache.tajo.client.QueryStatus; import org.apache.tajo.common.TajoDataTypes.Type; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.conf.TajoConf.ConfVars; -import org.apache.tajo.jdbc.TajoResultSet; +import org.apache.tajo.ipc.ClientProtos; import org.apache.tajo.plan.rewrite.BaseLogicalPlanRewriteRuleProvider; import org.apache.tajo.plan.rewrite.LogicalPlanRewriteRule; import org.apache.tajo.storage.StorageConstants; @@ -439,11 +439,10 @@ public class TestSelectQuery extends QueryTestCaseBase { Thread t = new Thread() { public void run() { try { - TajoResultSet res = (TajoResultSet) client.executeQueryAndGetResult("select l_orderkey from lineitem"); - QueryStatus status = client.getQueryStatus(res.getQueryId()); + ClientProtos.SubmitQueryResponse response = client.executeQuery("select l_orderkey from lineitem"); + QueryStatus status = client.getQueryStatus(new QueryId(response.getQueryId())); assertEquals(QueryState.QUERY_ERROR, status.getState()); assertEquals(NullPointerException.class.getName(), status.getErrorMessage()); - cleanupQuery(res); } catch (Exception e) { fail(e.getMessage()); } http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java index cacef96..b48720a 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java @@ -37,9 +37,10 @@ import org.apache.tajo.engine.planner.global.DataChannel; import org.apache.tajo.engine.planner.global.ExecutionBlock; import org.apache.tajo.engine.planner.global.MasterPlan; import org.apache.tajo.ipc.ClientProtos; -import org.apache.tajo.jdbc.TajoResultSet; -import org.apache.tajo.querymaster.QueryMasterTask; +import org.apache.tajo.jdbc.FetchResultSet; +import org.apache.tajo.jdbc.TajoMemoryResultSet; import org.apache.tajo.plan.logical.NodeType; +import org.apache.tajo.querymaster.QueryMasterTask; import org.apache.tajo.storage.StorageConstants; import org.apache.tajo.util.CommonTestingUtil; import org.apache.tajo.util.KeyValueSet; @@ -867,8 +868,14 @@ public class TestTablePartitions extends QueryTestCaseBase { } private MasterPlan getQueryPlan(ResultSet res) { - QueryId queryId = ((TajoResultSet)res).getQueryId(); - for (TajoWorker eachWorker: testingCluster.getTajoWorkers()) { + QueryId queryId; + if (res instanceof TajoMemoryResultSet) { + queryId = ((TajoMemoryResultSet) res).getQueryId(); + } else { + queryId = ((FetchResultSet) res).getQueryId(); + } + + for (TajoWorker eachWorker : testingCluster.getTajoWorkers()) { QueryMasterTask queryMasterTask = eachWorker.getWorkerContext().getQueryMaster().getQueryMasterTask(queryId, true); if (queryMasterTask != null) { return queryMasterTask.getQuery().getPlan(); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/ha/TestHAServiceHDFSImpl.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/ha/TestHAServiceHDFSImpl.java b/tajo-core/src/test/java/org/apache/tajo/ha/TestHAServiceHDFSImpl.java index f8642ed..7c91e22 100644 --- a/tajo-core/src/test/java/org/apache/tajo/ha/TestHAServiceHDFSImpl.java +++ b/tajo-core/src/test/java/org/apache/tajo/ha/TestHAServiceHDFSImpl.java @@ -24,7 +24,6 @@ import org.apache.hadoop.net.NetUtils; import org.apache.tajo.TajoConstants; import org.apache.tajo.TajoTestingCluster; import org.apache.tajo.client.TajoClient; -import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.master.TajoMaster; import org.apache.tajo.service.ServiceTracker; @@ -32,9 +31,7 @@ import org.apache.tajo.service.ServiceTrackerFactory; import org.junit.Test; import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class TestHAServiceHDFSImpl { private TajoTestingCluster cluster; @@ -53,7 +50,7 @@ public class TestHAServiceHDFSImpl { cluster.startMiniCluster(1); conf = cluster.getConfiguration(); - client = new TajoClientImpl(conf); + client = cluster.newTajoClient(); try { FileSystem fs = cluster.getDefaultFileSystem(); @@ -89,7 +86,7 @@ public class TestHAServiceHDFSImpl { assertFalse(cluster.getMaster().isActiveMaster()); assertTrue(backupMaster.isActiveMaster()); - client = new TajoClientImpl(conf); + client = cluster.newTajoClient(); verifyDataBaseAndTable(); } finally { client.close(); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java index 632724b..524c6e8 100644 --- a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java +++ b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java @@ -21,6 +21,8 @@ */ package org.apache.tajo.jdbc; +import com.google.common.collect.Lists; +import com.google.protobuf.ByteString; import org.apache.hadoop.fs.Path; import org.apache.tajo.IntegrationTest; import org.apache.tajo.TajoConstants; @@ -32,7 +34,6 @@ import org.apache.tajo.catalog.TableDesc; import org.apache.tajo.catalog.TableMeta; import org.apache.tajo.catalog.proto.CatalogProtos.StoreType; import org.apache.tajo.catalog.statistics.TableStats; -import org.apache.tajo.client.QueryClientImpl; import org.apache.tajo.client.TajoClient; import org.apache.tajo.common.TajoDataTypes.Type; import org.apache.tajo.conf.TajoConf; @@ -47,6 +48,7 @@ import org.junit.experimental.categories.Category; import java.io.IOException; import java.sql.*; import java.util.Calendar; +import java.util.List; import java.util.TimeZone; import static org.junit.Assert.*; @@ -59,6 +61,7 @@ public class TestResultSet { private static FileStorageManager sm; private static TableMeta scoreMeta; private static Schema scoreSchema; + private static List<ByteString> serializedData; @BeforeClass public static void setup() throws Exception { @@ -75,7 +78,10 @@ public class TestResultSet { Path p = sm.getTablePath("score"); sm.getFileSystem().mkdirs(p); Appender appender = sm.getAppender(scoreMeta, scoreSchema, new Path(p, "score")); + RowStoreUtil.RowStoreEncoder encoder = RowStoreUtil.createEncoder(scoreSchema); + serializedData = Lists.newArrayList(); appender.init(); + int deptSize = 100; int tupleNum = 10000; Tuple tuple; @@ -87,6 +93,7 @@ public class TestResultSet { tuple.put(1, DatumFactory.createInt4(i + 1)); written += key.length() + Integer.SIZE; appender.addTuple(tuple); + serializedData.add(ByteString.copyFrom(encoder.toBytes(tuple))); } appender.close(); stats.setNumRows(tupleNum); @@ -105,8 +112,10 @@ public class TestResultSet { } @Test - public void test() throws Exception { - TajoResultSet rs = new TajoResultSet(TajoTestingCluster.newTajoClient(), null, conf, desc); + public void testMemoryResultSet() throws Exception { + TajoMemoryResultSet rs = new TajoMemoryResultSet(null, desc.getSchema(), + serializedData, desc.getStats().getNumRows().intValue(), null); + ResultSetMetaData meta = rs.getMetaData(); assertNotNull(meta); Schema schema = scoreSchema; @@ -134,7 +143,7 @@ public class TestResultSet { if(util.isHCatalogStoreRunning()) return; ResultSet res = null; - TajoClient client = TajoTestingCluster.newTajoClient(); + TajoClient client = util.newTajoClient(); try { String tableName = "datetimetable"; String query = "select col1, col2, col3 from " + tableName; http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/master/scheduler/TestFifoScheduler.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/master/scheduler/TestFifoScheduler.java b/tajo-core/src/test/java/org/apache/tajo/master/scheduler/TestFifoScheduler.java index 0a8a51c..874461f 100644 --- a/tajo-core/src/test/java/org/apache/tajo/master/scheduler/TestFifoScheduler.java +++ b/tajo-core/src/test/java/org/apache/tajo/master/scheduler/TestFifoScheduler.java @@ -23,7 +23,6 @@ import org.apache.tajo.TajoProtos; import org.apache.tajo.TajoTestingCluster; import org.apache.tajo.benchmark.TPCH; import org.apache.tajo.client.TajoClient; -import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.client.TajoClientUtil; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.ipc.ClientProtos; @@ -48,7 +47,7 @@ public class TestFifoScheduler { cluster = new TajoTestingCluster(); cluster.startMiniClusterInLocal(1); conf = cluster.getConfiguration(); - client = new TajoClientImpl(cluster.getConfiguration()); + client = cluster.newTajoClient(); File file = TPCH.getDataFile("lineitem"); client.executeQueryAndGetResult("create external table default.lineitem (l_orderkey int, l_partkey int) " + "using text location 'file://" + file.getAbsolutePath() + "'"); @@ -85,7 +84,7 @@ public class TestFifoScheduler { cluster.waitForQuerySubmitted(queryId); assertEquals(TajoProtos.QueryState.QUERY_SUCCEEDED, client.getQueryStatus(queryId2).getState()); - ResultSet resSet = TajoClientUtil.createResultSet(conf, client, res2); + ResultSet resSet = TajoClientUtil.createResultSet(client, res2, 1); assertNotNull(resSet); } http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/querymaster/TestKillQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/querymaster/TestKillQuery.java b/tajo-core/src/test/java/org/apache/tajo/querymaster/TestKillQuery.java index 1edaa15..8fb8e73 100644 --- a/tajo-core/src/test/java/org/apache/tajo/querymaster/TestKillQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/querymaster/TestKillQuery.java @@ -25,7 +25,6 @@ import org.apache.tajo.benchmark.TPCH; import org.apache.tajo.catalog.CatalogService; import org.apache.tajo.catalog.proto.CatalogProtos; import org.apache.tajo.client.TajoClient; -import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.engine.parser.SQLAnalyzer; import org.apache.tajo.engine.planner.global.GlobalPlanner; @@ -69,7 +68,7 @@ public class TestKillQuery { cluster = new TajoTestingCluster(); cluster.startMiniClusterInLocal(1); conf = cluster.getConfiguration(); - client = new TajoClientImpl(cluster.getConfiguration()); + client = cluster.newTajoClient(); File file = TPCH.getDataFile("lineitem"); client.executeQueryAndGetResult("create external table default.lineitem (l_orderkey int, l_partkey int) " + "using text location 'file://" + file.getAbsolutePath() + "'"); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/querymaster/TestQueryProgress.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/querymaster/TestQueryProgress.java b/tajo-core/src/test/java/org/apache/tajo/querymaster/TestQueryProgress.java index 7c61670..f9ed367 100644 --- a/tajo-core/src/test/java/org/apache/tajo/querymaster/TestQueryProgress.java +++ b/tajo-core/src/test/java/org/apache/tajo/querymaster/TestQueryProgress.java @@ -18,20 +18,22 @@ package org.apache.tajo.querymaster; -import org.apache.tajo.*; +import org.apache.tajo.IntegrationTest; +import org.apache.tajo.QueryId; +import org.apache.tajo.TajoTestingCluster; +import org.apache.tajo.TpchTestBase; import org.apache.tajo.client.QueryStatus; import org.apache.tajo.client.TajoClient; -import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.client.TajoClientUtil; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.ipc.ClientProtos; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; -import static org.junit.Assert.*; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; @Category(IntegrationTest.class) public class TestQueryProgress { @@ -43,7 +45,7 @@ public class TestQueryProgress { public static void setUp() throws Exception { cluster = TpchTestBase.getInstance().getTestingCluster(); conf = cluster.getConfiguration(); - client = new TajoClientImpl(conf); + client = cluster.newTajoClient(); } @AfterClass http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-core/src/test/java/org/apache/tajo/worker/TestHistory.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/worker/TestHistory.java b/tajo-core/src/test/java/org/apache/tajo/worker/TestHistory.java index 9a51422..df6d714 100644 --- a/tajo-core/src/test/java/org/apache/tajo/worker/TestHistory.java +++ b/tajo-core/src/test/java/org/apache/tajo/worker/TestHistory.java @@ -25,10 +25,9 @@ import org.apache.tajo.TajoTestingCluster; import org.apache.tajo.TaskAttemptId; import org.apache.tajo.benchmark.TPCH; import org.apache.tajo.client.TajoClient; -import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.conf.TajoConf; -import org.apache.tajo.master.TajoMaster; import org.apache.tajo.master.QueryInfo; +import org.apache.tajo.master.TajoMaster; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -52,7 +51,7 @@ public class TestHistory { cluster.startMiniClusterInLocal(1); master = cluster.getMaster(); conf = cluster.getConfiguration(); - client = new TajoClientImpl(cluster.getConfiguration()); + client = cluster.newTajoClient(); File file = TPCH.getDataFile("lineitem"); client.executeQueryAndGetResult("create external table default.lineitem (l_orderkey int, l_partkey int) " + "using text location 'file://" + file.getAbsolutePath() + "'"); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-dist/pom.xml ---------------------------------------------------------------------- diff --git a/tajo-dist/pom.xml b/tajo-dist/pom.xml index 2ddc517..7d2473e 100644 --- a/tajo-dist/pom.xml +++ b/tajo-dist/pom.xml @@ -144,8 +144,7 @@ run rm -rf lib/tajo-*-${project.version}.jar run mkdir -p share/jdbc-dist - run cp -r $ROOT/tajo-jdbc/target/tajo-jdbc-${project.version}.jar ./share/jdbc-dist - run cp -r $ROOT/tajo-jdbc/target/lib/* ./share/jdbc-dist + run cp -r $ROOT/tajo-jdbc/target/tajo-jdbc-${project.version}-jar-with-dependencies.jar ./share/jdbc-dist/tajo-jdbc-${project.version}.jar if [ -f $ROOT/tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/target/lib/parquet-hive-bundle-*.jar ] then http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-jdbc/pom.xml ---------------------------------------------------------------------- diff --git a/tajo-jdbc/pom.xml b/tajo-jdbc/pom.xml index 9847416..ab5e09e 100644 --- a/tajo-jdbc/pom.xml +++ b/tajo-jdbc/pom.xml @@ -68,22 +68,20 @@ </executions> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.4.1</version> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + </configuration> <executions> <execution> - <id>copy-dependencies</id> + <id>make-assembly</id> <phase>package</phase> <goals> - <goal>copy-dependencies</goal> + <goal>single</goal> </goals> - <configuration> - <includeScope>compile</includeScope> - <outputDirectory>${project.build.directory}/lib</outputDirectory> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>false</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - </configuration> </execution> </executions> </plugin> @@ -98,22 +96,6 @@ </dependency> <dependency> <groupId>org.apache.tajo</groupId> - <artifactId>tajo-catalog-common</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tajo</groupId> - <artifactId>tajo-storage-common</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tajo</groupId> - <artifactId>tajo-storage-hdfs</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tajo</groupId> - <artifactId>tajo-rpc</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tajo</groupId> <artifactId>tajo-client</artifactId> </dependency> <dependency> @@ -121,33 +103,6 @@ <artifactId>junit</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - <scope>provided</scope> - <exclusions> - <exclusion> - <artifactId>protobuf-java</artifactId> - <groupId>com.google.protobuf</groupId> - </exclusion> - <exclusion> - <artifactId>hadoop-mapreduce-client-app</artifactId> - <groupId>org.apache.hadoop</groupId> - </exclusion> - <exclusion> - <artifactId>hadoop-yarn-api</artifactId> - <groupId>org.apache.hadoop</groupId> - </exclusion> - <exclusion> - <artifactId>hadoop-mapreduce-client-jobclient</artifactId> - <groupId>org.apache.hadoop</groupId> - </exclusion> - <exclusion> - <artifactId>hadoop-mapreduce-client-core</artifactId> - <groupId>org.apache.hadoop</groupId> - </exclusion> - </exclusions> - </dependency> </dependencies> <profiles> http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/JdbcConnection.java ---------------------------------------------------------------------- diff --git a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/JdbcConnection.java b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/JdbcConnection.java index 2264b62..0919eee 100644 --- a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/JdbcConnection.java +++ b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/JdbcConnection.java @@ -19,22 +19,21 @@ package org.apache.tajo.jdbc; import com.google.protobuf.ServiceException; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tajo.TajoConstants; -import org.apache.tajo.client.*; -import org.apache.tajo.conf.TajoConf; +import org.apache.tajo.client.CatalogAdminClient; +import org.apache.tajo.client.QueryClient; +import org.apache.tajo.client.TajoClient; +import org.apache.tajo.client.TajoClientImpl; import org.apache.tajo.jdbc.util.QueryStringDecoder; -import org.apache.tajo.service.ServiceTracker; -import org.apache.tajo.util.NetUtils; +import org.apache.tajo.rpc.RpcUtils; +import org.apache.tajo.util.KeyValueSet; import java.io.IOException; import java.net.URI; import java.sql.*; -import java.util.List; -import java.util.Map; -import java.util.Properties; +import java.util.*; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; @@ -100,16 +99,15 @@ public class JdbcConnection implements Connection { throw new SQLException("Invalid JDBC URI: " + rawURI, "TAJO-001"); } - TajoConf tajoConf = new TajoConf(); + KeyValueSet clientProperties = new KeyValueSet(); if(properties != null) { for(Map.Entry<Object, Object> entry: properties.entrySet()) { - tajoConf.set(entry.getKey().toString(), entry.getValue().toString()); + clientProperties.set(entry.getKey().toString(), entry.getValue().toString()); } } try { - ServiceTracker serviceTracker = new DummyServiceTracker(NetUtils.createSocketAddr(hostName, port)); - tajoClient = new TajoClientImpl(tajoConf, serviceTracker, databaseName); + tajoClient = new TajoClientImpl(RpcUtils.createSocketAddr(hostName, port), databaseName, clientProperties); } catch (Exception e) { throw new SQLException("Cannot create TajoClient instance:" + e.getMessage(), "TAJO-002"); } http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java ---------------------------------------------------------------------- diff --git a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java index 73c3060..3190f5a 100644 --- a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java +++ b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java @@ -16,8 +16,6 @@ package org.apache.tajo.jdbc; /** * limitations under the License. */ -import org.apache.tajo.conf.TajoConf; - import java.io.Closeable; import java.io.IOException; import java.sql.*; @@ -33,8 +31,6 @@ public class TajoDriver implements Driver, Closeable { public static final String TAJO_JDBC_URL_PREFIX = "jdbc:tajo:"; - protected static TajoConf jdbcTajoConf = new TajoConf(); - static { try { DriverManager.registerDriver(new TajoDriver()); http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java ---------------------------------------------------------------------- diff --git a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java index 7f89b46..57cd066 100644 --- a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java +++ b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java @@ -20,6 +20,7 @@ package org.apache.tajo.jdbc; import com.google.common.collect.Lists; import com.google.protobuf.ServiceException; import org.apache.tajo.client.TajoClient; +import org.apache.tajo.client.TajoClientUtil; import java.sql.*; import java.util.HashMap; @@ -168,7 +169,7 @@ public class TajoStatement implements Statement { throw new SQLException(e.getMessage(), e); } - return new TajoResultSet(client, null); + return TajoClientUtil.createNullResultSet(); } public static ResultSet unSetSessionVariable(TajoClient client, String sql) throws SQLException { @@ -187,7 +188,7 @@ public class TajoStatement implements Statement { throw new SQLException(e.getMessage(), e); } - return new TajoResultSet(client, null); + return TajoClientUtil.createNullResultSet(); } @Override http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/RowStoreUtil.java ---------------------------------------------------------------------- diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/RowStoreUtil.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/RowStoreUtil.java index 24b6280..33db798 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/RowStoreUtil.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/RowStoreUtil.java @@ -24,8 +24,8 @@ import org.apache.tajo.common.TajoDataTypes; import org.apache.tajo.datum.DatumFactory; import org.apache.tajo.datum.IntervalDatum; import org.apache.tajo.datum.ProtobufDatum; +import org.apache.tajo.exception.UnknownDataTypeException; import org.apache.tajo.exception.UnsupportedException; -import org.apache.tajo.storage.exception.UnknownDataTypeException; import org.apache.tajo.tuple.offheap.RowWriter; import org.apache.tajo.util.BitArray; http://git-wip-us.apache.org/repos/asf/tajo/blob/dbf91f54/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/exception/UnknownDataTypeException.java ---------------------------------------------------------------------- diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/exception/UnknownDataTypeException.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/exception/UnknownDataTypeException.java deleted file mode 100644 index d18b5a0..0000000 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/exception/UnknownDataTypeException.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.tajo.storage.exception; - -public class UnknownDataTypeException extends Exception { - - private static final long serialVersionUID = -2630390595968966164L; - - public UnknownDataTypeException() { - - } - - public UnknownDataTypeException(String message) { - super(message); - } -}
