You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2016/04/20 00:25:48 UTC
[56/58] [abbrv] hive git commit: Revert "HIVE-13149: Remove some
unnecessary HMS connections from HS2 (Reviewed by Szehon Ho, Chaoyu Tang)"
Revert "HIVE-13149: Remove some unnecessary HMS connections from HS2 (Reviewed by Szehon Ho, Chaoyu Tang)"
This reverts commit 37e6e1bf56d7d2fd557730380b147c745fc051ce.
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/58c4e121
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/58c4e121
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/58c4e121
Branch: refs/heads/llap
Commit: 58c4e1215ec059b37fd4899a71c1789619ef5dba
Parents: 6a776f5
Author: Aihua Xu <ai...@apache.org>
Authored: Fri Apr 15 09:43:19 2016 -0400
Committer: Aihua Xu <ai...@apache.org>
Committed: Fri Apr 15 09:43:19 2016 -0400
----------------------------------------------------------------------
.../hadoop/hive/metastore/TestMetastoreVersion.java | 7 +++----
.../metastore/hbase/TestHBaseMetastoreMetrics.java | 4 +++-
.../org/apache/hadoop/hive/hbase/HBaseQTestUtil.java | 10 +---------
.../org/apache/hadoop/hive/hbase/HBaseTestSetup.java | 3 +++
.../java/org/apache/hadoop/hive/ql/QTestUtil.java | 14 ++++----------
.../hadoop/hive/metastore/HiveMetaStoreClient.java | 10 ++++------
.../apache/hadoop/hive/ql/session/SessionState.java | 8 ++++++++
7 files changed, 26 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreVersion.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreVersion.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreVersion.java
index 5ceb3d2..53f0d0e 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreVersion.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreVersion.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.metastore;
import java.io.File;
import java.lang.reflect.Field;
+import java.util.Random;
import junit.framework.TestCase;
@@ -31,7 +32,6 @@ import org.apache.hive.common.util.HiveStringUtils;
import org.apache.hadoop.hive.metastore.api.MetaException;
import org.apache.hadoop.hive.metastore.ObjectStore;
import org.apache.hadoop.hive.ql.Driver;
-import org.apache.hadoop.hive.ql.metadata.Hive;
import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
import org.apache.hadoop.hive.ql.session.SessionState;
@@ -96,9 +96,8 @@ public class TestMetastoreVersion extends TestCase {
// session creation should fail since the schema didn't get created
try {
SessionState.start(new CliSessionState(hiveConf));
- Hive.get(hiveConf).getMSC();
- fail("An exception is expected since schema is not created.");
- } catch (Exception re) {
+ fail("Expected exception");
+ } catch (RuntimeException re) {
LOG.info("Exception in testVersionRestriction: " + re, re);
String msg = HiveStringUtils.stringifyException(re);
assertTrue("Expected 'Version information not found in metastore' in: " + msg, msg
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/hbase/TestHBaseMetastoreMetrics.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/hbase/TestHBaseMetastoreMetrics.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/hbase/TestHBaseMetastoreMetrics.java
index aefafe0..3ed88f2 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/hbase/TestHBaseMetastoreMetrics.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/hbase/TestHBaseMetastoreMetrics.java
@@ -41,6 +41,8 @@ import java.io.IOException;
*/
public class TestHBaseMetastoreMetrics extends HBaseIntegrationTests {
+ private CodahaleMetrics metrics;
+
@BeforeClass
public static void startup() throws Exception {
HBaseIntegrationTests.startMiniCluster();
@@ -64,6 +66,7 @@ public class TestHBaseMetastoreMetrics extends HBaseIntegrationTests {
conf.setVar(HiveConf.ConfVars.HIVE_METRICS_REPORTER, MetricsReporting.JSON_FILE.name() + "," + MetricsReporting.JMX.name());
SessionState.start(new CliSessionState(conf));
driver = new Driver(conf);
+ metrics = (CodahaleMetrics) MetricsFactory.getInstance();
}
@Test
@@ -104,7 +107,6 @@ public class TestHBaseMetastoreMetrics extends HBaseIntegrationTests {
driver.run("use default");
driver.run("drop database tempdb cascade");
- CodahaleMetrics metrics = (CodahaleMetrics) MetricsFactory.getInstance();
String json = metrics.dumpJson();
MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.COUNTER, MetricsConstant.CREATE_TOTAL_DATABASES, 2);
MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.COUNTER, MetricsConstant.CREATE_TOTAL_TABLES, 7);
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
index 70c0b13..3ff5742 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
@@ -39,14 +39,12 @@ public class HBaseQTestUtil extends QTestUtil {
/** A handle to this harness's cluster */
private final HConnection conn;
- private HBaseTestSetup setup;
-
public HBaseQTestUtil(
String outDir, String logDir, MiniClusterType miniMr, HBaseTestSetup setup,
String initScript, String cleanupScript)
throws Exception {
+
super(outDir, logDir, miniMr, null, "0.20", initScript, cleanupScript, false, false);
- this.setup = setup;
setup.preTest(conf);
this.conn = setup.getConnection();
super.init();
@@ -71,12 +69,6 @@ public class HBaseQTestUtil extends QTestUtil {
}
@Override
- protected void initConfFromSetup() throws Exception {
- super.initConfFromSetup();
- setup.preTest(conf);
- }
-
- @Override
public void createSources(String tname) throws Exception {
super.createSources(tname);
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseTestSetup.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseTestSetup.java b/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseTestSetup.java
index cee7158..e6383dc 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseTestSetup.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseTestSetup.java
@@ -22,6 +22,9 @@ import java.io.IOException;
import java.net.ServerSocket;
import java.util.Arrays;
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index 2f109ab..8473436 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -510,7 +510,6 @@ public class QTestUtil {
dfs.shutdown();
dfs = null;
}
- Hive.closeCurrent();
}
public String readEntireFileIntoString(File queryFile) throws IOException {
@@ -732,9 +731,8 @@ public class QTestUtil {
return;
}
- conf.set("hive.metastore.filter.hook",
+ db.getConf().set("hive.metastore.filter.hook",
"org.apache.hadoop.hive.metastore.DefaultMetaStoreFilterHookImpl");
- db = Hive.get(conf);
// Delete any tables other than the source tables
// and any databases other than the default database.
for (String dbName : db.getAllDatabases()) {
@@ -802,20 +800,16 @@ public class QTestUtil {
return;
}
+ clearTablesCreatedDuringTests();
+ clearKeysCreatedInTests();
+
// allocate and initialize a new conf since a test can
// modify conf by using 'set' commands
conf = new HiveConf(Driver.class);
initConf();
- initConfFromSetup();
-
// renew the metastore since the cluster type is unencrypted
db = Hive.get(conf); // propagate new conf to meta store
- clearTablesCreatedDuringTests();
- clearKeysCreatedInTests();
- }
-
- protected void initConfFromSetup() throws Exception {
setup.preTest(conf);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index 64a26ac..cdd12ab 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -178,7 +178,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
private boolean isConnected = false;
private URI metastoreUris[];
private final HiveMetaHookLoader hookLoader;
- protected final HiveConf conf; // Keep a copy of HiveConf so if Session conf changes, we may need to get a new HMS client.
+ protected final HiveConf conf;
protected boolean fastpath = false;
private String tokenStrForm;
private final boolean localMetaStore;
@@ -205,10 +205,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
this.hookLoader = hookLoader;
if (conf == null) {
conf = new HiveConf(HiveMetaStoreClient.class);
- this.conf = conf;
- } else {
- this.conf = new HiveConf(conf);
}
+ this.conf = conf;
filterHook = loadFilterHooks();
fileMetadataBatchSize = HiveConf.getIntVar(
conf, HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_OBJECTS_MAX);
@@ -223,10 +221,10 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
// instantiate the metastore server handler directly instead of connecting
// through the network
if (conf.getBoolVar(ConfVars.METASTORE_FASTPATH)) {
- client = new HiveMetaStore.HMSHandler("hive client", this.conf, true);
+ client = new HiveMetaStore.HMSHandler("hive client", conf, true);
fastpath = true;
} else {
- client = HiveMetaStore.newRetryingHMSHandler("hive client", this.conf, true);
+ client = HiveMetaStore.newRetryingHMSHandler("hive client", conf, true);
}
isConnected = true;
snapshotActiveConf();
http://git-wip-us.apache.org/repos/asf/hive/blob/58c4e121/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
index 2b15c23..8c6c46f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
@@ -554,6 +554,10 @@ public class SessionState {
// Get the following out of the way when you start the session these take a
// while and should be done when we start up.
try {
+ // Hive object instance should be created with a copy of the conf object. If the conf is
+ // shared with SessionState, other parts of the code might update the config, but
+ // Hive.get(HiveConf) would not recognize the case when it needs refreshing
+ Hive.get(new HiveConf(startSs.conf)).getMSC();
UserGroupInformation sessionUGI = Utils.getUGI();
FileSystem.get(startSs.conf);
@@ -579,6 +583,10 @@ public class SessionState {
}
} catch (RuntimeException e) {
throw e;
+ } catch (Hive.SchemaException e) {
+ RuntimeException ex = new RuntimeException(e.getMessage());
+ ex.setStackTrace(new StackTraceElement[0]);
+ throw ex;
} catch (Exception e) {
// Catch-all due to some exec time dependencies on session state
// that would cause ClassNoFoundException otherwise