You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/01/04 21:56:40 UTC

[1/2] hive git commit: HIVE-6113 : Upgrade DataNucleus [was: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient] (Oleksiy Sayankin, reviewed by Sergey Shelukhin)

Repository: hive
Updated Branches:
  refs/heads/branch-2.0 31c188acd -> 3f338ded9
  refs/heads/master cfe7eea3f -> f7579b282


HIVE-6113 : Upgrade DataNucleus [was: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient] (Oleksiy Sayankin, reviewed by Sergey Shelukhin)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f7579b28
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f7579b28
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f7579b28

Branch: refs/heads/master
Commit: f7579b282285b04c6de082db32c2ff672741d470
Parents: cfe7eea
Author: Sergey Shelukhin <se...@apache.org>
Authored: Mon Jan 4 12:46:04 2016 -0800
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Mon Jan 4 12:46:04 2016 -0800

----------------------------------------------------------------------
 .../org/apache/hive/beeline/cli/TestHiveCli.java    |  4 +---
 beeline/src/test/resources/hive-site.xml            | 12 +-----------
 .../java/org/apache/hadoop/hive/conf/HiveConf.java  | 16 +++++++---------
 data/conf/hive-site.xml                             | 12 +-----------
 data/conf/llap/hive-site.xml                        | 12 +-----------
 data/conf/spark/standalone/hive-site.xml            | 12 +-----------
 data/conf/spark/yarn-client/hive-site.xml           | 12 +-----------
 data/conf/tez/hive-site.xml                         | 12 +-----------
 .../deployers/config/hive/hive-site.mssql.xml       |  2 +-
 .../deployers/config/hive/hive-site.mysql.xml       |  6 +-----
 .../hadoop/hive/metastore/TestMetastoreVersion.java |  9 +++------
 .../org/apache/hive/jdbc/TestJdbcWithMiniHS2.java   |  7 ++++---
 metastore/pom.xml                                   |  5 +++++
 metastore/scripts/upgrade/mssql/README              |  2 +-
 .../apache/hadoop/hive/metastore/ObjectStore.java   |  5 +++--
 pom.xml                                             | 12 +++++++++---
 .../org/apache/hadoop/hive/ql/exec/Utilities.java   |  2 ++
 ql/src/test/templates/TestPerfCliDriver.vm          |  1 +
 18 files changed, 44 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index 53dfa1d..275036f 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -276,9 +276,7 @@ public class TestHiveCli {
 
   @Before
   public void setup() {
-    System.setProperty("datanucleus.fixedDatastore", "false");
-    System.setProperty("datanucleus.autoCreateSchema", "true");
-    System.setProperty("hive.metastore.schema.verification", "false");
+    System.setProperty("datanucleus.schema.autoCreateAll", "true");
     cli = new HiveCli();
     redirectOutputStream();
     initFromFile();

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/beeline/src/test/resources/hive-site.xml
----------------------------------------------------------------------
diff --git a/beeline/src/test/resources/hive-site.xml b/beeline/src/test/resources/hive-site.xml
index 615d4ed..453b0ea 100644
--- a/beeline/src/test/resources/hive-site.xml
+++ b/beeline/src/test/resources/hive-site.xml
@@ -25,20 +25,10 @@
   </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
-<property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
   <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:derby:;databaseName=${test.tmp.dir}/metastore_db;create=true</value>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 591c0ab..ffe0d9a 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -144,7 +144,7 @@ public class HiveConf extends Configuration {
       HiveConf.ConfVars.METASTORE_VALIDATE_COLUMNS,
       HiveConf.ConfVars.METASTORE_VALIDATE_CONSTRAINTS,
       HiveConf.ConfVars.METASTORE_STORE_MANAGER_TYPE,
-      HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA,
+      HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL,
       HiveConf.ConfVars.METASTORE_AUTO_START_MECHANISM_MODE,
       HiveConf.ConfVars.METASTORE_TRANSACTION_ISOLATION,
       HiveConf.ConfVars.METASTORE_CACHE_LEVEL2,
@@ -533,17 +533,16 @@ public class HiveConf extends Configuration {
         "List of comma separated metastore object types that should be pinned in the cache"),
     METASTORE_CONNECTION_POOLING_TYPE("datanucleus.connectionPoolingType", "BONECP",
         "Specify connection pool library for datanucleus"),
-    METASTORE_VALIDATE_TABLES("datanucleus.validateTables", false,
+    METASTORE_VALIDATE_TABLES("datanucleus.schema.validateTables", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
-    METASTORE_VALIDATE_COLUMNS("datanucleus.validateColumns", false,
+    METASTORE_VALIDATE_COLUMNS("datanucleus.schema.validateColumns", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
-    METASTORE_VALIDATE_CONSTRAINTS("datanucleus.validateConstraints", false,
+    METASTORE_VALIDATE_CONSTRAINTS("datanucleus.schema.validateConstraints", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
     METASTORE_STORE_MANAGER_TYPE("datanucleus.storeManagerType", "rdbms", "metadata store type"),
-    METASTORE_AUTO_CREATE_SCHEMA("datanucleus.autoCreateSchema", false,
+    METASTORE_AUTO_CREATE_ALL("datanucleus.schema.autoCreateAll", false,
         "creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once"),
-    METASTORE_FIXED_DATASTORE("datanucleus.fixedDatastore", true, "Dictates whether to allow updates to schema or not."),
-    METASTORE_SCHEMA_VERIFICATION("hive.metastore.schema.verification", true,
+    METASTORE_SCHEMA_VERIFICATION("hive.metastore.schema.verification", false,
         "Enforce metastore schema version consistency.\n" +
         "True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic\n" +
         "      schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures\n" +
@@ -3230,8 +3229,7 @@ public class HiveConf extends Configuration {
     }
 
     if (getBoolVar(ConfVars.METASTORE_SCHEMA_VERIFICATION)) {
-      setBoolVar(ConfVars.METASTORE_AUTO_CREATE_SCHEMA, false);
-      setBoolVar(ConfVars.METASTORE_FIXED_DATASTORE, true);
+      setBoolVar(ConfVars.METASTORE_AUTO_CREATE_ALL, false);
     }
 
     if (getBoolVar(HiveConf.ConfVars.HIVECONFVALIDATION)) {

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/data/conf/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/hive-site.xml b/data/conf/hive-site.xml
index 2a5f891..44f75bf 100644
--- a/data/conf/hive-site.xml
+++ b/data/conf/hive-site.xml
@@ -59,21 +59,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/data/conf/llap/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index e3425c8..f768601 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -69,21 +69,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/data/conf/spark/standalone/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/spark/standalone/hive-site.xml b/data/conf/spark/standalone/hive-site.xml
index 459b52e..ca6ec0f 100644
--- a/data/conf/spark/standalone/hive-site.xml
+++ b/data/conf/spark/standalone/hive-site.xml
@@ -45,21 +45,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/data/conf/spark/yarn-client/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/spark/yarn-client/hive-site.xml b/data/conf/spark/yarn-client/hive-site.xml
index bdab294..aef7877 100644
--- a/data/conf/spark/yarn-client/hive-site.xml
+++ b/data/conf/spark/yarn-client/hive-site.xml
@@ -45,21 +45,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/data/conf/tez/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/tez/hive-site.xml b/data/conf/tez/hive-site.xml
index a056ced..a7129fc 100644
--- a/data/conf/tez/hive-site.xml
+++ b/data/conf/tez/hive-site.xml
@@ -63,21 +63,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>hive.exec.local.scratchdir</name>
   <value>${test.tmp.dir}/localscratchdir/</value>
   <description>Local scratch space for Hive jobs</description>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
----------------------------------------------------------------------
diff --git a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
index 8473d99..5bef8c8 100644
--- a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
+++ b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
@@ -45,7 +45,7 @@
         <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
     </property>
     <property>
-        <name>datanucleus.autoCreateSchema</name>
+        <name>datanucleus.schema.autoCreateAll</name>
         <value>false</value>
     </property>
     <!--

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
----------------------------------------------------------------------
diff --git a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
index b6f1ab7..415caf4 100644
--- a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
+++ b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
@@ -38,13 +38,9 @@
         <value>com.mysql.jdbc.Driver</value>
     </property>
     <property>
-        <name>datanucleus.autoCreateSchema</name>
+        <name>datanucleus.schema.autoCreateAll</name>
         <value>false</value>
     </property>
-    <property>
-      <name>datanucleus.fixedDatastore</name>
-        <value>true</value>
-    </property>
     <!--start ACID related properties-->
     <property>
         <name>hive.support.concurrency</name>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/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 fba315d..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
@@ -51,8 +51,7 @@ public class TestMetastoreVersion extends TestCase {
     // reset defaults
     ObjectStore.setSchemaVerified(false);
     System.setProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString(), "false");
-    System.setProperty(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA.toString(), "true");
-    System.setProperty(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE.toString(), "false");
+    System.setProperty(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL.toString(), "true");
     hiveConf = new HiveConf(this.getClass());
     System.setProperty("hive.support.concurrency", "false");
     System.setProperty("hive.metastore.event.listeners",
@@ -81,8 +80,7 @@ public class TestMetastoreVersion extends TestCase {
     System.clearProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString());
     hiveConf = new HiveConf(this.getClass());
     assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION));
-    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA));
-    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE));
+    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL));
   }
 
   /***
@@ -93,8 +91,7 @@ public class TestMetastoreVersion extends TestCase {
     System.setProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString(), "true");
     hiveConf = new HiveConf(this.getClass());
     assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION));
-    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA));
-    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE));
+    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL));
 
     // session creation should fail since the schema didn't get created
     try {

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
index 9c8cf02..10c8ff2 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
@@ -58,6 +58,7 @@ import org.apache.hive.jdbc.miniHS2.MiniHS2;
 import org.datanucleus.ClassLoaderResolver;
 import org.datanucleus.NucleusContext;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
+import org.datanucleus.AbstractNucleusContext;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -731,8 +732,8 @@ public class TestJdbcWithMiniHS2 {
   }
 
   /**
-   * Tests that DataNucleus' NucleusContext.classLoaderResolverMap clears cached class objects (& hence
-   * doesn't leak classloaders) on closing any session
+   * Tests that DataNucleus' NucleusContext.classLoaderResolverMap clears cached class objects
+   * (& hence doesn't leak classloaders) on closing any session
    *
    * @throws Exception
    */
@@ -795,7 +796,7 @@ public class TestJdbcWithMiniHS2 {
     }
     if (nc != null) {
       try {
-        classLoaderResolverMap = NucleusContext.class.getDeclaredField("classLoaderResolverMap");
+        classLoaderResolverMap = AbstractNucleusContext.class.getDeclaredField("classLoaderResolverMap");
         if (classLoaderResolverMap != null) {
           classLoaderResolverMap.setAccessible(true);
           cMap = (Map<String, ClassLoaderResolver>) classLoaderResolverMap.get(nc);

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/metastore/pom.xml
----------------------------------------------------------------------
diff --git a/metastore/pom.xml b/metastore/pom.xml
index 8467e51..a8e84a1 100644
--- a/metastore/pom.xml
+++ b/metastore/pom.xml
@@ -122,6 +122,11 @@
       <version>${jdo-api.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.datanucleus</groupId>
+      <artifactId>javax.jdo</artifactId>
+      <version>${datanucleus-jdo.version}</version>
+    </dependency>
+    <dependency>
       <groupId>org.antlr</groupId>
       <artifactId>antlr-runtime</artifactId>
       <version>${antlr.version}</version>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/metastore/scripts/upgrade/mssql/README
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/README b/metastore/scripts/upgrade/mssql/README
index 8e5a33e..0b62a01 100644
--- a/metastore/scripts/upgrade/mssql/README
+++ b/metastore/scripts/upgrade/mssql/README
@@ -77,7 +77,7 @@ Upgrading from 0.11.0 to 0.13.0
    
 2) Make sure you have
    <property>
-     <name>datanucleus.autoCreateSchema</name>
+     <name>datanucleus.schema.autoCreateAll</name>
      <value>true</value>
    </property>
    in your hive-site.xml.  This will cause DataNucleus to create

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index e1b8b6c..de30de4 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -151,6 +151,7 @@ import org.apache.hive.common.util.HiveStringUtils;
 import org.apache.thrift.TException;
 import org.datanucleus.ClassLoaderResolver;
 import org.datanucleus.NucleusContext;
+import org.datanucleus.AbstractNucleusContext;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
 import org.datanucleus.store.rdbms.exceptions.MissingTableException;
 
@@ -7836,8 +7837,8 @@ public class ObjectStore implements RawStore, Configurable {
       JDOPersistenceManagerFactory jdoPmf = (JDOPersistenceManagerFactory) pmf;
       NucleusContext nc = jdoPmf.getNucleusContext();
       try {
-        Field classLoaderResolverMap =
-            NucleusContext.class.getDeclaredField("classLoaderResolverMap");
+        Field classLoaderResolverMap = AbstractNucleusContext.class.getDeclaredField(
+            "classLoaderResolverMap");
         classLoaderResolverMap.setAccessible(true);
         classLoaderResolverMap.set(nc, new HashMap<String, ClassLoaderResolver>());
         LOG.debug("Removed cached classloaders from DataNucleus NucleusContext");

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index acf6ac4..f64d363 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,9 +107,10 @@
     <avro.version>1.7.7</avro.version>
     <bonecp.version>0.8.0.RELEASE</bonecp.version>
     <calcite.version>1.5.0</calcite.version>
-    <datanucleus-api-jdo.version>3.2.6</datanucleus-api-jdo.version>
-    <datanucleus-core.version>3.2.10</datanucleus-core.version>
-    <datanucleus-rdbms.version>3.2.9</datanucleus-rdbms.version>
+    <datanucleus-api-jdo.version>4.2.1</datanucleus-api-jdo.version>
+    <datanucleus-core.version>4.1.6</datanucleus-core.version>
+    <datanucleus-rdbms.version>4.1.7</datanucleus-rdbms.version>
+    <datanucleus-jdo.version>3.2.0-m3</datanucleus-jdo.version>
     <commons-cli.version>1.2</commons-cli.version>
     <commons-codec.version>1.4</commons-codec.version>
     <commons-collections.version>3.2.2</commons-collections.version>
@@ -576,6 +577,11 @@
         <version>${datanucleus-rdbms.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.datanucleus</groupId>
+        <artifactId>javax.jdo</artifactId>
+        <version>${datanucleus-jdo.version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.iq80.snappy</groupId>
         <artifactId>snappy</artifactId>
         <version>${snappy.version}</version>

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
index fce11c8..9a7d990 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
@@ -3579,4 +3579,6 @@ public final class Utilities {
 
     return rowObjectInspector;
   }
+
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/f7579b28/ql/src/test/templates/TestPerfCliDriver.vm
----------------------------------------------------------------------
diff --git a/ql/src/test/templates/TestPerfCliDriver.vm b/ql/src/test/templates/TestPerfCliDriver.vm
index fb17e96..97dde2c 100644
--- a/ql/src/test/templates/TestPerfCliDriver.vm
+++ b/ql/src/test/templates/TestPerfCliDriver.vm
@@ -56,6 +56,7 @@ public class $className extends TestCase {
   }
 
   static {
+    System.setProperty("datanucleus.schema.autoCreateAll", "true");
     MiniClusterType miniMR = MiniClusterType.valueForString("$clusterMode");
     String hiveConfDir = "$hiveConfDir";
     String initScript = "$initScript";


[2/2] hive git commit: HIVE-6113 : Upgrade DataNucleus [was: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient] (Oleksiy Sayankin, reviewed by Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-6113 : Upgrade DataNucleus [was: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient] (Oleksiy Sayankin, reviewed by Sergey Shelukhin)

Conflicts:
	ql/src/test/templates/TestPerfCliDriver.vm


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3f338ded
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3f338ded
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3f338ded

Branch: refs/heads/branch-2.0
Commit: 3f338ded987afe9bc6e0377d8c473eb2e88efdd6
Parents: 31c188a
Author: Sergey Shelukhin <se...@apache.org>
Authored: Mon Jan 4 12:46:04 2016 -0800
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Mon Jan 4 12:46:57 2016 -0800

----------------------------------------------------------------------
 .../org/apache/hive/beeline/cli/TestHiveCli.java    |  4 +---
 beeline/src/test/resources/hive-site.xml            | 12 +-----------
 .../java/org/apache/hadoop/hive/conf/HiveConf.java  | 16 +++++++---------
 data/conf/hive-site.xml                             | 12 +-----------
 data/conf/llap/hive-site.xml                        | 12 +-----------
 data/conf/spark/standalone/hive-site.xml            | 12 +-----------
 data/conf/spark/yarn-client/hive-site.xml           | 12 +-----------
 data/conf/tez/hive-site.xml                         | 12 +-----------
 .../deployers/config/hive/hive-site.mssql.xml       |  2 +-
 .../deployers/config/hive/hive-site.mysql.xml       |  6 +-----
 .../hadoop/hive/metastore/TestMetastoreVersion.java |  9 +++------
 .../org/apache/hive/jdbc/TestJdbcWithMiniHS2.java   |  7 ++++---
 metastore/pom.xml                                   |  5 +++++
 metastore/scripts/upgrade/mssql/README              |  2 +-
 .../apache/hadoop/hive/metastore/ObjectStore.java   |  5 +++--
 pom.xml                                             | 12 +++++++++---
 .../org/apache/hadoop/hive/ql/exec/Utilities.java   |  2 ++
 17 files changed, 43 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index 53dfa1d..275036f 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -276,9 +276,7 @@ public class TestHiveCli {
 
   @Before
   public void setup() {
-    System.setProperty("datanucleus.fixedDatastore", "false");
-    System.setProperty("datanucleus.autoCreateSchema", "true");
-    System.setProperty("hive.metastore.schema.verification", "false");
+    System.setProperty("datanucleus.schema.autoCreateAll", "true");
     cli = new HiveCli();
     redirectOutputStream();
     initFromFile();

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/beeline/src/test/resources/hive-site.xml
----------------------------------------------------------------------
diff --git a/beeline/src/test/resources/hive-site.xml b/beeline/src/test/resources/hive-site.xml
index 615d4ed..453b0ea 100644
--- a/beeline/src/test/resources/hive-site.xml
+++ b/beeline/src/test/resources/hive-site.xml
@@ -25,20 +25,10 @@
   </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
-<property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
   <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:derby:;databaseName=${test.tmp.dir}/metastore_db;create=true</value>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index e3cbb0b..a831d09 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -144,7 +144,7 @@ public class HiveConf extends Configuration {
       HiveConf.ConfVars.METASTORE_VALIDATE_COLUMNS,
       HiveConf.ConfVars.METASTORE_VALIDATE_CONSTRAINTS,
       HiveConf.ConfVars.METASTORE_STORE_MANAGER_TYPE,
-      HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA,
+      HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL,
       HiveConf.ConfVars.METASTORE_AUTO_START_MECHANISM_MODE,
       HiveConf.ConfVars.METASTORE_TRANSACTION_ISOLATION,
       HiveConf.ConfVars.METASTORE_CACHE_LEVEL2,
@@ -530,17 +530,16 @@ public class HiveConf extends Configuration {
         "List of comma separated metastore object types that should be pinned in the cache"),
     METASTORE_CONNECTION_POOLING_TYPE("datanucleus.connectionPoolingType", "BONECP",
         "Specify connection pool library for datanucleus"),
-    METASTORE_VALIDATE_TABLES("datanucleus.validateTables", false,
+    METASTORE_VALIDATE_TABLES("datanucleus.schema.validateTables", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
-    METASTORE_VALIDATE_COLUMNS("datanucleus.validateColumns", false,
+    METASTORE_VALIDATE_COLUMNS("datanucleus.schema.validateColumns", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
-    METASTORE_VALIDATE_CONSTRAINTS("datanucleus.validateConstraints", false,
+    METASTORE_VALIDATE_CONSTRAINTS("datanucleus.schema.validateConstraints", false,
         "validates existing schema against code. turn this on if you want to verify existing schema"),
     METASTORE_STORE_MANAGER_TYPE("datanucleus.storeManagerType", "rdbms", "metadata store type"),
-    METASTORE_AUTO_CREATE_SCHEMA("datanucleus.autoCreateSchema", false,
+    METASTORE_AUTO_CREATE_ALL("datanucleus.schema.autoCreateAll", false,
         "creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once"),
-    METASTORE_FIXED_DATASTORE("datanucleus.fixedDatastore", true, "Dictates whether to allow updates to schema or not."),
-    METASTORE_SCHEMA_VERIFICATION("hive.metastore.schema.verification", true,
+    METASTORE_SCHEMA_VERIFICATION("hive.metastore.schema.verification", false,
         "Enforce metastore schema version consistency.\n" +
         "True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic\n" +
         "      schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures\n" +
@@ -3216,8 +3215,7 @@ public class HiveConf extends Configuration {
     }
 
     if (getBoolVar(ConfVars.METASTORE_SCHEMA_VERIFICATION)) {
-      setBoolVar(ConfVars.METASTORE_AUTO_CREATE_SCHEMA, false);
-      setBoolVar(ConfVars.METASTORE_FIXED_DATASTORE, true);
+      setBoolVar(ConfVars.METASTORE_AUTO_CREATE_ALL, false);
     }
 
     if (getBoolVar(HiveConf.ConfVars.HIVECONFVALIDATION)) {

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/data/conf/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/hive-site.xml b/data/conf/hive-site.xml
index 84005b4..5a790e7 100644
--- a/data/conf/hive-site.xml
+++ b/data/conf/hive-site.xml
@@ -59,21 +59,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/data/conf/llap/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index e3425c8..f768601 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -69,21 +69,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/data/conf/spark/standalone/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/spark/standalone/hive-site.xml b/data/conf/spark/standalone/hive-site.xml
index 459b52e..ca6ec0f 100644
--- a/data/conf/spark/standalone/hive-site.xml
+++ b/data/conf/spark/standalone/hive-site.xml
@@ -45,21 +45,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/data/conf/spark/yarn-client/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/spark/yarn-client/hive-site.xml b/data/conf/spark/yarn-client/hive-site.xml
index bdab294..aef7877 100644
--- a/data/conf/spark/yarn-client/hive-site.xml
+++ b/data/conf/spark/yarn-client/hive-site.xml
@@ -45,21 +45,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true</value>
 </property>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/data/conf/tez/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/tez/hive-site.xml b/data/conf/tez/hive-site.xml
index a056ced..a7129fc 100644
--- a/data/conf/tez/hive-site.xml
+++ b/data/conf/tez/hive-site.xml
@@ -63,21 +63,11 @@
 </property>
 
 <property>
-  <name>datanucleus.autoCreateSchema</name>
+  <name>datanucleus.schema.autoCreateAll</name>
   <value>true</value>
 </property>
 
 <property>
-  <name>datanucleus.fixedDatastore</name>
-  <value>false</value>
-</property>
-
-<property>
-  <name>hive.metastore.schema.verification</name>
-  <value>false</value>
-</property>
-
-<property>
   <name>hive.exec.local.scratchdir</name>
   <value>${test.tmp.dir}/localscratchdir/</value>
   <description>Local scratch space for Hive jobs</description>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
----------------------------------------------------------------------
diff --git a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
index 8473d99..5bef8c8 100644
--- a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
+++ b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mssql.xml
@@ -45,7 +45,7 @@
         <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
     </property>
     <property>
-        <name>datanucleus.autoCreateSchema</name>
+        <name>datanucleus.schema.autoCreateAll</name>
         <value>false</value>
     </property>
     <!--

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
----------------------------------------------------------------------
diff --git a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
index b6f1ab7..415caf4 100644
--- a/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
+++ b/hcatalog/src/test/e2e/templeton/deployers/config/hive/hive-site.mysql.xml
@@ -38,13 +38,9 @@
         <value>com.mysql.jdbc.Driver</value>
     </property>
     <property>
-        <name>datanucleus.autoCreateSchema</name>
+        <name>datanucleus.schema.autoCreateAll</name>
         <value>false</value>
     </property>
-    <property>
-      <name>datanucleus.fixedDatastore</name>
-        <value>true</value>
-    </property>
     <!--start ACID related properties-->
     <property>
         <name>hive.support.concurrency</name>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/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 fba315d..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
@@ -51,8 +51,7 @@ public class TestMetastoreVersion extends TestCase {
     // reset defaults
     ObjectStore.setSchemaVerified(false);
     System.setProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString(), "false");
-    System.setProperty(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA.toString(), "true");
-    System.setProperty(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE.toString(), "false");
+    System.setProperty(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL.toString(), "true");
     hiveConf = new HiveConf(this.getClass());
     System.setProperty("hive.support.concurrency", "false");
     System.setProperty("hive.metastore.event.listeners",
@@ -81,8 +80,7 @@ public class TestMetastoreVersion extends TestCase {
     System.clearProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString());
     hiveConf = new HiveConf(this.getClass());
     assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION));
-    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA));
-    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE));
+    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL));
   }
 
   /***
@@ -93,8 +91,7 @@ public class TestMetastoreVersion extends TestCase {
     System.setProperty(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION.toString(), "true");
     hiveConf = new HiveConf(this.getClass());
     assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_SCHEMA_VERIFICATION));
-    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA));
-    assertTrue(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_FIXED_DATASTORE));
+    assertFalse(hiveConf.getBoolVar(HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL));
 
     // session creation should fail since the schema didn't get created
     try {

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
index 9c8cf02..10c8ff2 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
@@ -58,6 +58,7 @@ import org.apache.hive.jdbc.miniHS2.MiniHS2;
 import org.datanucleus.ClassLoaderResolver;
 import org.datanucleus.NucleusContext;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
+import org.datanucleus.AbstractNucleusContext;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -731,8 +732,8 @@ public class TestJdbcWithMiniHS2 {
   }
 
   /**
-   * Tests that DataNucleus' NucleusContext.classLoaderResolverMap clears cached class objects (& hence
-   * doesn't leak classloaders) on closing any session
+   * Tests that DataNucleus' NucleusContext.classLoaderResolverMap clears cached class objects
+   * (& hence doesn't leak classloaders) on closing any session
    *
    * @throws Exception
    */
@@ -795,7 +796,7 @@ public class TestJdbcWithMiniHS2 {
     }
     if (nc != null) {
       try {
-        classLoaderResolverMap = NucleusContext.class.getDeclaredField("classLoaderResolverMap");
+        classLoaderResolverMap = AbstractNucleusContext.class.getDeclaredField("classLoaderResolverMap");
         if (classLoaderResolverMap != null) {
           classLoaderResolverMap.setAccessible(true);
           cMap = (Map<String, ClassLoaderResolver>) classLoaderResolverMap.get(nc);

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/metastore/pom.xml
----------------------------------------------------------------------
diff --git a/metastore/pom.xml b/metastore/pom.xml
index 9da3bfb..3ff6c39 100644
--- a/metastore/pom.xml
+++ b/metastore/pom.xml
@@ -122,6 +122,11 @@
       <version>${jdo-api.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.datanucleus</groupId>
+      <artifactId>javax.jdo</artifactId>
+      <version>${datanucleus-jdo.version}</version>
+    </dependency>
+    <dependency>
       <groupId>org.antlr</groupId>
       <artifactId>antlr-runtime</artifactId>
       <version>${antlr.version}</version>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/metastore/scripts/upgrade/mssql/README
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/README b/metastore/scripts/upgrade/mssql/README
index 8e5a33e..0b62a01 100644
--- a/metastore/scripts/upgrade/mssql/README
+++ b/metastore/scripts/upgrade/mssql/README
@@ -77,7 +77,7 @@ Upgrading from 0.11.0 to 0.13.0
    
 2) Make sure you have
    <property>
-     <name>datanucleus.autoCreateSchema</name>
+     <name>datanucleus.schema.autoCreateAll</name>
      <value>true</value>
    </property>
    in your hive-site.xml.  This will cause DataNucleus to create

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index 1c0ab6d..297b028 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -148,6 +148,7 @@ import org.apache.hive.common.util.HiveStringUtils;
 import org.apache.thrift.TException;
 import org.datanucleus.ClassLoaderResolver;
 import org.datanucleus.NucleusContext;
+import org.datanucleus.AbstractNucleusContext;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
 import org.datanucleus.store.rdbms.exceptions.MissingTableException;
 
@@ -7757,8 +7758,8 @@ public class ObjectStore implements RawStore, Configurable {
       JDOPersistenceManagerFactory jdoPmf = (JDOPersistenceManagerFactory) pmf;
       NucleusContext nc = jdoPmf.getNucleusContext();
       try {
-        Field classLoaderResolverMap =
-            NucleusContext.class.getDeclaredField("classLoaderResolverMap");
+        Field classLoaderResolverMap = AbstractNucleusContext.class.getDeclaredField(
+            "classLoaderResolverMap");
         classLoaderResolverMap.setAccessible(true);
         classLoaderResolverMap.set(nc, new HashMap<String, ClassLoaderResolver>());
         LOG.debug("Removed cached classloaders from DataNucleus NucleusContext");

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 31821a3..1393fba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,9 +107,10 @@
     <avro.version>1.7.7</avro.version>
     <bonecp.version>0.8.0.RELEASE</bonecp.version>
     <calcite.version>1.5.0</calcite.version>
-    <datanucleus-api-jdo.version>3.2.6</datanucleus-api-jdo.version>
-    <datanucleus-core.version>3.2.10</datanucleus-core.version>
-    <datanucleus-rdbms.version>3.2.9</datanucleus-rdbms.version>
+    <datanucleus-api-jdo.version>4.2.1</datanucleus-api-jdo.version>
+    <datanucleus-core.version>4.1.6</datanucleus-core.version>
+    <datanucleus-rdbms.version>4.1.7</datanucleus-rdbms.version>
+    <datanucleus-jdo.version>3.2.0-m3</datanucleus-jdo.version>
     <commons-cli.version>1.2</commons-cli.version>
     <commons-codec.version>1.4</commons-codec.version>
     <commons-collections.version>3.2.2</commons-collections.version>
@@ -576,6 +577,11 @@
         <version>${datanucleus-rdbms.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.datanucleus</groupId>
+        <artifactId>javax.jdo</artifactId>
+        <version>${datanucleus-jdo.version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.iq80.snappy</groupId>
         <artifactId>snappy</artifactId>
         <version>${snappy.version}</version>

http://git-wip-us.apache.org/repos/asf/hive/blob/3f338ded/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
index fce11c8..9a7d990 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
@@ -3579,4 +3579,6 @@ public final class Utilities {
 
     return rowObjectInspector;
   }
+
+
 }