You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2020/03/17 16:22:07 UTC

[incubator-iceberg] branch master updated: Hive: Update to 2.3.6 (#841)

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

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new b288209  Hive: Update to 2.3.6 (#841)
b288209 is described below

commit b288209c239efef34762ffdeb5873877152c1e66
Author: Saisai Shao <je...@tencent.com>
AuthorDate: Wed Mar 18 00:21:56 2020 +0800

    Hive: Update to 2.3.6 (#841)
---
 build.gradle                                       |  37 +++++++
 .../apache/iceberg/hive/HiveTableOperations.java   |  10 +-
 .../apache/iceberg/spark/source/TestTables.java    |   2 +-
 versions.lock                                      | 117 +++++++++++----------
 versions.props                                     |   6 +-
 5 files changed, 109 insertions(+), 63 deletions(-)

diff --git a/build.gradle b/build.gradle
index c942b54..fd41d6d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -166,6 +166,16 @@ project(':iceberg-hive') {
       exclude group: 'org.apache.avro', module: 'avro'
       exclude group: 'org.slf4j', module: 'slf4j-log4j12'
       exclude group: 'org.pentaho' // missing dependency
+      exclude group: 'org.apache.hbase'
+      exclude group: 'org.apache.logging.log4j'
+      exclude group: 'co.cask.tephra'
+      exclude group: 'com.google.code.findbugs', module: 'jsr305'
+      exclude group: 'org.eclipse.jetty.aggregate', module: 'jetty-all'
+      exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet'
+      exclude group: 'org.apache.parquet', module: 'parquet-hadoop-bundle'
+      exclude group: 'com.tdunning', module: 'json'
+      exclude group: 'javax.transaction', module: 'transaction-api'
+      exclude group: 'com.zaxxer', module: 'HikariCP'
     }
 
     // By default, hive-exec is a fat/uber jar and it exports a guava library
@@ -176,12 +186,28 @@ project(':iceberg-hive') {
       exclude group: 'org.apache.avro', module: 'avro'
       exclude group: 'org.slf4j', module: 'slf4j-log4j12'
       exclude group: 'org.pentaho' // missing dependency
+      exclude group: 'org.apache.hive', module: 'hive-llap-tez'
+      exclude group: 'org.apache.logging.log4j'
+      exclude group: 'com.google.protobuf', module: 'protobuf-java'
+      exclude group: 'org.apache.calcite'
+      exclude group: 'org.apache.calcite.avatica'
+      exclude group: 'com.google.code.findbugs', module: 'jsr305'
     }
 
     testCompile("org.apache.hive:hive-metastore") {
       exclude group: 'org.apache.avro', module: 'avro'
       exclude group: 'org.slf4j', module: 'slf4j-log4j12'
       exclude group: 'org.pentaho' // missing dependency
+      exclude group: 'org.apache.hbase'
+      exclude group: 'org.apache.logging.log4j'
+      exclude group: 'co.cask.tephra'
+      exclude group: 'com.google.code.findbugs', module: 'jsr305'
+      exclude group: 'org.eclipse.jetty.aggregate', module: 'jetty-all'
+      exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet'
+      exclude group: 'org.apache.parquet', module: 'parquet-hadoop-bundle'
+      exclude group: 'com.tdunning', module: 'json'
+      exclude group: 'javax.transaction', module: 'transaction-api'
+      exclude group: 'com.zaxxer', module: 'HikariCP'
     }
 
     compileOnly("org.apache.hadoop:hadoop-client") {
@@ -280,6 +306,17 @@ project(':iceberg-spark') {
     testCompile project(path: ':iceberg-hive', configuration: 'testArtifacts')
     testCompile project(path: ':iceberg-api', configuration: 'testArtifacts')
 
+    // Spark 2.4.4 can only use the below datanucleus version, the versions introduced
+    // by Hive 2.3.6 will meet lots of unexpected issues, so here force to use the versions
+    // introduced by Hive 1.2.1.
+    configurations.all {
+      resolutionStrategy {
+        force 'org.datanucleus:datanucleus-api-jdo:3.2.6'
+        force 'org.datanucleus:datanucleus-core:3.2.10'
+        force 'org.datanucleus:datanucleus-rdbms:3.2.9'
+      }
+    }
+
     // spark-avro is required only for JMH tests, so ideally we would add this
     // dependency only to the jmh configuration, however gradle-consistent-versions
     // plugin does not respect this configuration and does not seem to have a way
diff --git a/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java b/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java
index 8685783..0823184 100644
--- a/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java
+++ b/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java
@@ -33,6 +33,7 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.common.StatsSetupConst;
+import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.api.EnvironmentContext;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
@@ -49,6 +50,7 @@ import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.iceberg.BaseMetastoreTableOperations;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.TableMetadata;
+import org.apache.iceberg.common.DynMethods;
 import org.apache.iceberg.exceptions.AlreadyExistsException;
 import org.apache.iceberg.exceptions.CommitFailedException;
 import org.apache.iceberg.exceptions.NoSuchTableException;
@@ -67,6 +69,12 @@ public class HiveTableOperations extends BaseMetastoreTableOperations {
 
   private static final String HIVE_ACQUIRE_LOCK_STATE_TIMEOUT_MS = "iceberg.hive.lock-timeout-ms";
   private static final long HIVE_ACQUIRE_LOCK_STATE_TIMEOUT_MS_DEFAULT = 3 * 60 * 1000; // 3 minutes
+  private static final DynMethods.UnboundMethod ALTER_TABLE = DynMethods.builder("alter_table")
+      .impl(HiveMetaStoreClient.class, "alter_table_with_environmentContext",
+          String.class, String.class, Table.class, EnvironmentContext.class)
+      .impl(HiveMetaStoreClient.class, "alter_table",
+          String.class, String.class, Table.class, EnvironmentContext.class)
+      .build();
 
   private final HiveClientPool metaClients;
   private final String database;
@@ -175,7 +183,7 @@ public class HiveTableOperations extends BaseMetastoreTableOperations {
           EnvironmentContext envContext = new EnvironmentContext(
               ImmutableMap.of(StatsSetupConst.DO_NOT_UPDATE_STATS, StatsSetupConst.TRUE)
           );
-          client.alter_table(database, tableName, tbl, envContext);
+          ALTER_TABLE.invoke(client, database, tableName, tbl, envContext);
           return null;
         });
       } else {
diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java
index 92f8e29..879aa16 100644
--- a/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java
+++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java
@@ -19,6 +19,7 @@
 
 package org.apache.iceberg.spark.source;
 
+import com.google.common.base.Preconditions;
 import com.google.common.collect.Maps;
 import java.io.File;
 import java.util.Map;
@@ -37,7 +38,6 @@ import org.apache.iceberg.io.FileIO;
 import org.apache.iceberg.io.InputFile;
 import org.apache.iceberg.io.LocationProvider;
 import org.apache.iceberg.io.OutputFile;
-import parquet.Preconditions;
 
 // TODO: Use the copy of this from core.
 class TestTables {
diff --git a/versions.lock b/versions.lock
index d0ea09e..eadc7b4 100644
--- a/versions.lock
+++ b/versions.lock
@@ -1,6 +1,5 @@
 # Run ./gradlew --write-locks to regenerate this file
-ant:ant:1.6.5 (1 constraints: bb0a41d8)
-antlr:antlr:2.7.7 (2 constraints: 36167e02)
+ant:ant:1.6.5 (2 constraints: 2d1539e1)
 aopalliance:aopalliance:1.0 (1 constraints: 170a83ac)
 asm:asm:3.1 (2 constraints: 4f19c3c6)
 com.carrotsearch:hppc:0.7.2 (1 constraints: f70cda14)
@@ -9,23 +8,24 @@ com.esotericsoftware:kryo-shaded:4.0.2 (2 constraints: b71345a6)
 com.esotericsoftware:minlog:1.3.0 (1 constraints: 670e7c4f)
 com.fasterxml.jackson.core:jackson-annotations:2.10.2 (5 constraints: 4155160f)
 com.fasterxml.jackson.core:jackson-core:2.10.2 (6 constraints: bb52b302)
-com.fasterxml.jackson.core:jackson-databind:2.10.2 (10 constraints: 8a92f4c4)
+com.fasterxml.jackson.core:jackson-databind:2.10.2 (11 constraints: 7c9eca9a)
 com.fasterxml.jackson.module:jackson-module-paranamer:2.10.2 (1 constraints: 03162c16)
 com.fasterxml.jackson.module:jackson-module-scala_2.11:2.10.2 (1 constraints: 7f0da251)
 com.github.ben-manes.caffeine:caffeine:2.7.0 (1 constraints: 0b050a36)
+com.github.joshelser:dropwizard-metrics-hadoop-metrics2-reporter:0.1.2 (1 constraints: e90b08f3)
 com.github.luben:zstd-jni:1.3.2-2 (1 constraints: 760d7c51)
 com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1 (1 constraints: 6d05ab40)
-com.google.code.findbugs:jsr305:3.0.2 (9 constraints: d276cf3c)
-com.google.code.gson:gson:2.2.4 (1 constraints: 8c0d3f2f)
+com.google.code.findbugs:jsr305:3.0.2 (7 constraints: fc5db58f)
+com.google.code.gson:gson:2.2.4 (2 constraints: 9518bfd2)
 com.google.errorprone:error_prone_annotations:2.3.3 (2 constraints: 161a2544)
 com.google.flatbuffers:flatbuffers-java:1.9.0 (2 constraints: e5199714)
 com.google.guava:failureaccess:1.0.1 (1 constraints: 140ae1b4)
-com.google.guava:guava:28.0-jre (23 constraints: cc5c2ea0)
+com.google.guava:guava:28.0-jre (21 constraints: 88453dad)
 com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava (1 constraints: bd17c918)
 com.google.inject:guice:3.0 (6 constraints: 6873914c)
 com.google.inject.extensions:guice-servlet:3.0 (11 constraints: a9d50a2b)
 com.google.j2objc:j2objc-annotations:1.3 (1 constraints: b809eda0)
-com.google.protobuf:protobuf-java:2.5.0 (15 constraints: f80eac0f)
+com.google.protobuf:protobuf-java:2.5.0 (16 constraints: 2f1c978f)
 com.googlecode.javaewah:JavaEWAH:0.3.2 (1 constraints: ea0dfc42)
 com.jamesmurty.utils:java-xmlbuilder:0.4 (1 constraints: e40aa5ca)
 com.jcraft:jsch:0.1.42 (1 constraints: bb0ded3c)
@@ -40,31 +40,31 @@ com.sun.xml.bind:jaxb-impl:2.2.3-1 (1 constraints: 330c2404)
 com.thoughtworks.paranamer:paranamer:2.8 (3 constraints: 742d4cb1)
 com.twitter:chill-java:0.9.3 (2 constraints: a716716f)
 com.twitter:chill_2.11:0.9.3 (2 constraints: 121b92c3)
-com.twitter:parquet-hadoop-bundle:1.6.0 (3 constraints: 7c262424)
+com.twitter:parquet-hadoop-bundle:1.6.0 (2 constraints: 061b4d93)
 com.univocity:univocity-parsers:2.7.3 (1 constraints: c40ccb27)
 commons-beanutils:commons-beanutils:1.7.0 (1 constraints: da0e635f)
 commons-beanutils:commons-beanutils-core:1.8.0 (1 constraints: 1d134124)
-commons-cli:commons-cli:1.2 (8 constraints: 9467c282)
-commons-codec:commons-codec:1.10 (16 constraints: 42d1423c)
-commons-collections:commons-collections:3.2.2 (4 constraints: 42476934)
+commons-cli:commons-cli:1.2 (9 constraints: f874366c)
+commons-codec:commons-codec:1.10 (17 constraints: a8de3870)
+commons-collections:commons-collections:3.2.2 (3 constraints: e73a8e36)
 commons-configuration:commons-configuration:1.6 (1 constraints: 2d0d5c14)
 commons-daemon:commons-daemon:1.0.13 (1 constraints: d50c811c)
 commons-dbcp:commons-dbcp:1.4 (3 constraints: 9029e0e4)
 commons-digester:commons-digester:1.8 (1 constraints: bf1228fe)
-commons-el:commons-el:1.0 (1 constraints: fb077074)
+commons-el:commons-el:1.0 (2 constraints: ad11e7f0)
 commons-httpclient:commons-httpclient:3.1 (4 constraints: e52cc77f)
 commons-io:commons-io:2.4 (6 constraints: 4a568049)
-commons-lang:commons-lang:2.6 (19 constraints: 5f0d34d8)
-commons-logging:commons-logging:1.2 (27 constraints: f2ab390b)
+commons-lang:commons-lang:2.6 (20 constraints: 401f63f3)
+commons-logging:commons-logging:1.2 (20 constraints: 424b646e)
 commons-net:commons-net:3.1 (3 constraints: 3d222e61)
 commons-pool:commons-pool:1.6 (4 constraints: e336ab5e)
 dk.brics.automaton:automaton:1.11-8 (1 constraints: 92088a8d)
 hsqldb:hsqldb:1.8.0.10 (1 constraints: f008499f)
 io.airlift:aircompressor:0.15 (1 constraints: 0e0aa4b2)
-io.dropwizard.metrics:metrics-core:3.1.5 (6 constraints: 865ea0ba)
+io.dropwizard.metrics:metrics-core:3.1.5 (8 constraints: 3b8585b8)
 io.dropwizard.metrics:metrics-graphite:3.1.5 (1 constraints: 1a0dc936)
-io.dropwizard.metrics:metrics-json:3.1.5 (1 constraints: 1a0dc936)
-io.dropwizard.metrics:metrics-jvm:3.1.5 (1 constraints: 1a0dc936)
+io.dropwizard.metrics:metrics-json:3.1.5 (2 constraints: 03195c12)
+io.dropwizard.metrics:metrics-jvm:3.1.5 (2 constraints: 03195c12)
 io.netty:netty:3.9.9.Final (9 constraints: 9eb0396d)
 io.netty:netty-all:4.1.17.Final (3 constraints: d2312526)
 io.netty:netty-buffer:4.1.27.Final (1 constraints: 4a0fee77)
@@ -73,17 +73,18 @@ javax.annotation:javax.annotation-api:1.3.2 (3 constraints: 55341c48)
 javax.inject:javax.inject:1 (4 constraints: 852d0c1a)
 javax.jdo:jdo-api:3.0.1 (2 constraints: 4c1dcc1a)
 javax.servlet:javax.servlet-api:3.1.0 (1 constraints: 150dc436)
-javax.servlet:servlet-api:2.5 (7 constraints: c87e5aa1)
+javax.servlet:jsp-api:2.0 (1 constraints: 0b0aa0a7)
+javax.servlet:servlet-api:2.5 (9 constraints: f991a6d2)
 javax.servlet.jsp:jsp-api:2.1 (1 constraints: 290d5a14)
 javax.transaction:jta:1.1 (1 constraints: 9f07d96b)
 javax.validation:validation-api:1.1.0.Final (1 constraints: 13133130)
 javax.ws.rs:javax.ws.rs-api:2.0.1 (5 constraints: 6e649355)
 javax.xml.bind:jaxb-api:2.2.11 (6 constraints: a069fd48)
-javolution:javolution:5.5.1 (1 constraints: f00d1a43)
-jline:jline:2.12 (3 constraints: 98208776)
-joda-time:joda-time:2.9.9 (4 constraints: c125a2fb)
-log4j:apache-log4j-extras:1.2.17 (4 constraints: 3f36b1af)
-log4j:log4j:1.2.17 (12 constraints: 22ab5529)
+javolution:javolution:5.5.1 (2 constraints: 2b1b2b82)
+jline:jline:2.12 (3 constraints: 7c21b2cb)
+joda-time:joda-time:2.9.9 (4 constraints: 2326d336)
+log4j:apache-log4j-extras:1.2.17 (1 constraints: 200e1d51)
+log4j:log4j:1.2.17 (8 constraints: e7772b11)
 net.hydromatic:eigenbase-properties:1.1.5 (1 constraints: 5f0daf2c)
 net.java.dev.jets3t:jets3t:0.9.0 (2 constraints: ec152b22)
 net.razorvine:pyrolite:4.13 (1 constraints: eb0cb829)
@@ -91,10 +92,9 @@ net.sf.kosmosfs:kfs:0.3 (1 constraints: fd077074)
 net.sf.opencsv:opencsv:2.3 (2 constraints: a218daa5)
 net.sf.py4j:py4j:0.10.7 (1 constraints: 490d0044)
 org.antlr:ST4:4.0.4 (3 constraints: 5521e4e4)
-org.antlr:antlr-runtime:3.4 (6 constraints: b84229a1)
+org.antlr:antlr-runtime:3.5.2 (6 constraints: 7a43035f)
 org.antlr:antlr4-runtime:4.7 (1 constraints: 7a0e125f)
-org.antlr:stringtemplate:3.2.1 (1 constraints: c10a3bc6)
-org.apache.ant:ant:1.9.1 (3 constraints: a721ed14)
+org.apache.ant:ant:1.9.1 (3 constraints: 262660e7)
 org.apache.ant:ant-launcher:1.9.1 (1 constraints: 69082485)
 org.apache.arrow:arrow-format:0.14.1 (1 constraints: 240df421)
 org.apache.arrow:arrow-memory:0.14.1 (1 constraints: 240df421)
@@ -102,15 +102,15 @@ org.apache.arrow:arrow-vector:0.14.1 (2 constraints: 2012a545)
 org.apache.avro:avro:1.9.2 (4 constraints: 3e2e68f4)
 org.apache.avro:avro-ipc:1.8.2 (1 constraints: f90b5bf4)
 org.apache.avro:avro-mapred:1.8.2 (2 constraints: 3a1a4787)
-org.apache.calcite:calcite-avatica:1.2.0-incubating (4 constraints: a044b922)
-org.apache.calcite:calcite-core:1.2.0-incubating (2 constraints: bd20f965)
+org.apache.calcite:calcite-avatica:1.2.0-incubating (3 constraints: 4b35b263)
+org.apache.calcite:calcite-core:1.2.0-incubating (1 constraints: 68119fdf)
 org.apache.calcite:calcite-linq4j:1.2.0-incubating (1 constraints: ac1147d8)
-org.apache.commons:commons-compress:1.19 (6 constraints: fa4af584)
+org.apache.commons:commons-compress:1.19 (6 constraints: 464a0c7f)
 org.apache.commons:commons-crypto:1.0.0 (2 constraints: 3a1e5fbf)
-org.apache.commons:commons-lang3:3.9 (4 constraints: c52f877f)
+org.apache.commons:commons-lang3:3.9 (5 constraints: 503b94b4)
 org.apache.commons:commons-math3:3.4.1 (2 constraints: a11af290)
 org.apache.curator:curator-client:2.7.1 (2 constraints: 6a1d2734)
-org.apache.curator:curator-framework:2.7.1 (4 constraints: 4937d02c)
+org.apache.curator:curator-framework:2.7.1 (4 constraints: 4d37382d)
 org.apache.curator:curator-recipes:2.7.1 (2 constraints: a61acc91)
 org.apache.derby:derby:10.12.1.1 (3 constraints: 9f2cb182)
 org.apache.directory.api:api-asn1-api:1.0.0-M20 (1 constraints: 3d163b13)
@@ -120,7 +120,7 @@ org.apache.directory.server:apacheds-kerberos-codec:2.0.0-M15 (1 constraints: 8f
 org.apache.hadoop:hadoop-annotations:2.7.3 (16 constraints: 2c27b38c)
 org.apache.hadoop:hadoop-auth:2.7.3 (1 constraints: 900d4d2f)
 org.apache.hadoop:hadoop-client:2.7.3 (2 constraints: 2b12043c)
-org.apache.hadoop:hadoop-common:2.7.3 (3 constraints: 482267f7)
+org.apache.hadoop:hadoop-common:2.7.3 (4 constraints: 163dee6b)
 org.apache.hadoop:hadoop-hdfs:2.7.3 (4 constraints: b834c025)
 org.apache.hadoop:hadoop-mapreduce-client-app:2.7.3 (3 constraints: ab2f8436)
 org.apache.hadoop:hadoop-mapreduce-client-common:2.7.3 (4 constraints: 184f4f66)
@@ -133,21 +133,22 @@ org.apache.hadoop:hadoop-yarn-common:2.7.3 (9 constraints: b3b2f06f)
 org.apache.hadoop:hadoop-yarn-server-applicationhistoryservice:2.7.3 (1 constraints: f5157dcf)
 org.apache.hadoop:hadoop-yarn-server-common:2.7.3 (7 constraints: 5192cac0)
 org.apache.hadoop:hadoop-yarn-server-nodemanager:2.7.3 (2 constraints: 6726468d)
-org.apache.hadoop:hadoop-yarn-server-resourcemanager:2.7.3 (2 constraints: af2040af)
+org.apache.hadoop:hadoop-yarn-server-resourcemanager:2.7.3 (2 constraints: b22045af)
 org.apache.hadoop:hadoop-yarn-server-web-proxy:2.7.3 (2 constraints: cb287679)
-org.apache.hive:hive-common:1.2.1 (1 constraints: 740bb5e4)
-org.apache.hive:hive-metastore:1.2.1 (2 constraints: 0b1094b7)
-org.apache.hive:hive-serde:1.2.1 (1 constraints: 350d6320)
-org.apache.hive:hive-shims:1.2.1 (4 constraints: 962f99d3)
-org.apache.hive.shims:hive-shims-0.20S:1.2.1 (1 constraints: 850b5fe5)
-org.apache.hive.shims:hive-shims-0.23:1.2.1 (1 constraints: 850b5fe5)
-org.apache.hive.shims:hive-shims-common:1.2.1 (4 constraints: 233b0a15)
-org.apache.hive.shims:hive-shims-scheduler:1.2.1 (1 constraints: 850b5fe5)
+org.apache.hive:hive-common:2.3.6 (1 constraints: 7b0bc2e4)
+org.apache.hive:hive-metastore:2.3.6 (1 constraints: 0d050436)
+org.apache.hive:hive-serde:2.3.6 (1 constraints: 3c0d7020)
+org.apache.hive:hive-service-rpc:2.3.6 (1 constraints: 7b0bc2e4)
+org.apache.hive:hive-shims:2.3.6 (4 constraints: b22fbcd9)
+org.apache.hive:hive-storage-api:2.4.0 (1 constraints: ec0b19f3)
+org.apache.hive.shims:hive-shims-0.23:2.3.6 (1 constraints: 8c0b6ce5)
+org.apache.hive.shims:hive-shims-common:2.3.6 (3 constraints: 222cfaad)
+org.apache.hive.shims:hive-shims-scheduler:2.3.6 (1 constraints: 8c0b6ce5)
 org.apache.htrace:htrace-core:3.1.0-incubating (2 constraints: cd22cffa)
 org.apache.httpcomponents:httpclient:4.5.6 (4 constraints: 573134dd)
 org.apache.httpcomponents:httpcore:4.4.10 (3 constraints: d327f763)
 org.apache.ivy:ivy:2.4.0 (3 constraints: 0826dbf1)
-org.apache.orc:orc-core:1.6.2 (2 constraints: cd116527)
+org.apache.orc:orc-core:1.6.2 (3 constraints: ba1d17ad)
 org.apache.orc:orc-mapreduce:1.5.5 (1 constraints: c30cc227)
 org.apache.orc:orc-shims:1.6.2 (1 constraints: 3f0aeabc)
 org.apache.parquet:parquet-avro:1.11.0 (1 constraints: 35052c3b)
@@ -170,8 +171,8 @@ org.apache.spark:spark-sketch_2.11:2.4.4 (2 constraints: 981bd4f5)
 org.apache.spark:spark-sql_2.11:2.4.4 (1 constraints: 1e0d0037)
 org.apache.spark:spark-tags_2.11:2.4.4 (8 constraints: 036fa69d)
 org.apache.spark:spark-unsafe_2.11:2.4.4 (2 constraints: f11bc213)
-org.apache.thrift:libfb303:0.9.3 (3 constraints: 6725fac0)
-org.apache.thrift:libthrift:0.9.3 (5 constraints: 71415452)
+org.apache.thrift:libfb303:0.9.3 (3 constraints: 27289d07)
+org.apache.thrift:libthrift:0.9.3 (6 constraints: 3f4f0635)
 org.apache.xbean:xbean-asm6-shaded:4.8 (2 constraints: 2419a30f)
 org.apache.yetus:audience-annotations:0.11.0 (1 constraints: c40eb364)
 org.apache.zookeeper:zookeeper:3.4.6 (11 constraints: 18a71f48)
@@ -180,13 +181,14 @@ org.codehaus.jackson:jackson-core-asl:1.9.13 (11 constraints: 8091cd06)
 org.codehaus.jackson:jackson-jaxrs:1.9.13 (2 constraints: 821bca9d)
 org.codehaus.jackson:jackson-mapper-asl:1.9.13 (11 constraints: e18d325f)
 org.codehaus.jackson:jackson-xc:1.9.13 (2 constraints: 821bca9d)
-org.codehaus.janino:commons-compiler:3.0.9 (3 constraints: 0a2837cc)
-org.codehaus.janino:janino:3.0.9 (2 constraints: 3f1c6304)
+org.codehaus.janino:commons-compiler:3.0.9 (2 constraints: a41a546f)
+org.codehaus.janino:janino:3.0.9 (1 constraints: d90e817c)
 org.codehaus.jettison:jettison:1.1 (4 constraints: a84e24a9)
 org.codehaus.mojo:animal-sniffer-annotations:1.17 (1 constraints: ed09d8aa)
-org.datanucleus:datanucleus-api-jdo:3.2.6 (2 constraints: 5a1d241c)
-org.datanucleus:datanucleus-core:3.2.10 (5 constraints: 4a4401e0)
-org.datanucleus:datanucleus-rdbms:3.2.9 (2 constraints: 601db41c)
+org.datanucleus:datanucleus-api-jdo:4.2.4 (2 constraints: 591df91b)
+org.datanucleus:datanucleus-core:4.1.17 (5 constraints: 584455e8)
+org.datanucleus:datanucleus-rdbms:4.1.19 (2 constraints: 911dec32)
+org.datanucleus:javax.jdo:3.2.0-m3 (1 constraints: 030ea249)
 org.eclipse.jdt:core:3.1.1 (1 constraints: b40a38d8)
 org.fusesource.leveldbjni:leveldbjni-all:1.8 (9 constraints: 91a69ae7)
 org.glassfish.hk2:hk2-api:2.4.0-b34 (5 constraints: 9d5608c7)
@@ -206,7 +208,6 @@ org.iq80.snappy:snappy:0.2 (1 constraints: 890d5927)
 org.javassist:javassist:3.18.1-GA (1 constraints: 570d4740)
 org.jetbrains:annotations:17.0.0 (1 constraints: 6e0a64c7)
 org.jodd:jodd-core:3.5.2 (2 constraints: 0c1bda93)
-org.json:json:20090211 (1 constraints: 890c4218)
 org.json4s:json4s-ast_2.11:3.5.3 (1 constraints: 0c0b9ae9)
 org.json4s:json4s-core_2.11:3.5.3 (1 constraints: 4c0c5316)
 org.json4s:json4s-jackson_2.11:3.5.3 (1 constraints: 1c0dd336)
@@ -227,7 +228,7 @@ org.scala-lang.modules:scala-parser-combinators_2.11:1.1.0 (1 constraints: cf0e7
 org.scala-lang.modules:scala-xml_2.11:1.0.6 (1 constraints: 080b84e9)
 org.slf4j:jcl-over-slf4j:1.7.16 (1 constraints: 500d1d44)
 org.slf4j:jul-to-slf4j:1.7.16 (1 constraints: 500d1d44)
-org.slf4j:slf4j-api:1.7.25 (47 constraints: 19a808a2)
+org.slf4j:slf4j-api:1.7.25 (49 constraints: f1d591ce)
 org.sonatype.sisu.inject:cglib:2.2.1-v20090111 (1 constraints: aa0cfd36)
 org.spark-project.hive:hive-exec:1.2.1.spark2 (1 constraints: 990fa09c)
 org.spark-project.hive:hive-metastore:1.2.1.spark2 (1 constraints: 990fa09c)
@@ -235,22 +236,22 @@ org.spark-project.spark:unused:1.0.0 (12 constraints: 9aab75cf)
 org.xerial.snappy:snappy-java:1.1.7.3 (2 constraints: 681c5e46)
 oro:oro:2.0.8 (3 constraints: 3b229337)
 stax:stax-api:1.0.1 (2 constraints: ea186edd)
-tomcat:jasper-compiler:5.5.12 (1 constraints: 9508ab8d)
-tomcat:jasper-runtime:5.5.12 (1 constraints: 9508ab8d)
+tomcat:jasper-compiler:5.5.23 (2 constraints: 93169c60)
+tomcat:jasper-runtime:5.5.23 (2 constraints: 93169c60)
 xerces:xercesImpl:2.9.1 (1 constraints: ac0ccc0f)
 xml-apis:xml-apis:1.3.04 (1 constraints: b008af8c)
 xmlenc:xmlenc:0.52 (3 constraints: 05228b2f)
 
 [Test dependencies]
 junit:junit:4.12 (1 constraints: db04ff30)
-org.apache.curator:apache-curator:2.6.0 (1 constraints: 0a0bf4d6)
+org.apache.curator:apache-curator:2.7.1 (1 constraints: 0c0bf8d6)
 org.apache.hadoop:hadoop-mapreduce-client-hs:2.7.3 (1 constraints: b60fac84)
 org.apache.hadoop:hadoop-minicluster:2.7.3 (1 constraints: 0e050d36)
 org.apache.hadoop:hadoop-yarn-server-tests:2.7.3 (1 constraints: b60fac84)
-org.apache.hive:hive-ant:1.2.1 (1 constraints: 060be4d6)
-org.apache.hive:hive-exec:1.2.1 (1 constraints: 0605f735)
-org.apache.velocity:velocity:1.5 (1 constraints: 480ae2b4)
-org.codehaus.groovy:groovy-all:2.1.6 (1 constraints: 0b0bebd6)
+org.apache.hive:hive-exec:2.3.6 (1 constraints: 0d050436)
+org.apache.hive:hive-vector-code-gen:2.3.6 (1 constraints: 0d0bf1d6)
+org.apache.velocity:velocity:1.5 (1 constraints: c70e875e)
+org.codehaus.groovy:groovy-all:2.4.4 (1 constraints: 0c0bf2d6)
 org.hamcrest:hamcrest-core:1.3 (2 constraints: 7910aeb0)
 org.mockito:mockito-core:1.10.19 (1 constraints: 6e059840)
 org.slf4j:slf4j-simple:1.7.5 (1 constraints: 0f050a36)
diff --git a/versions.props b/versions.props
index 0329a00..d8b2d39 100644
--- a/versions.props
+++ b/versions.props
@@ -2,7 +2,7 @@ org.slf4j:slf4j-api = 1.7.22
 com.google.guava:guava = 28.0-jre
 org.apache.avro:avro = 1.9.2
 org.apache.hadoop:* = 2.7.3
-org.apache.hive:hive-standalone-metastore = 1.2.1
+org.apache.hive:hive-metastore = 2.3.6
 org.apache.orc:orc-core = 1.6.2
 org.apache.parquet:parquet-avro = 1.11.0
 org.apache.spark:spark-hive_2.11 = 2.4.4
@@ -18,5 +18,5 @@ junit:junit = 4.12
 org.slf4j:slf4j-simple = 1.7.5
 org.mockito:mockito-core = 1.10.19
 joda-time:joda-time = 2.9.9
-org.apache.hive:hive-exec = 1.2.1
-org.apache.hive:hive-metastore = 1.2.1
+org.apache.hive:hive-exec = 2.3.6
+org.apache.hive:hive-metastore = 2.3.6