[ https://issues.apache.org/jira/browse/HIVE-21290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16797798#comment-16797798 ]
Hive QA commented on HIVE-21290: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12963135/HIVE-21290.1.patch {color:red}ERROR:{color} -1 due to build exiting with an error Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/16602/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/16602/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-16602/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Tests exited with: NonZeroExitCodeException Command 'bash /data/hiveptest/working/scratch/source-prep.sh' failed with exit status 1 and output '+ date '+%Y-%m-%d %T.%3N' 2019-03-21 03:54:32.141 + [[ -n /usr/lib/jvm/java-8-openjdk-amd64 ]] + export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + export 'ANT_OPTS=-Xmx1g -XX:MaxPermSize=256m ' + ANT_OPTS='-Xmx1g -XX:MaxPermSize=256m ' + export 'MAVEN_OPTS=-Xmx1g ' + MAVEN_OPTS='-Xmx1g ' + cd /data/hiveptest/working/ + tee /data/hiveptest/logs/PreCommit-HIVE-Build-16602/source-prep.txt + [[ false == \t\r\u\e ]] + mkdir -p maven ivy + [[ git = \s\v\n ]] + [[ git = \g\i\t ]] + [[ -z master ]] + [[ -d apache-github-source-source ]] + [[ ! -d apache-github-source-source/.git ]] + [[ ! -d apache-github-source-source ]] + date '+%Y-%m-%d %T.%3N' 2019-03-21 03:54:32.145 + cd apache-github-source-source + git fetch origin + git reset --hard HEAD HEAD is now at 25b14be HIVE-21460: ACID: Load data followed by a select * query results in incorrect results (Vaibhav Gumashta, reviewed by Gopal V) + git clean -f -d Removing standalone-metastore/metastore-server/src/gen/ + git checkout master Already on 'master' Your branch is up-to-date with 'origin/master'. + git reset --hard origin/master HEAD is now at 25b14be HIVE-21460: ACID: Load data followed by a select * query results in incorrect results (Vaibhav Gumashta, reviewed by Gopal V) + git merge --ff-only origin/master Already up-to-date. + date '+%Y-%m-%d %T.%3N' 2019-03-21 03:54:33.336 + rm -rf ../yetus_PreCommit-HIVE-Build-16602 + mkdir ../yetus_PreCommit-HIVE-Build-16602 + git gc + cp -R . ../yetus_PreCommit-HIVE-Build-16602 + mkdir /data/hiveptest/logs/PreCommit-HIVE-Build-16602/yetus + patchCommandPath=/data/hiveptest/working/scratch/smart-apply-patch.sh + patchFilePath=/data/hiveptest/working/scratch/build.patch + [[ -f /data/hiveptest/working/scratch/build.patch ]] + chmod +x /data/hiveptest/working/scratch/smart-apply-patch.sh + /data/hiveptest/working/scratch/smart-apply-patch.sh /data/hiveptest/working/scratch/build.patch error: cannot apply binary patch to 'data/files/parquet_historical_timestamp_legacy.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'data/files/parquet_historical_timestamp_legacy.parq' without full index line error: data/files/parquet_historical_timestamp_legacy.parq: patch does not apply error: cannot apply binary patch to 'data/files/parquet_historical_timestamp_new.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'data/files/parquet_historical_timestamp_new.parq' without full index line error: data/files/parquet_historical_timestamp_new.parq: patch does not apply error: src/java/org/apache/hadoop/hive/common/type/Timestamp.java: does not exist in index error: cannot apply binary patch to 'files/parquet_historical_timestamp_legacy.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'files/parquet_historical_timestamp_legacy.parq' without full index line error: files/parquet_historical_timestamp_legacy.parq: patch does not apply error: cannot apply binary patch to 'files/parquet_historical_timestamp_new.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'files/parquet_historical_timestamp_new.parq' without full index line error: files/parquet_historical_timestamp_new.parq: patch does not apply error: src/java/org/apache/hadoop/hive/ql/io/parquet/convert/ETypeConverter.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/read/DataWritableReadSupport.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/timestamp/NanoTimeUtils.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/vector/BaseVectorizedColumnReader.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/vector/ParquetDataColumnReaderFactory.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedPrimitiveColumnReader.java: does not exist in index error: src/java/org/apache/hadoop/hive/ql/io/parquet/write/DataWritableWriteSupport.java: does not exist in index error: src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java: does not exist in index error: java/org/apache/hadoop/hive/common/type/Timestamp.java: does not exist in index error: cannot apply binary patch to 'parquet_historical_timestamp_legacy.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'parquet_historical_timestamp_legacy.parq' without full index line error: parquet_historical_timestamp_legacy.parq: patch does not apply error: cannot apply binary patch to 'parquet_historical_timestamp_new.parq' without full index line Falling back to three-way merge... error: cannot apply binary patch to 'parquet_historical_timestamp_new.parq' without full index line error: parquet_historical_timestamp_new.parq: patch does not apply error: java/org/apache/hadoop/hive/ql/io/parquet/convert/ETypeConverter.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/read/DataWritableReadSupport.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/timestamp/NanoTimeUtils.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/vector/BaseVectorizedColumnReader.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/vector/ParquetDataColumnReaderFactory.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedPrimitiveColumnReader.java: does not exist in index error: java/org/apache/hadoop/hive/ql/io/parquet/write/DataWritableWriteSupport.java: does not exist in index error: test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java: does not exist in index The patch does not appear to apply with p0, p1, or p2 + result=1 + '[' 1 -ne 0 ']' + rm -rf yetus_PreCommit-HIVE-Build-16602 + exit 1 ' {noformat} This message is automatically generated. ATTACHMENT ID: 12963135 - PreCommit-HIVE-Build > Restore historical way of handling timestamps in Parquet while keeping the > new semantics at the same time > --------------------------------------------------------------------------------------------------------- > > Key: HIVE-21290 > URL: https://issues.apache.org/jira/browse/HIVE-21290 > Project: Hive > Issue Type: Sub-task > Reporter: Zoltan Ivanfi > Assignee: Karen Coppage > Priority: Major > Attachments: HIVE-21290.1.patch > > > This sub-task is for implementing the Parquet-specific parts of the following > plan: > h1. Problem > Historically, the semantics of the TIMESTAMP type in Hive depended on the > file format. Timestamps in Avro, Parquet and RCFiles with a binary SerDe had > _Instant_ semantics, while timestamps in ORC, textfiles and RCFiles with a > text SerDe had _LocalDateTime_ semantics. > The Hive community wanted to get rid of this inconsistency and have > _LocalDateTime_ semantics in Avro, Parquet and RCFiles with a binary SerDe as > well. *Hive 3.1 turned off normalization to UTC* to achieve this. While this > leads to the desired new semantics, it also leads to incorrect results when > new Hive versions read timestamps written by old Hive versions or when old > Hive versions or any other component not aware of this change (including > legacy Impala and Spark versions) read timestamps written by new Hive > versions. > h1. Solution > To work around this issue, Hive *should restore the practice of normalizing > to UTC* when writing timestamps to Avro, Parquet and RCFiles with a binary > SerDe. In itself, this would restore the historical _Instant_ semantics, > which is undesirable. In order to achieve the desired _LocalDateTime_ > semantics in spite of normalizing to UTC, newer Hive versions should record > the session-local local time zone in the file metadata fields serving > arbitrary key-value storage purposes. > When reading back files with this time zone metadata, newer Hive versions (or > any other new component aware of this extra metadata) can achieve > _LocalDateTime_ semantics by *converting from UTC to the saved time zone > (instead of to the local time zone)*. Legacy components that are unaware of > the new metadata can read the files without any problem and the timestamps > will show the historical Instant behaviour to them. -- This message was sent by Atlassian JIRA (v7.6.3#76005)