You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by kg...@apache.org on 2020/06/19 10:21:32 UTC

[hive] branch master updated: HIVE-23593: Schemainit fails with NoSuchFieldError (#1137)

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

kgyrtkirk 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 fd52677  HIVE-23593: Schemainit fails with NoSuchFieldError (#1137)
fd52677 is described below

commit fd526774d9e35a67ef2c0f23d6e41d3f9877c282
Author: Zoltan Haindrich <ki...@rxd.hu>
AuthorDate: Fri Jun 19 12:21:16 2020 +0200

    HIVE-23593: Schemainit fails with NoSuchFieldError (#1137)
---
 Jenkinsfile                                        | 49 +++++++++--
 itests/hive-jmh/pom.xml                            | 97 ++++++++++++----------
 packaging/src/main/assembly/bin.xml                |  1 +
 .../metastore-tools/metastore-benchmarks/pom.xml   |  2 +-
 4 files changed, 96 insertions(+), 53 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index ad4c95b..304d001 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -67,10 +67,12 @@ setPrLabel("PENDING");
 
 def executorNode(run) {
   hdbPodTemplate {
+    timeout(time: 6, unit: 'HOURS') {
       node(POD_LABEL) {
         container('hdb') {
           run()
         }
+      }
     }
   }
 }
@@ -85,11 +87,13 @@ set -x
 export USER="`whoami`"
 export MAVEN_OPTS="-Xmx2g"
 export -n HIVE_CONF_DIR
-OPTS=" -s $SETTINGS -B -Dmaven.test.failure.ignore -Dtest.groups= "
-OPTS+=" -Pitests,qsplits"
+cp $SETTINGS .git/settings.xml
+OPTS=" -s $PWD/.git/settings.xml -B -Dtest.groups= "
+OPTS+=" -Pitests,qsplits,dist"
 OPTS+=" -Dorg.slf4j.simpleLogger.log.org.apache.maven.plugin.surefire.SurefirePlugin=INFO"
 OPTS+=" -Dmaven.repo.local=$PWD/.git/m2"
-OPTS+=" $M_OPTS "
+git config extra.mavenOpts "$OPTS"
+OPTS=" $M_OPTS -Dmaven.test.failure.ignore "
 if [ -s inclusions.txt ]; then OPTS+=" -Dsurefire.includesFile=$PWD/inclusions.txt";fi
 if [ -s exclusions.txt ]; then OPTS+=" -Dsurefire.excludesFile=$PWD/exclusions.txt";fi
 mvn $OPTS '''+args+'''
@@ -103,13 +107,23 @@ df -h
 def hdbPodTemplate(closure) {
   podTemplate(
   containers: [
-    containerTemplate(name: 'hdb', image: 'kgyrtkirk/hive-dev-box:executor', ttyEnabled: true, command: 'cat',
+    containerTemplate(name: 'hdb', image: 'kgyrtkirk/hive-dev-box:executor', ttyEnabled: true, command: 'tini -- cat',
         alwaysPullImage: true,
         resourceRequestCpu: '1800m',
         resourceLimitCpu: '8000m',
         resourceRequestMemory: '6400Mi',
-        resourceLimitMemory: '12000Mi'
+        resourceLimitMemory: '12000Mi',
+        envVars: [
+            envVar(key: 'DOCKER_HOST', value: 'tcp://localhost:2375')
+        ]
     ),
+    containerTemplate(name: 'dind', image: 'docker:18.05-dind',
+        alwaysPullImage: true,
+        privileged: true,
+    ),
+  ],
+  volumes: [
+    emptyDirVolume(mountPath: '/var/lib/docker', memory: false),
   ], yaml:'''
 spec:
   securityContext:
@@ -192,8 +206,31 @@ jobWrappers {
   }
 
   stage('Testing') {
-
     def branches = [:]
+    for (def d in ['derby','postgres']) {
+      def dbType=d
+      def splitName = "init@$dbType"
+      branches[splitName] = {
+        executorNode {
+          stage('Prepare') {
+              loadWS();
+          }
+          stage('init-metastore') {
+             withEnv(["dbType=$dbType"]) {
+               sh '''#!/bin/bash -e
+set -x
+echo 127.0.0.1 dev_$dbType | sudo tee -a /etc/hosts
+. /etc/profile.d/confs.sh
+sw hive-dev $PWD
+ping -c2 dev_$dbType
+export DOCKER_NETWORK=host
+reinit_metastore $dbType
+'''
+            }
+          }
+        }
+      }
+    }
     for (int i = 0; i < splits.size(); i++) {
       def num = i
       def split = splits[num]
diff --git a/itests/hive-jmh/pom.xml b/itests/hive-jmh/pom.xml
index 097a6f9..b289da7 100644
--- a/itests/hive-jmh/pom.xml
+++ b/itests/hive-jmh/pom.xml
@@ -82,51 +82,56 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <finalName>${uberjar.name}</finalName>
-              <transformers>
-                <transformer implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer"/>
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                  <mainClass>org.openjdk.jmh.Main</mainClass>
-                </transformer>
-              </transformers>
-              <filters>
-                <filter>
-                  <!--
-                  Shading signed JARs will fail without this.
-                  http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
-                  -->
-                  <artifact>*:*</artifact>
-                  <excludes>
-                    <exclude>META-INF/*.SF</exclude>
-                    <exclude>META-INF/*.DSA</exclude>
-                    <exclude>META-INF/*.RSA</exclude>
-                  </excludes>
-                </filter>
-              </filters>
-            </configuration>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>com.github.edwgiz</groupId>
-            <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
-            <version>2.1</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
+  <profiles>
+    <profile>
+      <id>perf</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-shade-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>package</phase>
+                <goals>
+                  <goal>shade</goal>
+                </goals>
+                <configuration>
+                  <finalName>${uberjar.name}</finalName>
+                  <transformers>
+                    <transformer implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer" />
+                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                      <mainClass>org.openjdk.jmh.Main</mainClass>
+                    </transformer>
+                  </transformers>
+                  <filters>
+                    <filter>
+                      <!--
+                      Shading signed JARs will fail without this.
+                      http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
+                      -->
+                      <artifact>*:*</artifact>
+                      <excludes>
+                        <exclude>META-INF/*.SF</exclude>
+                        <exclude>META-INF/*.DSA</exclude>
+                        <exclude>META-INF/*.RSA</exclude>
+                      </excludes>
+                    </filter>
+                  </filters>
+                </configuration>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>com.github.edwgiz</groupId>
+                <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
+                <version>2.1</version>
+              </dependency>
+            </dependencies>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 
 </project>
diff --git a/packaging/src/main/assembly/bin.xml b/packaging/src/main/assembly/bin.xml
index 58694e8..7905772 100644
--- a/packaging/src/main/assembly/bin.xml
+++ b/packaging/src/main/assembly/bin.xml
@@ -39,6 +39,7 @@
       <useStrictFiltering>true</useStrictFiltering>
       <useTransitiveFiltering>true</useTransitiveFiltering>
       <excludes>
+        <exclude>org.apache.calcite:*</exclude>
         <exclude>org.apache.hadoop:*</exclude>
         <exclude>org.apache.hive.hcatalog:*</exclude>
         <exclude>org.slf4j:*</exclude>
diff --git a/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml b/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml
index 29201df..754fd0e 100644
--- a/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml
+++ b/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml
@@ -130,7 +130,7 @@
       The dist profile generates two full jars with dependencies - obe for HMSBenchmarks and
       another for HMSTool.
       -->
-      <id>dist</id>
+      <id>perf</id>
       <build>
         <plugins>
           <plugin>