Skip to content

Commit be0e94c

Browse files
committed
merge with tc
2 parents f320785 + da575a5 commit be0e94c

File tree

929 files changed

+41268
-42896
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

929 files changed

+41268
-42896
lines changed

BUILDING.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ Maven build goals:
143143
* Run checkstyle : mvn compile checkstyle:checkstyle
144144
* Install JAR in M2 cache : mvn install
145145
* Deploy JAR to Maven repo : mvn deploy
146-
* Run clover : mvn test -Pclover [-DcloverLicenseLocation=${user.name}/.clover.license]
146+
* Run clover : mvn test -Pclover
147147
* Run Rat : mvn apache-rat:check
148148
* Build javadocs : mvn javadoc:javadoc
149149
* Build distribution : mvn package [-Pdist][-Pdocs][-Psrc][-Pnative][-Dtar][-Preleasedocs][-Pyarn-ui]

LICENSE-binary

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ commons-cli:commons-cli:1.2
249249
commons-codec:commons-codec:1.11
250250
commons-collections:commons-collections:3.2.2
251251
commons-daemon:commons-daemon:1.0.13
252-
commons-io:commons-io:2.5
252+
commons-io:commons-io:2.8.0
253253
commons-lang:commons-lang:2.6
254254
commons-logging:commons-logging:1.1.3
255255
commons-net:commons-net:3.6
@@ -468,8 +468,8 @@ com.microsoft.azure:azure-cosmosdb-gateway:2.4.5
468468
com.microsoft.azure:azure-data-lake-store-sdk:2.3.3
469469
com.microsoft.azure:azure-keyvault-core:1.0.0
470470
com.microsoft.sqlserver:mssql-jdbc:6.2.1.jre7
471-
org.bouncycastle:bcpkix-jdk15on:1.68
472-
org.bouncycastle:bcprov-jdk15on:1.68
471+
org.bouncycastle:bcpkix-jdk15on:1.60
472+
org.bouncycastle:bcprov-jdk15on:1.60
473473
org.checkerframework:checker-qual:2.5.2
474474
org.codehaus.mojo:animal-sniffer-annotations:1.17
475475
org.jruby.jcodings:jcodings:1.0.13
@@ -502,7 +502,7 @@ javax.xml.bind:jaxb-api:2.2.11
502502
Eclipse Public License 1.0
503503
--------------------------
504504

505-
junit:junit:4.12
505+
junit:junit:4.13.2
506506

507507

508508
HSQL License

dev-support/Jenkinsfile

Lines changed: 61 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ pipeline {
2323

2424
options {
2525
buildDiscarder(logRotator(numToKeepStr: '5'))
26-
timeout (time: 20, unit: 'HOURS')
26+
timeout (time: 24, unit: 'HOURS')
2727
timestamps()
2828
checkoutToSubdirectory('src')
2929
}
@@ -32,7 +32,6 @@ pipeline {
3232
SOURCEDIR = 'src'
3333
// will also need to change notification section below
3434
PATCHDIR = 'out'
35-
DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile"
3635
YETUS='yetus'
3736
// Branch or tag name. Yetus release tags are 'rel/X.Y.Z'
3837
YETUS_VERSION='f9ba0170a5787a5f4662d3769804fef0226a182f'
@@ -57,7 +56,17 @@ pipeline {
5756
}
5857
}
5958

60-
stage ('precommit-run') {
59+
// This is an optional stage which runs only when there's a change in
60+
// C++/C++ build/platform.
61+
// This stage serves as a means of cross platform validation, which is
62+
// really needed to ensure that any C++ related/platform change doesn't
63+
// break the Hadoop build on Centos 8.
64+
stage ('precommit-run Centos 8') {
65+
environment {
66+
DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile_centos_8"
67+
IS_OPTIONAL = 1
68+
}
69+
6170
steps {
6271
withCredentials(
6372
[usernamePassword(credentialsId: 'apache-hadoop-at-github.com',
@@ -68,100 +77,61 @@ pipeline {
6877
usernameVariable: 'JIRA_USER')]) {
6978
sh '''#!/usr/bin/env bash
7079
71-
set -e
72-
73-
TESTPATCHBIN="${WORKSPACE}/${YETUS}/precommit/src/main/shell/test-patch.sh"
74-
75-
# this must be clean for every run
76-
if [[ -d "${WORKSPACE}/${PATCHDIR}" ]]; then
77-
rm -rf "${WORKSPACE}/${PATCHDIR}"
78-
fi
79-
mkdir -p "${WORKSPACE}/${PATCHDIR}"
80-
81-
# if given a JIRA issue, process it. If CHANGE_URL is set
82-
# (e.g., Github Branch Source plugin), process it.
83-
# otherwise exit, because we don't want Hadoop to do a
84-
# full build. We wouldn't normally do this check for smaller
85-
# projects. :)
86-
if [[ -n "${JIRA_ISSUE_KEY}" ]]; then
87-
YETUS_ARGS+=("${JIRA_ISSUE_KEY}")
88-
elif [[ -z "${CHANGE_URL}" ]]; then
89-
echo "Full build skipped" > "${WORKSPACE}/${PATCHDIR}/report.html"
90-
exit 0
91-
fi
92-
93-
YETUS_ARGS+=("--patch-dir=${WORKSPACE}/${PATCHDIR}")
94-
95-
# where the source is located
96-
YETUS_ARGS+=("--basedir=${WORKSPACE}/${SOURCEDIR}")
97-
98-
# our project defaults come from a personality file
99-
YETUS_ARGS+=("--project=hadoop")
100-
YETUS_ARGS+=("--personality=${WORKSPACE}/${SOURCEDIR}/dev-support/bin/hadoop.sh")
101-
102-
# lots of different output formats
103-
YETUS_ARGS+=("--brief-report-file=${WORKSPACE}/${PATCHDIR}/brief.txt")
104-
YETUS_ARGS+=("--console-report-file=${WORKSPACE}/${PATCHDIR}/console.txt")
105-
YETUS_ARGS+=("--html-report-file=${WORKSPACE}/${PATCHDIR}/report.html")
106-
107-
# enable writing back to Github
108-
YETUS_ARGS+=(--github-token="${GITHUB_TOKEN}")
109-
110-
# enable writing back to ASF JIRA
111-
YETUS_ARGS+=(--jira-password="${JIRA_PASSWORD}")
112-
YETUS_ARGS+=(--jira-user="${JIRA_USER}")
113-
114-
# auto-kill any surefire stragglers during unit test runs
115-
YETUS_ARGS+=("--reapermode=kill")
116-
117-
# set relatively high limits for ASF machines
118-
# changing these to higher values may cause problems
119-
# with other jobs on systemd-enabled machines
120-
YETUS_ARGS+=("--proclimit=5500")
121-
YETUS_ARGS+=("--dockermemlimit=22g")
122-
123-
# -1 spotbugs issues that show up prior to the patch being applied
124-
YETUS_ARGS+=("--spotbugs-strict-precheck")
125-
126-
# rsync these files back into the archive dir
127-
YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,spotbugsXml.xml")
128-
129-
# URL for user-side presentation in reports and such to our artifacts
130-
# (needs to match the archive bits below)
131-
YETUS_ARGS+=("--build-url-artifacts=artifact/out")
132-
133-
# plugins to enable
134-
YETUS_ARGS+=("--plugins=all")
135-
136-
# don't let these tests cause -1s because we aren't really paying that
137-
# much attention to them
138-
YETUS_ARGS+=("--tests-filter=checkstyle")
139-
140-
# run in docker mode and specifically point to our
141-
# Dockerfile since we don't want to use the auto-pulled version.
142-
YETUS_ARGS+=("--docker")
143-
YETUS_ARGS+=("--dockerfile=${DOCKERFILE}")
144-
YETUS_ARGS+=("--mvn-custom-repos")
80+
chmod u+x "${SOURCEDIR}/dev-support/jenkins.sh"
81+
"${SOURCEDIR}/dev-support/jenkins.sh"
82+
'''
83+
}
84+
}
85+
}
14586

146-
# effectively treat dev-suport as a custom maven module
147-
YETUS_ARGS+=("--skip-dirs=dev-support")
87+
// This is an optional stage which runs only when there's a change in
88+
// C++/C++ build/platform.
89+
// This stage serves as a means of cross platform validation, which is
90+
// really needed to ensure that any C++ related/platform change doesn't
91+
// break the Hadoop build on Debian 10.
92+
stage ('precommit-run Debian 10') {
93+
environment {
94+
DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile_debian_10"
95+
IS_OPTIONAL = 1
96+
}
14897

149-
# help keep the ASF boxes clean
150-
YETUS_ARGS+=("--sentinel")
98+
steps {
99+
withCredentials(
100+
[usernamePassword(credentialsId: 'apache-hadoop-at-github.com',
101+
passwordVariable: 'GITHUB_TOKEN',
102+
usernameVariable: 'GITHUB_USER'),
103+
usernamePassword(credentialsId: 'hadoopqa-at-asf-jira',
104+
passwordVariable: 'JIRA_PASSWORD',
105+
usernameVariable: 'JIRA_USER')]) {
106+
sh '''#!/usr/bin/env bash
151107
152-
# test with Java 8 and 11
153-
YETUS_ARGS+=("--java-home=/usr/lib/jvm/java-8-openjdk-amd64")
154-
YETUS_ARGS+=("--multijdkdirs=/usr/lib/jvm/java-11-openjdk-amd64")
155-
YETUS_ARGS+=("--multijdktests=compile")
108+
chmod u+x "${SOURCEDIR}/dev-support/jenkins.sh"
109+
"${SOURCEDIR}/dev-support/jenkins.sh"
110+
'''
111+
}
112+
}
113+
}
156114

157-
# custom javadoc goals
158-
YETUS_ARGS+=("--mvn-javadoc-goals=process-sources,javadoc:javadoc-no-fork")
115+
// We want to use Ubuntu Focal as our main CI and thus, this stage
116+
// isn't optional (runs for all the PRs).
117+
stage ('precommit-run Ubuntu focal') {
118+
environment {
119+
DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile"
120+
IS_OPTIONAL = 0
121+
}
159122

160-
# write Yetus report as GitHub comment (YETUS-1102)
161-
YETUS_ARGS+=("--github-write-comment")
162-
YETUS_ARGS+=("--github-use-emoji-vote")
123+
steps {
124+
withCredentials(
125+
[usernamePassword(credentialsId: 'apache-hadoop-at-github.com',
126+
passwordVariable: 'GITHUB_TOKEN',
127+
usernameVariable: 'GITHUB_USER'),
128+
usernamePassword(credentialsId: 'hadoopqa-at-asf-jira',
129+
passwordVariable: 'JIRA_PASSWORD',
130+
usernameVariable: 'JIRA_USER')]) {
131+
sh '''#!/usr/bin/env bash
163132
164-
"${TESTPATCHBIN}" "${YETUS_ARGS[@]}"
133+
chmod u+x "${SOURCEDIR}/dev-support/jenkins.sh"
134+
"${SOURCEDIR}/dev-support/jenkins.sh"
165135
'''
166136
}
167137
}

dev-support/bin/checkcompatibility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def run_java_acc(src_name, src_jars, dst_name, dst_jars, annotations):
175175

176176
if annotations is not None:
177177
annotations_path = os.path.join(get_scratch_dir(), "annotations.txt")
178-
with file(annotations_path, "w") as f:
178+
with open(annotations_path, "w") as f:
179179
for ann in annotations:
180180
print(ann, file=f)
181181
args += ["-annotations-list", annotations_path]

dev-support/bin/create-release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ function dockermode
514514

515515
echo "USER ${user_name}"
516516
printf "\n\n"
517-
) | docker build -t "${imgname}" -
517+
) | docker build -t "${imgname}" -f - "${BASEDIR}"/dev-support/docker/
518518

519519
run docker run -i -t \
520520
--privileged \

dev-support/bin/hadoop.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ function personality_modules
355355
fi
356356
;;
357357
unit)
358+
extra="-Dsurefire.rerunFailingTestsCount=2"
358359
if [[ "${BUILDMODE}" = full ]]; then
359360
ordering=mvnsrc
360361
elif [[ "${CHANGED_MODULES[*]}" =~ \. ]]; then
@@ -363,7 +364,7 @@ function personality_modules
363364

364365
if [[ ${TEST_PARALLEL} = "true" ]] ; then
365366
if hadoop_test_parallel; then
366-
extra="-Pparallel-tests"
367+
extra="${extra} -Pparallel-tests"
367368
if [[ -n ${TEST_THREADS:-} ]]; then
368369
extra="${extra} -DtestsThreadCount=${TEST_THREADS}"
369370
fi

0 commit comments

Comments
 (0)