From 79eaaaf6daeff6b048a81f4ef60fcc48395a2772 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Mon, 27 Apr 2020 18:56:30 -0700 Subject: [PATCH] [SPARK-31580][BUILD] Upgrade Apache ORC to 1.5.10 ### What changes were proposed in this pull request? This PR aims to upgrade Apache ORC to 1.5.10. ### Why are the changes needed? Apache ORC 1.5.10 is a maintenance release with the following patches. - [ORC-621](https://issues.apache.org/jira/browse/ORC-621) Need reader fix for ORC-569 - [ORC-616](https://issues.apache.org/jira/browse/ORC-616) In Patched Base encoding, the value of headerThirdByte goes beyond the range of byte - [ORC-613](https://issues.apache.org/jira/browse/ORC-613) OrcMapredRecordReader mis-reuse struct object when actual children schema differs - [ORC-610](https://issues.apache.org/jira/browse/ORC-610) Updated Copyright year in the NOTICE file The following is release note. - https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318320&version=12346912 ### Does this PR introduce any user-facing change? No. ### How was this patch tested? Pass the Jenkins with the existing ORC tests and a newly added test case. - The first commit is already tested in `hive-2.3` profile with both native ORC implementation and Hive 2.3 ORC implementation. (https://github.com/apache/spark/pull/28373#issuecomment-620265114) - The latest run is about to make the test case disable in `hive-1.2` profile which doesn't use Apache ORC. - `hive-1.2`: https://github.com/apache/spark/pull/28373#issuecomment-620325906 Closes #28373 from dongjoon-hyun/SPARK-ORC-1.5.10. Authored-by: Dongjoon Hyun Signed-off-by: Dongjoon Hyun --- dev/deps/spark-deps-hadoop-2.7-hive-1.2 | 6 +++--- dev/deps/spark-deps-hadoop-2.7-hive-2.3 | 6 +++--- dev/deps/spark-deps-hadoop-3.2-hive-2.3 | 6 +++--- pom.xml | 2 +- .../TestStringDictionary.testRowIndex.orc | Bin 0 -> 74580 bytes .../datasources/orc/OrcSourceSuite.scala | 6 ++++++ .../spark/sql/hive/orc/HiveOrcSourceSuite.scala | 7 +++++++ 7 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 sql/core/src/test/resources/test-data/TestStringDictionary.testRowIndex.orc diff --git a/dev/deps/spark-deps-hadoop-2.7-hive-1.2 b/dev/deps/spark-deps-hadoop-2.7-hive-1.2 index 8f4d48fbad..beaa7d42fb 100644 --- a/dev/deps/spark-deps-hadoop-2.7-hive-1.2 +++ b/dev/deps/spark-deps-hadoop-2.7-hive-1.2 @@ -160,9 +160,9 @@ objenesis/2.5.1//objenesis-2.5.1.jar okhttp/3.12.6//okhttp-3.12.6.jar okio/1.15.0//okio-1.15.0.jar opencsv/2.3//opencsv-2.3.jar -orc-core/1.5.9/nohive/orc-core-1.5.9-nohive.jar -orc-mapreduce/1.5.9/nohive/orc-mapreduce-1.5.9-nohive.jar -orc-shims/1.5.9//orc-shims-1.5.9.jar +orc-core/1.5.10/nohive/orc-core-1.5.10-nohive.jar +orc-mapreduce/1.5.10/nohive/orc-mapreduce-1.5.10-nohive.jar +orc-shims/1.5.10//orc-shims-1.5.10.jar oro/2.0.8//oro-2.0.8.jar osgi-resource-locator/1.0.3//osgi-resource-locator-1.0.3.jar paranamer/2.8//paranamer-2.8.jar diff --git a/dev/deps/spark-deps-hadoop-2.7-hive-2.3 b/dev/deps/spark-deps-hadoop-2.7-hive-2.3 index 2f40bcfe01..81c68e0bec 100644 --- a/dev/deps/spark-deps-hadoop-2.7-hive-2.3 +++ b/dev/deps/spark-deps-hadoop-2.7-hive-2.3 @@ -175,9 +175,9 @@ objenesis/2.5.1//objenesis-2.5.1.jar okhttp/3.12.6//okhttp-3.12.6.jar okio/1.15.0//okio-1.15.0.jar opencsv/2.3//opencsv-2.3.jar -orc-core/1.5.9//orc-core-1.5.9.jar -orc-mapreduce/1.5.9//orc-mapreduce-1.5.9.jar -orc-shims/1.5.9//orc-shims-1.5.9.jar +orc-core/1.5.10//orc-core-1.5.10.jar +orc-mapreduce/1.5.10//orc-mapreduce-1.5.10.jar +orc-shims/1.5.10//orc-shims-1.5.10.jar oro/2.0.8//oro-2.0.8.jar osgi-resource-locator/1.0.3//osgi-resource-locator-1.0.3.jar paranamer/2.8//paranamer-2.8.jar diff --git a/dev/deps/spark-deps-hadoop-3.2-hive-2.3 b/dev/deps/spark-deps-hadoop-3.2-hive-2.3 index 21444e5d24..6966de94e4 100644 --- a/dev/deps/spark-deps-hadoop-3.2-hive-2.3 +++ b/dev/deps/spark-deps-hadoop-3.2-hive-2.3 @@ -190,9 +190,9 @@ okhttp/2.7.5//okhttp-2.7.5.jar okhttp/3.12.6//okhttp-3.12.6.jar okio/1.15.0//okio-1.15.0.jar opencsv/2.3//opencsv-2.3.jar -orc-core/1.5.9//orc-core-1.5.9.jar -orc-mapreduce/1.5.9//orc-mapreduce-1.5.9.jar -orc-shims/1.5.9//orc-shims-1.5.9.jar +orc-core/1.5.10//orc-core-1.5.10.jar +orc-mapreduce/1.5.10//orc-mapreduce-1.5.10.jar +orc-shims/1.5.10//orc-shims-1.5.10.jar oro/2.0.8//oro-2.0.8.jar osgi-resource-locator/1.0.3//osgi-resource-locator-1.0.3.jar paranamer/2.8//paranamer-2.8.jar diff --git a/pom.xml b/pom.xml index 34a1a6176d..8dbff24c5d 100644 --- a/pom.xml +++ b/pom.xml @@ -135,7 +135,7 @@ 2.5.0 10.12.1.1 1.10.1 - 1.5.9 + 1.5.10 com.twitter 1.6.0 diff --git a/sql/core/src/test/resources/test-data/TestStringDictionary.testRowIndex.orc b/sql/core/src/test/resources/test-data/TestStringDictionary.testRowIndex.orc new file mode 100644 index 0000000000000000000000000000000000000000..cba483d1f070fcfb3a60f23f91ecc677236fb948 GIT binary patch literal 74580 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 P&xaj@2hZ?%(f