Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
79048f9
TEZ-4228: TezClassLoader should be used in TezChild and for Configura…
abstractdog Sep 1, 2020
1fba8f7
TEZ-4230: LocalContainerLauncher can kill task future too early, caus…
abstractdog Sep 8, 2020
629714a
TEZ-4233: Map task should be blamed earlier for local fetch failures …
abstractdog Sep 28, 2020
d0f4987
TEZ-4234: Compressor can cause IllegalArgumentException in Buffer.lim…
abstractdog Oct 6, 2020
6e9c1b2
TEZ-4238: Check null mrReader in MRInput.close (László Bodor reviewed…
abstractdog Oct 6, 2020
16a0050
TEZ-4229: Improve TezLocalCacheManager to use configured root directo…
abstractdog Oct 13, 2020
970d46b
TEZ-4070: SSLFactory not closed in DAGClientTimelineImpl caused nativ…
abstractdog Oct 14, 2020
6c53307
TEZ-4243: Changes for 0.10.0 release (László Bodor reviewed by Jonath…
abstractdog Oct 22, 2020
4c33901
TEZ-4237: Upgrade async-http-client-1.9.40 due to CVE-2017-14063 (Lás…
abstractdog Nov 11, 2020
989d286
TEZ-4248: MRReaderMapred should propagate properties based on config …
marton-bod Nov 21, 2020
938d6a1
TEZ-4251: Acquiring locks for getInputVertices and getOutputVertices …
rbalamohan Nov 24, 2020
dadc09f
TEZ-4244: Consider using RawLocalFileSystem in LocalDiskFetchedInput …
rbalamohan Dec 1, 2020
51953a6
TEZ-4256 : Reduce key comparisons in reducer side (Rajesh Balamohan v…
rbalamohan Dec 7, 2020
b2a0511
TEZ-4253: Revert TEZ-4170 (Mustafa İman via Attila Magyar, Ashutosh C…
mustafaiman Dec 7, 2020
1f1a177
TEZ-4258. Fix travisci build
lewismc Dec 11, 2020
849e1d7
TEZ-4258. Fix travisci build (addendum 1)
lewismc Dec 11, 2020
979bf5d
TEZ-3706. add option to skip Tez UI build
abstractdog Jan 15, 2021
fb81c11
TEZ-4261. Fix Javadoc warnings
lewismc Jan 15, 2021
c2d48a6
TEZ-4095: Review of Debug Logging (#87)
belugabehr Jan 20, 2021
f481d38
TEZ-4265. Tez UI doesn't show Load Counters button if any of the Dags…
ericbadger Jan 22, 2021
7c71780
TEZ-4264: Make vertex id available from MROutputCommitter (Marton Bod…
marton-bod Jan 25, 2021
7374b69
TEZ-4268: Buffer File Read of TEZ AM Local Resources PB File (#91)
belugabehr Jan 25, 2021
04597c7
TEZ-3985: Correctness: Throw a clear exception for DMEs sent during c…
rbalamohan Jan 27, 2021
033ba91
TEZ-4240: Remove SHA-256 from Tez (László Bodor reviewed by Jonathan …
abstractdog Jan 28, 2021
41ff945
TEZ-4269: Re-Work Threadpool in DAGAppMaster (#92)
belugabehr Jan 28, 2021
61a28c7
TEZ-4236: DAGClientServer is not really needed to be started/used in …
abstractdog Jan 28, 2021
0d3b428
TEZ-4266: Make Tez Inherit From Apache POM (#89)
belugabehr Jan 28, 2021
73bcabd
TEZ-4277: AsyncDispatcher can hang on serviceStop if the eventhandlin…
abstractdog Feb 1, 2021
26759e0
TEZ-4273: Clear off staging files when TezYarnClient is unable to sub…
rbalamohan Feb 8, 2021
601d1f3
TEZ-4283: Docker fails to build on master - upgrade to nodejs10 (#104)
abstractdog Feb 8, 2021
cd05486
TEZ-4273: Clear off staging files when TezYarnClient is unable to sub…
abstractdog Feb 8, 2021
1847817
TEZ-4281: dag_*_priority.dot files should go into a valid log directo…
abstractdog Feb 8, 2021
84b5bd6
TEZ-4282: Possible NPE in LocalClient after TEZ-4236 (#103) (Laszlo B…
abstractdog Feb 9, 2021
851e9d8
TEZ-4278: Show PR link in Jira (#99)
abstractdog Feb 9, 2021
a42e170
TEZ-3966: Fix config file mime type (#26)
rlukin Feb 10, 2021
f88aa6f
TEZ-4290: Dockerfile improvements (#111) (Laszlo Bodor reviewed by Jo…
abstractdog Feb 12, 2021
29495f3
TEZ-4259: Create Jenkinsfile for use with tez-multibranch (github yet…
Feb 12, 2021
f9c96b2
TEZ-4241. UI: containerLogs testWrapper test fails (review by Bodor L…
Feb 12, 2021
b4152fc
TEZ-4288: Upgrade SLF4J to 1.7.30 (#109)
belugabehr Feb 12, 2021
7d32807
TEZ-4025. javadoc compilation is broken in jdk11 (review by Bodor Las…
Feb 14, 2021
3089d47
TEZ-4286: Consider sending fewer emails from github to dev@tez.apache…
abstractdog Feb 14, 2021
70623f0
TEZ-4289: Remove Dependency on commons-math (#110)
belugabehr Feb 17, 2021
2fefe4a
TEZ-4291: Fancy precommit report on PR (#112)
abstractdog Feb 18, 2021
2dcbe0b
fix typo: missing space (#59)
jacobtolar Mar 5, 2021
2b671d6
TEZ-4299: Default java opts cause jdk11 to fail (#116) (Laszlo Bodor …
abstractdog Apr 5, 2021
b934644
TEZ-4302: NullPointerException in CodecUtils with GzipCodec (#117) (X…
jshmchenxi Apr 10, 2021
aea0707
TEZ-4279: Add vertexId into vertex status for dag clients (#101) (Las…
abstractdog Apr 15, 2021
0184781
TEZ-4157: ShuffleHandler: upgrade to Netty4 and remove Netty3 depende…
abstractdog Apr 23, 2021
867e4d2
TEZ-4296 - Use listStatusIterator instead of listStatus in DatePartit…
harishjp May 18, 2021
4d37914
TEZ-4305: Check StreamCapabilities before using HFLUSH from ProtoMess…
kishendas May 20, 2021
0af54df
TEZ-4309: TezUtils.addToConfFromByteString throws com.google.protobuf…
ramesh0201 May 20, 2021
b6c7fed
TEZ-4295: Could not decompress data. Buffer length is too small. (#13…
abstractdog Jun 16, 2021
d443ae2
TEZ-4298: ShuffleHandler is not source compatible with Hadoop 3.3.0 (…
abstractdog Jun 22, 2021
26b86e7
TEZ-3918. Setting tez.task.log.level does not work
Jun 28, 2021
984d09c
TEZ-4275: Use Google Guava Intern Facility (#95)
belugabehr Jun 30, 2021
5eeccf0
TEZ-4308: Add Whitespace in ShuffleScheduler Error Message (#122)
belugabehr Jun 30, 2021
4684d06
TEZ-4313: Apache Tez Release 0.10.1 (#134)
abstractdog Jun 30, 2021
47a59ab
TEZ-4267: Remove Superfluous Code from DAGAppMaster (#90)
belugabehr Jun 30, 2021
8f3044c
TEZ-4314: Fix some plugin versions in site generation (#131)
abstractdog Jun 30, 2021
b31501d
TEZ-4125: Upgrade to Hadoop 3.2.x (#126)
abstractdog Jun 30, 2021
464d86d
TEZ-4214. Upgrade RoaringBitmap version to 0.7.45 (#74)
medb Jul 9, 2021
3f541d0
TEZ-4231: Fix multiple history parser and event converter issues (#12…
abstractdog Aug 9, 2021
f56075c
TEZ-4321: Do Not Wrap Singleton Collections (#138)
belugabehr Aug 9, 2021
fc63c04
TEZ-4293: Use Tez credentials for CI (#141)
abstractdog Aug 10, 2021
8c97365
TEZ-4323: Jetty jars were removed from dist package with TEZ-4114 (#1…
tasanuma Aug 19, 2021
e2c4ee0
TEZ-4328. Import external tez component em-helpers (#145)
jteagles Aug 24, 2021
0ccf440
TEZ-4329. Import external tez component em-table (#146)
jteagles Aug 26, 2021
c875b82
TEZ-4332: Change ASF logo on Tez webpage according to recent guidelin…
abstractdog Aug 26, 2021
58fca8b
TEZ-4180: Show convenient input -> output vertex names in output/sort…
abstractdog Oct 14, 2021
3326978
TEZ-4342: TestSecureShuffle is broken - No subject alternative names …
abstractdog Oct 25, 2021
6863a2d
TEZ-4336: ShuffleScheduler should try to report the original exceptio…
abstractdog Nov 2, 2021
f39a51e
TEZ-4339: Expose real-time memory consumption of AM and task containe…
abstractdog Nov 2, 2021
211b59b
TEZ-4338: Tez should consider node information to realize OUTPUT_LOST…
abstractdog Nov 19, 2021
8a75317
TEZ-4353: Update commons-io to 2.8.0 (#165) (D M Murali Krishna Reddy…
dmmkr Nov 25, 2021
bf616b2
TEZ-4294. Tez UI counters missing in settings view (#144) (Jonathan E…
jteagles Dec 25, 2021
8f846dc
TEZ-4303: Exclude compile-time httpclient dependency from Tez (#119) …
abstractdog Dec 26, 2021
c9b8e90
TEZ-4270: HeartbeatHandlerBase Does Not Need Stop Condition (#93) (Da…
belugabehr Dec 26, 2021
a602a07
TEZ-4349. DAGClient gets stuck with invalid cached DAGStatus (#161) (…
amahussein Jan 3, 2022
56a7bf4
TEZ-4354: Update netty to 4.1.61.Final (#164) (D M Murali Krishna Red…
dmmkr Jan 3, 2022
7e09dfa
TEZ-4364: TestFaultTolerance timeout on master (#171) (Laszlo Bodor r…
abstractdog Jan 3, 2022
227c750
TEZ-4351: ShuffleHandler port should respect value in config (#163) (…
abstractdog Jan 5, 2022
4953f29
TEZ-4167. Speed up TestPipelinedSorter (#174) (Jonathan Eagles review…
jteagles Jan 6, 2022
a6a936d
TEZ-4311: Bump hadoop dependency version to 3.3.x (#132) (Laszlo Bodo…
abstractdog Jan 6, 2022
41cbc17
TEZ-4276: Clean Up Use of Preconditions (#96) (David Mollitor reviewe…
belugabehr Jan 12, 2022
0b3f3b6
TEZ-4376: Remove javax.security from the tez-auxservices shaded jar (…
abstractdog Jan 16, 2022
cc8249e
TEZ-4340: Show convenient input -> output vertex names in input messa…
csjuhasz-c Jan 17, 2022
0210dab
TEZ-4310: Avoid duplicated precommit comments (#176)
abstractdog Jan 21, 2022
02d574f
TEZ-4369: Upgrade netty to 4.1.72 due to CVE-2021-37136, CVE-2021-371…
abstractdog Jan 21, 2022
267ca11
TEZ-4366: Disk utilization limit fix should be applied to all tez min…
abstractdog Jan 21, 2022
1176386
TEZ-4350: Remove synchronized from DAGAppMaster.serviceInit (#162)
abstractdog Jan 21, 2022
4e3eb95
TEZ-4129: Delete intermediate attempt data for failed attempts for Sh…
shameersss1 Jan 27, 2022
6d7ef20
TEZ-4381: Speed up TestSecureShuffle (#180) (Mark Bathori reviewed by…
mark-bathori Jan 30, 2022
7b66d3d
TEZ-4227 Introduce convenient methods in TezID subclasses (#166) (Ger…
ghanko Feb 10, 2022
9f4cb31
TEZ-4379 Tez Hive Queries query page rows does not go over (#183) (Cs…
ghanko Feb 14, 2022
f62bf12
TEZ-4384: Remove unused EnvironmentUpdateUtils remaining from TEZ-183…
LA-Toth Feb 15, 2022
a495fb6
TEZ-4389: TestSecureShuffle fails if localhost name is different than…
mark-bathori Feb 18, 2022
5241f58
TEZ-4300: Download protoc automatically compile/development time (#115)
abstractdog Feb 18, 2022
fa74b95
TEZ-4388: Asynchttpclient can cause stuck TezChild processes (#189) (…
abstractdog Feb 22, 2022
132ea4c
TEZ-4359: ShuffleHandler: Make sure of properly releasing netty refer…
mark-bathori Mar 10, 2022
20873a3
TEZ-3363: Delete intermediate data at the vertex level for Shuffle Ha…
shameersss1 Mar 16, 2022
f724c54
TEZ-4397 Open Tez Input splits asynchronously
ramesh0201 Mar 24, 2022
3e452e9
TEZ-4399: ShuffleHandler fails with SSLHandshakeException not found w…
himanshu-mishra Apr 1, 2022
627f330
TEZ-4398: Gitignore pyc files (#199) (Csaba Juhasz reviewed by Laszlo…
csjuhasz-c Apr 14, 2022
9f8d6fb
Create a FileSystem for given Path (#201)
guptanikhil007 Apr 25, 2022
2a9495a
TEZ-4411: Update FileSaver dependency (#206) (Nikhil Gupta reviewed b…
guptanikhil007 Apr 29, 2022
4d1a860
TEZ-4403: Upgrade SLF4J Version To 1.7.36 (#198) (Syed Shameerur Rahm…
shameersss1 Apr 30, 2022
75876fc
TEZ-4405: Replace log4j 1.x with reload4j (#200) (D M Murali Krishna …
dmmkr May 2, 2022
798ddda
TEZ-4347: Add some diagnostic endpoints to TezAM's WebUIService (#160…
abstractdog May 4, 2022
98a81b1
TEZ-4412 ensure mkDirForAM create directory with special permissions …
skysiders May 10, 2022
ba851fa
TEZ-4417: Missing wget command in docker image (#210) (Mark Bathori r…
mark-bathori May 29, 2022
24a77c9
TEZ-4409: Upgrade async-http-client to 2.12.3 to resolve CVE (#204) (…
dmmkr May 29, 2022
cf9e3ff
TEZ-4421: Missing sudo command in docker image (#214) (Mark Bathori r…
mark-bathori Jun 1, 2022
e5a5578
TEZ-4383: upgrade to mockito 4.3.1 (#190) (Laszlo Attila Toth reviewe…
LA-Toth Jun 6, 2022
86dc4fd
TEZ-4038: Add a /prof profiler endpoint like HiveServer2 has (#212) (…
johnnyCake1 Jun 10, 2022
3da8438
[TEZ-4422] [CVE-2021-43138] Upgrade async from 2.3.0 to 2.6.4 to fix …
amanraj2520 Jun 15, 2022
c6eb047
[TEZ-4423][CVE-2021-44906] Upgrade minimist version from 0.0.8 to 1.2…
amanraj2520 Jun 15, 2022
8ffa32d
[TEZ-4424][CVE-2021-3918] Upgrade json-schema from 0.2.3 to 0.4.0 to …
amanraj2520 Jun 20, 2022
1ab7fc9
[TEZ-4425][WS-2020-0345] Upgrade jsonpointer version from 4.0.1 to 4.…
amanraj2520 Jun 20, 2022
5f181ea
TEZ-4429: Upgrade guava to 31.1 to fix CVE-2020-8908. (#223) (Ayush S…
ayushtkn Jun 20, 2022
f25831e
TEZ-4428: Use protoc-jar-maven-plugin to generate protobuf classes (#…
mark-bathori Jun 21, 2022
adcc313
TEZ-4426: [CVE-2018-1000620] Upgrade cryptiles from 2.0.5 to 4.1.2 (#…
amanraj2520 Jun 21, 2022
be40104
[TEZ-4427][CVE-2019-10744] Upgrade lodash.merge version to 4.6.2 to f…
amanraj2520 Jun 30, 2022
06fff5c
TEZ-4430: Fix tez.task.launch.cmd-opts property not working (#228) (G…
ganeshashree Jul 4, 2022
a192ec4
Revert "TEZ-4397 Open Tez Input splits asynchronously"
abstractdog Jul 4, 2022
c386865
TEZ-4363: Bump protobuf dependency to 3.x (#192) (Mark Bathori review…
mark-bathori Jul 22, 2022
5e31e4d
[TEZ-4439] Update the protobuf documentation in TEZ codebase (#233) (…
amanraj2520 Jul 26, 2022
621a831
TEZ-4435: use jackson v2 - jackson v1 is EOL and full of security iss…
pjfanning Aug 2, 2022
db915eb
TEZ-4440. When tez app run in yarn fed cluster, may throw NPE (#235) …
zhengchenyu Aug 29, 2022
55b6031
TEZ-4441: TezAppMaster may stuck because of reportError skip send err…
zhengchenyu Aug 29, 2022
de88f2a
TEZ-4447: Collect VertexStatus properly when DAGClientServer is not u…
abstractdog Sep 14, 2022
921de53
TEZ-4431: Apache Tez Release 0.10.2: update SNAPSHOT versions, DOAP f…
abstractdog Oct 10, 2022
40e9e0f
TEZ-4449: Upgrade jettison to 1.5.1 to fix CVE-2022-40149. (#242) (fa…
slfan1989 Oct 23, 2022
ddb53cb
TEZ-4448: Cannot submit Tez job when dag size is exceeds `ipc.maximum…
kkolman Oct 23, 2022
fc5b6e9
TEZ-4453: Fix Typo of LocalClient. (#245) (slfan1989 reviewed by Lasz…
slfan1989 Oct 24, 2022
dbbd406
TEZ-4039: Tez should inject dag id, query id into MDC (#98) (Laszlo B…
abstractdog Oct 26, 2022
8ebc4b0
TEZ-4450: Shuffle data fetch fails when shuffle data is transferred v…
ganeshashree Oct 26, 2022
8bb27b8
TEZ-4454: remove extra commas. (#246) (slfan1989 reviewed by Laszlo B…
slfan1989 Nov 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 22 additions & 6 deletions build-tools/install-protobuf.sh → .asf.yaml
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/bin/sh

# 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
Expand All @@ -16,7 +14,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.

set -ex
wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
tar -xzvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0 && ./configure --prefix=/usr && make && sudo make install
github:
description: "Apache Tez"
homepage: https://tez.apache.org/
labels:
- tez
- java
- apache
- big-data
- hadoop
features:
wiki: false
issues: false
projects: false
enabled_merge_buttons:
squash: true
merge: false
rebase: false
notifications:
commits: commits@tez.apache.org
issues: issues@tez.apache.org
pullrequests: issues@tez.apache.org
jira_options: link label worklog
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.ipr
*.iws
*.DS_Store
*.pyc
.idea
.svn
.classpath
Expand Down
9 changes: 3 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.

dist: trusty

language: java

sudo: required

env: MAVEN_OPTS="-Xmx2G -XX:MaxPermSize=512M"

jdk:
- oraclejdk8

before_install:
- ./build-tools/install-protobuf.sh

script:
- jdk_switcher use oraclejdk8
- mvn -B clean install package -DskipTests=true -Dmaven.javadoc.skip=true

27 changes: 20 additions & 7 deletions BUILDING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Requirements:
* JDK 1.8+
* Maven 3.1 or later
* Findbugs 2.0.2 or later (if running findbugs)
* ProtocolBuffer 2.5.0
* ProtocolBuffer 3.21.1
* Internet connection for first build (to fetch all dependencies)
* Hadoop version should be 2.7.0 or higher.

Expand Down Expand Up @@ -104,16 +104,29 @@ Issue with PhantomJS on building in PowerPC.
please try installing PhantomJS manually and rerun. Refer https://github.com/ibmsoe/phantomjs-1/blob/v2.1.1-ppc64/README.md
and install it globally for the build to work.

----------------------------------------------------------------------------------
Skip UI build:

In case you want to completely skip UI build, you can use 'noui' profile.
For instance, a full build without tests and tez-ui looks like:

$ mvn clean install -DskipTests -Pnoui

It's important to note that maven will still include tez-ui project, but all of the maven plugins are skipped.

----------------------------------------------------------------------------------
Protocol Buffer compiler:

The version of Protocol Buffer compiler, protoc, must be 2.5.0 and match the
version of the protobuf JAR.
The version of Protocol Buffer compiler, protoc, can be defined on-the-fly as:
$ mvn clean install -DskipTests -pl ./tez-api -Dprotobuf.version=3.7.1

The default version is defined in the root pom.xml.

If you have multiple versions of protoc in your system, you can set in your
build shell the PROTOC_PATH environment variable to point to the one you
want to use for the Tez build. If you don't define this environment variable,
protoc is looked up in the PATH.
If you have multiple versions of protoc in your system, you can set in your
build shell the PROTOC_PATH environment variable to point to the one you
want to use for the Tez build. If you don't define this environment variable then the
embedded protoc compiler will be used with the version defined in ${protobuf.version}.
It detects the platform and executes the corresponding protoc binary at build time.

You can also specify the path to protoc while building using -Dprotoc.path

Expand Down
215 changes: 215 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
// 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.

pipeline {

agent {
label 'Hadoop'
}

options {
buildDiscarder(logRotator(numToKeepStr: '5'))
timeout (time: 20, unit: 'HOURS')
timestamps()
checkoutToSubdirectory('src')
}

environment {
SOURCEDIR = 'src'
// will also need to change notification section below
PATCHDIR = 'out'
DOCKERFILE = "${SOURCEDIR}/build-tools/docker/Dockerfile"
YETUS='yetus'
// Branch or tag name. Yetus release tags are 'rel/X.Y.Z'
YETUS_VERSION='rel/0.12.0'

}

parameters {
string(name: 'JIRA_ISSUE_KEY',
defaultValue: '',
description: 'The JIRA issue that has a patch needing pre-commit testing. Example: HADOOP-1234')
}

stages {
stage ('install yetus') {
steps {
dir("${WORKSPACE}/${YETUS}") {
checkout([
$class: 'GitSCM',
branches: [[name: "${env.YETUS_VERSION}"]],
userRemoteConfigs: [[ url: 'https://github.com/apache/yetus']]]
)
}
}
}

stage ('precommit-run') {
steps {
withCredentials(
[usernamePassword(credentialsId: 'apache-tez-at-github.com',
passwordVariable: 'GITHUB_TOKEN',
usernameVariable: 'GITHUB_USER'),
usernamePassword(credentialsId: 'tez-ci',
passwordVariable: 'JIRA_PASSWORD',
usernameVariable: 'JIRA_USER')]) {
sh '''#!/usr/bin/env bash

set -e

TESTPATCHBIN="${WORKSPACE}/${YETUS}/precommit/src/main/shell/test-patch.sh"

# this must be clean for every run
if [[ -d "${WORKSPACE}/${PATCHDIR}" ]]; then
rm -rf "${WORKSPACE}/${PATCHDIR}"
fi
mkdir -p "${WORKSPACE}/${PATCHDIR}"

# if given a JIRA issue, process it. If CHANGE_URL is set
# (e.g., Github Branch Source plugin), process it.
# otherwise exit, because we don't want Hadoop to do a
# full build. We wouldn't normally do this check for smaller
# projects. :)
if [[ -n "${JIRA_ISSUE_KEY}" ]]; then
YETUS_ARGS+=("${JIRA_ISSUE_KEY}")
elif [[ -z "${CHANGE_URL}" ]]; then
echo "Full build skipped" > "${WORKSPACE}/${PATCHDIR}/report.html"
exit 0
fi

YETUS_ARGS+=("--patch-dir=${WORKSPACE}/${PATCHDIR}")

# where the source is located
YETUS_ARGS+=("--basedir=${WORKSPACE}/${SOURCEDIR}")

# our project defaults come from a personality file
YETUS_ARGS+=("--project=tez")

# lots of different output formats
YETUS_ARGS+=("--brief-report-file=${WORKSPACE}/${PATCHDIR}/brief.txt")
YETUS_ARGS+=("--console-report-file=${WORKSPACE}/${PATCHDIR}/console.txt")
YETUS_ARGS+=("--html-report-file=${WORKSPACE}/${PATCHDIR}/report.html")

# enable writing back to Github
YETUS_ARGS+=(--github-user="${GITHUB_USER}")
YETUS_ARGS+=(--github-token="${GITHUB_TOKEN}")

# auto-kill any surefire stragglers during unit test runs
YETUS_ARGS+=("--reapermode=kill")

# set relatively high limits for ASF machines
# changing these to higher values may cause problems
# with other jobs on systemd-enabled machines
YETUS_ARGS+=("--proclimit=5500")
YETUS_ARGS+=("--dockermemlimit=20g")

# -1 findbugs issues that show up prior to the patch being applied
# YETUS_ARGS+=("--findbugs-strict-precheck")

# rsync these files back into the archive dir
YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,findbugsXml.xml")

# URL for user-side presentation in reports and such to our artifacts
# (needs to match the archive bits below)
YETUS_ARGS+=("--build-url-artifacts=artifact/out")

# plugins to enable
YETUS_ARGS+=("--plugins=all")

# use Hadoop's bundled shelldocs
YETUS_ARGS+=("--shelldocs=${WORKSPACE}/${SOURCEDIR}/dev-support/bin/shelldocs")

# don't let these tests cause -1s because we aren't really paying that
# much attention to them
YETUS_ARGS+=("--tests-filter=checkstyle")

# run in docker mode and specifically point to our
# Dockerfile since we don't want to use the auto-pulled version.
YETUS_ARGS+=("--docker")
YETUS_ARGS+=("--dockerfile=${DOCKERFILE}")
YETUS_ARGS+=("--mvn-custom-repos")

# effectively treat dev-suport as a custom maven module
YETUS_ARGS+=("--skip-dirs=dev-support")

# help keep the ASF boxes clean
YETUS_ARGS+=("--sentinel")

# use emoji vote so it is easier to find the broken line
YETUS_ARGS+=("--github-use-emoji-vote")

# test with Java 8 and 11
YETUS_ARGS+=("--java-home=/usr/lib/jvm/java-8-openjdk-amd64")
YETUS_ARGS+=("--multijdkdirs=/usr/lib/jvm/java-11-openjdk-amd64")
YETUS_ARGS+=("--multijdktests=compile")
YETUS_ARGS+=("--debug")

"${TESTPATCHBIN}" "${YETUS_ARGS[@]}"
'''
}
}
}

}

post {
always {
script {
// Yetus output
archiveArtifacts "${env.PATCHDIR}/**"
// Publish the HTML report so that it can be looked at
// Has to be relative to WORKSPACE.
publishHTML (target: [
allowMissing: true,
keepAll: true,
alwaysLinkToLastBuild: true,
// Has to be relative to WORKSPACE
reportDir: "${env.PATCHDIR}",
reportFiles: 'report.html',
reportName: 'Yetus Report'
])
// Publish JUnit results
try {
junit "${env.SOURCEDIR}/**/target/surefire-reports/*.xml"
} catch(e) {
echo 'junit processing: ' + e.toString()
}
}
}

// Jenkins pipeline jobs fill slaves on PRs without this :(
cleanup() {
script {
sh '''
# See YETUS-764
if [ -f "${WORKSPACE}/${PATCHDIR}/pidfile.txt" ]; then
echo "test-patch process appears to still be running: killing"
kill `cat "${WORKSPACE}/${PATCHDIR}/pidfile.txt"` || true
sleep 10
fi
if [ -f "${WORKSPACE}/${PATCHDIR}/cidfile.txt" ]; then
echo "test-patch container appears to still be running: killing"
docker kill `cat "${WORKSPACE}/${PATCHDIR}/cidfile.txt"` || true
fi
# See HADOOP-13951
chmod -R u+rxw "${WORKSPACE}"
'''
deleteDir()
}
}
}
}
21 changes: 21 additions & 0 deletions Tez_DOAP.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,27 @@
<download-page rdf:resource="http://tez.apache.org/releases/" />
<programming-language>Java</programming-language>
<category rdf:resource="http://projects.apache.org/category/big-data" />
<release>
<Version>
<name>Version 0.10.2</name>
<created>2022-07-30</created>
<revision>0.10.2</revision>
</Version>
</release>
<release>
<Version>
<name>Version 0.10.1</name>
<created>2021-07-01</created>
<revision>0.10.1</revision>
</Version>
</release>
<release>
<Version>
<name>Version 0.10.0</name>
<created>2020-10-15</created>
<revision>0.10.0</revision>
</Version>
</release>
<release>
<Version>
<name>Version 0.9.2</name>
Expand Down
2 changes: 2 additions & 0 deletions build-tools/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
protobuf

Loading