/** * 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.hadoop.hive.ql; import java.io.File; /** * Suite for testing running of queries in multi-threaded mode. */ public class TestMTQueries extends BaseTestQueries { public TestMTQueries() { File logDirFile = new File(logDir); if (!(logDirFile.exists() || logDirFile.mkdirs())) { fail("Could not create " + logDir); } } public void testMTQueries1() throws Exception { String[] testNames = new String[] {"join2.q", "groupby1.q", "input1.q", "input19.q"}; File[] qfiles = setupQFiles(testNames); QTestUtil[] qts = QTestUtil.queryListRunnerSetup(qfiles, resDir, logDir, "q_test_init_src_with_stats.sql", "q_test_cleanup_src_with_stats.sql"); for (QTestUtil util : qts) { // derby fails creating multiple stats aggregator concurrently util.getConf().setBoolean("hive.exec.submitviachild", true); util.getConf().setBoolean("hive.exec.submit.local.task.via.child", true); util.getConf().set("hive.stats.dbclass", "fs"); util.getConf().set("hive.mapred.mode", "nonstrict"); } boolean success = QTestUtil.queryListRunnerMultiThreaded(qfiles, qts); if (!success) { fail("One or more queries failed"); } } }