You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2020/07/09 03:59:41 UTC

[hive] branch master updated: HIVE-23363: Upgrade DataNucleus dependency to 5.2 (David Mollitor via Ashutosh Chauhan) Signed-off-by: Ashutosh Chauhan

This is an automated email from the ASF dual-hosted git repository.

hashutosh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new aa407da  HIVE-23363: Upgrade DataNucleus dependency to 5.2 (David Mollitor via Ashutosh Chauhan) Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
aa407da is described below

commit aa407da7b00aea585629f27c2b88d1faf17eae32
Author: David Mollitor <dm...@apache.org>
AuthorDate: Mon Jun 15 14:56:49 2020 -0400

    HIVE-23363: Upgrade DataNucleus dependency to 5.2 (David Mollitor via Ashutosh Chauhan)
    Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
---
 pom.xml                                            |  8 +++---
 .../hive/metastore/PersistenceManagerProvider.java | 30 +++++++++++-----------
 .../src/main/resources/package.jdo                 | 10 ++++----
 standalone-metastore/pom.xml                       |  8 +++---
 4 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2a0c328..0513fe7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -116,10 +116,10 @@
     <avatica.version>1.12.0</avatica.version>
     <avro.version>1.8.2</avro.version>
     <calcite.version>1.21.0</calcite.version>
-    <datanucleus-api-jdo.version>4.2.4</datanucleus-api-jdo.version>
-    <datanucleus-core.version>4.1.17</datanucleus-core.version>
-    <datanucleus-rdbms.version>4.1.19</datanucleus-rdbms.version>
-    <datanucleus-jdo.version>3.2.0-m3</datanucleus-jdo.version>
+    <datanucleus-api-jdo.version>5.2.2</datanucleus-api-jdo.version>
+    <datanucleus-core.version>5.2.2</datanucleus-core.version>
+    <datanucleus-jdo.version>3.2.0-m13</datanucleus-jdo.version>
+    <datanucleus-rdbms.version>5.2.2</datanucleus-rdbms.version>
     <commons-cli.version>1.2</commons-cli.version>
     <commons-codec.version>1.7</commons-codec.version>
     <commons-collections.version>3.2.2</commons-collections.version>
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PersistenceManagerProvider.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PersistenceManagerProvider.java
index f97808a..870532a 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PersistenceManagerProvider.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PersistenceManagerProvider.java
@@ -42,8 +42,8 @@ import org.datanucleus.NucleusContext;
 import org.datanucleus.PropertyNames;
 import org.datanucleus.api.jdo.JDOPersistenceManager;
 import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
-import org.datanucleus.store.scostore.Store;
-import org.datanucleus.util.WeakValueMap;
+import org.datanucleus.util.ConcurrentReferenceHashMap;
+import org.datanucleus.store.types.scostore.Store;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -367,26 +367,26 @@ public class PersistenceManagerProvider {
   }
 
   private static void clearClr(ClassLoaderResolver clr) throws Exception {
-    if (clr != null) {
-      if (clr instanceof ClassLoaderResolverImpl) {
-        ClassLoaderResolverImpl clri = (ClassLoaderResolverImpl) clr;
-        long resourcesCleared = clearFieldMap(clri, "resources");
-        long loadedClassesCleared = clearFieldMap(clri, "loadedClasses");
-        long unloadedClassesCleared = clearFieldMap(clri, "unloadedClasses");
-        LOG.debug("Cleared ClassLoaderResolverImpl: {}, {}, {}", resourcesCleared,
-            loadedClassesCleared, unloadedClassesCleared);
-      }
+    if (clr instanceof ClassLoaderResolverImpl) {
+      ClassLoaderResolverImpl clri = (ClassLoaderResolverImpl) clr;
+      int resourcesCleared = clearFieldMap(clri, "resources");
+      int loadedClassesCleared = clearFieldMap(clri, "loadedClasses");
+      int unloadedClassesCleared = clearFieldMap(clri, "unloadedClasses");
+
+      LOG.debug(
+          "Cleared ClassLoaderResolverImpl: resources: {}, loaded classes: {}, unloaded classes: {}",
+          resourcesCleared, loadedClassesCleared, unloadedClassesCleared);
     }
   }
 
-  private static long clearFieldMap(ClassLoaderResolverImpl clri, String mapFieldName)
+  private static int clearFieldMap(ClassLoaderResolverImpl clri, String mapFieldName)
       throws Exception {
     Field mapField = ClassLoaderResolverImpl.class.getDeclaredField(mapFieldName);
     mapField.setAccessible(true);
 
-    Map<String, Class> map = (Map<String, Class>) mapField.get(clri);
-    long sz = map.size();
-    mapField.set(clri, Collections.synchronizedMap(new WeakValueMap()));
+    Map map = (Map) mapField.get(clri);
+    final int sz = map.size();
+    mapField.set(clri, new ConcurrentReferenceHashMap<>());
     return sz;
   }
 
diff --git a/standalone-metastore/metastore-server/src/main/resources/package.jdo b/standalone-metastore/metastore-server/src/main/resources/package.jdo
index 0252dd0..d1f4b33 100644
--- a/standalone-metastore/metastore-server/src/main/resources/package.jdo
+++ b/standalone-metastore/metastore-server/src/main/resources/package.jdo
@@ -345,11 +345,11 @@
       <datastore-identity>
         <column name="CD_ID"/>
       </datastore-identity>
-      <field name="cols" table="COLUMNS_V2" >
+      <field name="cols" persistence-modifier="persistent" table="COLUMNS_V2">
         <collection element-type="MFieldSchema"/>
-        <foreign-key name="COLUMNS_V2_FK" delete-action="cascade"/>
         <join>
-          <primary-key name="COLUMNS_PK">
+          <primary-key name="SQL110922153006740">
+            <column name="CD_ID"/>
             <column name="COLUMN_NAME"/>
           </primary-key>
           <column name="CD_ID"/>
@@ -357,8 +357,8 @@
         <element>
           <embedded>
             <field name="name">
-              <column name="COLUMN_NAME" length="767" jdbc-type="VARCHAR"/>
-              </field>
+              <column name="COLUMN_NAME" length="767" jdbc-type="VARCHAR" allows-null="false"/>
+            </field>
             <field name="type">
               <column name="TYPE_NAME" length="32672" jdbc-type="VARCHAR" allows-null="false"/>
             </field>
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index b0267aa..a7eb54b 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -70,10 +70,10 @@
     <commons-lang3.version>3.9</commons-lang3.version>
     <commons-logging.version>1.1.3</commons-logging.version>
     <commons-dbcp2.version>2.7.0</commons-dbcp2.version>
-    <datanucleus-api-jdo.version>4.2.4</datanucleus-api-jdo.version>
-    <datanucleus-core.version>4.1.17</datanucleus-core.version>
-    <datanucleus-jdo.version>3.2.0-m3</datanucleus-jdo.version>
-    <datanucleus-rdbms.version>4.1.19</datanucleus-rdbms.version>
+    <datanucleus-api-jdo.version>5.2.2</datanucleus-api-jdo.version>
+    <datanucleus-core.version>5.2.2</datanucleus-core.version>
+    <datanucleus-jdo.version>3.2.0-m13</datanucleus-jdo.version>
+    <datanucleus-rdbms.version>5.2.2</datanucleus-rdbms.version>
     <derby.version>10.14.1.0</derby.version>
     <dropwizard-metrics-hadoop-metrics2-reporter.version>0.1.2
     </dropwizard-metrics-hadoop-metrics2-reporter.version>