[
https://issues.apache.org/jira/browse/HIVE-22402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17062229#comment-17062229
]
Hive QA commented on HIVE-22402:
--------------------------------
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12984201/HIVE-22402.4.patch
{color:red}ERROR:{color} -1 due to build exiting with an error
Test results:
https://builds.apache.org/job/PreCommit-HIVE-Build/21169/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/21169/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-21169/
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'
2020-03-19 02:06:51.634
+ [[ -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-21169/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'
2020-03-19 02:06:51.636
+ cd apache-github-source-source
+ git fetch origin
+ git reset --hard HEAD
HEAD is now at 2c5a109 HIVE-22955 PreUpgradeTool can fail because access to
CharsetDecoder is not synchronized (Gergely Hanko, reviewed by Miklos Gergely)
+ git clean -f -d
Removing ${project.basedir}/
Removing itests/${project.basedir}/
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 2c5a109 HIVE-22955 PreUpgradeTool can fail because access to
CharsetDecoder is not synchronized (Gergely Hanko, reviewed by Miklos Gergely)
+ git merge --ff-only origin/master
Already up-to-date.
+ date '+%Y-%m-%d %T.%3N'
2020-03-19 02:06:52.567
+ rm -rf ../yetus_PreCommit-HIVE-Build-21169
+ mkdir ../yetus_PreCommit-HIVE-Build-21169
+ git gc
+ cp -R . ../yetus_PreCommit-HIVE-Build-21169
+ mkdir /data/hiveptest/logs/PreCommit-HIVE-Build-21169/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
Trying to apply the patch with -p0
error: a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java: does not
exist in index
error: a/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java: does not exist in
index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java: does not
exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java: does
not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/SparkHashTableSinkOperator.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java: does not
exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkDynamicPartitionPruner.java:
does not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkMapRecordHandler.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlan.java: does
not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlanGenerator.java:
does not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkRecordHandler.java:
does not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkReduceRecordHandler.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java: does
not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MapRecordProcessor.java: does
not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MergeFileRecordProcessor.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/RecordProcessor.java:
does not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java:
does not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java: does not
exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/io/CombineHiveInputFormat.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppender.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java: does not
exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Transform.java: does
not exist in index
error:
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java: does
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java: does not
exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java:
does not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java: does
not exist in index
Trying to apply the patch with -p1
error: patch failed: ql/src/java/org/apache/hadoop/hive/ql/Driver.java:22
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/Driver.java' with
conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java:32
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java'
cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlan.java:31
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlan.java' cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java:125
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java' with
conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java:234
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java'
cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java:389
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java:2184
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java:19
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java:17
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java' with
conflicts.
Going to apply patch with: git apply -p1
error: patch failed: ql/src/java/org/apache/hadoop/hive/ql/Driver.java:22
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/Driver.java' with
conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java:32
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java'
cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlan.java:31
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkPlan.java' cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java:125
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java' with
conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java:234
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java'
cleanly.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java:389
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java:2184
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java:19
Falling back to three-way merge...
Applied patch to 'ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java'
with conflicts.
error: patch failed:
ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java:17
Falling back to three-way merge...
Applied patch to
'ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java' with
conflicts.
U ql/src/java/org/apache/hadoop/hive/ql/Driver.java
U ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java
U ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java
U ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
U ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java
U ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java
+ result=1
+ '[' 1 -ne 0 ']'
+ rm -rf yetus_PreCommit-HIVE-Build-21169
+ exit 1
'
{noformat}
This message is automatically generated.
ATTACHMENT ID: 12984201 - PreCommit-HIVE-Build
> Deprecate and Replace Hive PerfLogger
> -------------------------------------
>
> Key: HIVE-22402
> URL: https://issues.apache.org/jira/browse/HIVE-22402
> Project: Hive
> Issue Type: Improvement
> Affects Versions: 4.0.0
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Major
> Attachments: HIVE-22402.1.patch, HIVE-22402.2.patch,
> HIVE-22402.3.patch, HIVE-22402.4.patch
>
>
> Recently I wanted to add some additional capability, and add more,
> performance logging to support my troubleshooting efforts. I started looking
> at PerfLogger and started to examine its usage. I discovered a few things:
> # Since 'loggers' must be open and closed manually, I found a couple of
> places where loggers were opened, but not closed, rendering them useless
> # Since 'loggers' must be closed manually, I found a few places where an
> early-return or Exception thrown would cause a logger to not be closed,
> thereby rendering it useless
> # Session information is not logged, so it can be difficult to precisely
> pinpoint which session is taking lots of time
> # PerfLogger overloaded. Most of the time, it's being used as a simple timer
> mechanism with automatic logging in SLF4J debug. However, it is also a facade
> over the Hive Metrics subsystem and timing results are automatically
> published to Metrics and then there becomes this dependency on a 'logger' to
> be able to access metric data as well.
> The last bullet is the most challenging part and why I propose to deprecate
> the Hive {{PerfLogger}} and not simply remove it. I am proposing a new
> system... a {{PerfTimer}} that is allows for Java 8's try-with-resources
> feature to protect against the developer having to care about manually close
> measurements and not having to carefully consider all early-exits. The base
> implementation logs to SLF4J. An extended version automatically publishes to
> the Hive Metric subsystem as well.
> The current Hive {{PerfLogger}} has a bit of a clunky system for allowing
> plugable implementations. However, the current default implementation has a
> side-effect of also publishing timing information to the Hive Metrics
> subsystem. There are code sections that look up various timers in the Metrics
> Subsytem and publish the results back to the client. Since, in theory, the
> implementation is plugable, any other implementation that does not also have
> this side-effect of also publishing to the Metrics Subsystem will break these
> non-optional code paths. Also, these code paths create and interact with
> {{PerfLoggers in a static way, and then the publishing code pulls the data
> from the {{PerfLogger}}}} (as a facade to the Metrics subsystem) in a static
> way. Therefore, when I tried to replace the entire {{PerfLogger}} code, I
> came across an issue because there is not (and should not) be a way to just
> statically pull this information down from any point in the code. Information
> that is required for publishing should be passed around within some sort of
> context object, separate from the Metrics subsystem. There was no obvious way
> to string a new {{PerfTimer}} to all the required locations. I propose
> marking the {{PerfLogger}} as deprecated and leaving these complex section
> alone. Instead, replace only the simple "I want a timer" use cases.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)