mirror of
https://github.com/apache/impala.git
synced 2025-12-19 09:58:28 -05:00
Some tests saw log spew that causes the INFO log files to be filled with output like this: E0903 02:25:39.453887 12060 TransactionKeepalive.java:137] Unexpected exception thrown Java exception follows: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/apache/impala/common/TransactionKeepalive$HeartbeatContext at org.apache.impala.common.TransactionKeepalive$DaemonThread.run(TransactionKeepalive.java:114) at java.lang.Thread.run(Thread.java:748) ... It turns out that the catalogd/impalad use a CLASSPATH in tests that refers to fe/target/classes. The maven command that runs frontend tests recompiles these classes and causes the files in fe/target/classes to be deleted and recreated. There are race conditions where this causes the symptoms above. This changes the CLASSPATH to use the frontend jars, which are not impacted by the machinations on fe/target/classes. To find the appropriate jar, set-classpath.sh needs to know the Impala version. This adds IMPALA_VERSION in bin/impala-config.sh to provide an easy to use environment variable. To make the versioning more uniform, this modifies bin/save-version.sh to use this environment variable. It also adds a check to make sure that the Java pom.xml files use the same version as the environment variable. It fails the build if the Java pom.xml files do not match. Testing: - Ran core jobs - Checked the log file sizes on jobs - Changed a Java pom.xml's version and verified that bin/validate-java-pom-versions.sh fails Change-Id: Id35544e446c5bf283c322d3fe2e7ad475cfa12eb Reviewed-on: http://gerrit.cloudera.org:8080/18415 Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Reviewed-by: Michael Smith <michael.smith@cloudera.com> Reviewed-by: Quanlong Huang <huangquanlong@gmail.com>
36 lines
1.4 KiB
Bash
Executable File
36 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# Generates the impala version and build information.
|
|
# Note: for internal (aka pre-release) versions, the version should have
|
|
# "-INTERNAL" appended. Parts of the code will look for this to distinguish
|
|
# between released and internal versions.
|
|
VERSION=${IMPALA_VERSION}
|
|
GIT_HASH=$(git rev-parse HEAD 2> /dev/null)
|
|
if [ -z $GIT_HASH ]
|
|
then
|
|
GIT_HASH="Could not obtain git hash"
|
|
fi
|
|
|
|
BUILD_TIME=`date`
|
|
HEADER="# Generated version information from save-version.sh"
|
|
echo -e \
|
|
"${HEADER}\nVERSION: ${VERSION}\nGIT_HASH: ${GIT_HASH}\nBUILD_TIME: ${BUILD_TIME}"\
|
|
> $IMPALA_HOME/bin/version.info
|