Skip to content

Commit 685073a

Browse files
committed
Merge branch 'HDFS-17577' of github.com:liangyu-1/hadoop into HDFS-17577
merge
2 parents 9300f96 + f84aa72 commit 685073a

File tree

601 files changed

+23541
-7429
lines changed

Some content is hidden

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

601 files changed

+23541
-7429
lines changed

.github/workflows/website.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,5 @@ jobs:
5656
publish_dir: ./staging/hadoop-project
5757
user_name: 'github-actions[bot]'
5858
user_email: 'github-actions[bot]@users.noreply.github.com'
59+
force_orphan: true
5960

BUILDING.txt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,7 @@ Maven build goals:
163163
YARN Application Timeline Service V2 build options:
164164

165165
YARN Timeline Service v.2 chooses Apache HBase as the primary backing storage. The supported
166-
versions of Apache HBase are 1.7.1 (default) and 2.2.4.
167-
168-
* HBase 1.7.1 is used by default to build Hadoop. The official releases are ready to use if you
169-
plan on running Timeline Service v2 with HBase 1.7.1.
170-
171-
* Use -Dhbase.profile=2.0 to build Hadoop with HBase 2.2.4. Provide this option if you plan
172-
on running Timeline Service v2 with HBase 2.x.
173-
166+
version of Apache HBase is 2.5.8.
174167

175168
Snappy build options:
176169

@@ -653,6 +646,20 @@ container.
653646
-Dwindows.cmake.toolchain.file=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -Dwindows.cmake.build.type=RelWithDebInfo^
654647
-Dwindows.build.hdfspp.dll=off -Dwindows.no.sasl=on -Duse.platformToolsetVersion=v142
655648

649+
Building the release tarball:
650+
Assuming that we're still running in the Docker container hadoop-windows-10-builder, run the
651+
following command to create the Apache Hadoop release tarball -
652+
653+
> set IS_WINDOWS=1
654+
> set MVN_ARGS="-Dshell-executable=C:\Git\bin\bash.exe -Dhttps.protocols=TLSv1.2 -Pnative-win -Drequire.openssl -Dopenssl.prefix=C:\vcpkg\installed\x64-windows -Dcmake.prefix.path=C:\vcpkg\installed\x64-windows -Dwindows.cmake.toolchain.file=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -Dwindows.cmake.build.type=RelWithDebInfo -Dwindows.build.hdfspp.dll=off -Duse.platformToolsetVersion=v142 -Dwindows.no.sasl=on -DskipTests -DskipDocs -Drequire.test.libhadoop"
655+
> C:\Git\bin\bash.exe C:\hadoop\dev-support\bin\create-release --mvnargs=%MVN_ARGS%
656+
657+
Note:
658+
If the building fails due to an issue with long paths, rename the Hadoop root directory to just a
659+
letter (like 'h') and rebuild -
660+
661+
> C:\Git\bin\bash.exe C:\h\dev-support\bin\create-release --mvnargs=%MVN_ARGS%
662+
656663
----------------------------------------------------------------------------------
657664
Building distributions:
658665

LICENSE-binary

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,6 @@ com.aliyun:aliyun-java-sdk-kms:2.11.0
216216
com.aliyun:aliyun-java-sdk-ram:3.1.0
217217
com.aliyun:aliyun-java-sdk-sts:3.0.0
218218
com.aliyun.oss:aliyun-sdk-oss:3.13.2
219-
com.amazonaws:aws-java-sdk-bundle:1.12.599
220219
com.cedarsoftware:java-util:1.9.0
221220
com.cedarsoftware:json-io:2.5.1
222221
com.fasterxml.jackson.core:jackson-annotations:2.12.7
@@ -227,10 +226,11 @@ com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.7
227226
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.7
228227
com.fasterxml.uuid:java-uuid-generator:3.1.4
229228
com.fasterxml.woodstox:woodstox-core:5.4.0
229+
com.github.ben-manes.caffeine:caffeine:2.9.3
230230
com.github.davidmoten:rxjava-extras:0.8.0.17
231231
com.github.stephenc.jcip:jcip-annotations:1.0-1
232-
com.google:guice:4.0
233-
com.google:guice-servlet:4.0
232+
com.google:guice:5.1.0
233+
com.google:guice-servlet:5.1.0
234234
com.google.api.grpc:proto-google-common-protos:1.0.0
235235
com.google.code.gson:2.9.0
236236
com.google.errorprone:error_prone_annotations:2.2.0
@@ -241,7 +241,7 @@ com.google.guava:guava:20.0
241241
com.google.guava:guava:27.0-jre
242242
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
243243
com.microsoft.azure:azure-storage:7.0.0
244-
com.nimbusds:nimbus-jose-jwt:9.31
244+
com.nimbusds:nimbus-jose-jwt:9.37.2
245245
com.zaxxer:HikariCP:4.0.3
246246
commons-beanutils:commons-beanutils:1.9.4
247247
commons-cli:commons-cli:1.5.0
@@ -299,8 +299,8 @@ net.java.dev.jna:jna:5.2.0
299299
net.minidev:accessors-smart:1.2
300300
org.apache.avro:avro:1.9.2
301301
org.apache.commons:commons-collections4:4.2
302-
org.apache.commons:commons-compress:1.24.0
303-
org.apache.commons:commons-configuration2:2.8.0
302+
org.apache.commons:commons-compress:1.26.1
303+
org.apache.commons:commons-configuration2:2.10.1
304304
org.apache.commons:commons-csv:1.9.0
305305
org.apache.commons:commons-digester:1.8.1
306306
org.apache.commons:commons-lang3:3.12.0
@@ -310,16 +310,15 @@ org.apache.commons:commons-validator:1.6
310310
org.apache.curator:curator-client:5.2.0
311311
org.apache.curator:curator-framework:5.2.0
312312
org.apache.curator:curator-recipes:5.2.0
313-
org.apache.geronimo.specs:geronimo-jcache_1.0_spec:1.0-alpha-1
314-
org.apache.hbase:hbase-annotations:1.7.1
315-
org.apache.hbase:hbase-client:1.7.1
316-
org.apache.hbase:hbase-common:1.7.1
317-
org.apache.hbase:hbase-protocol:1.7.1
313+
org.apache.hbase:hbase-annotations:2.5.8
314+
org.apache.hbase:hbase-client:2.5.8
315+
org.apache.hbase:hbase-common:2.5.8
316+
org.apache.hbase:hbase-protocol:2.5.8
318317
org.apache.htrace:htrace-core:3.1.0-incubating
319318
org.apache.htrace:htrace-core4:4.1.0-incubating
320319
org.apache.httpcomponents:httpclient:4.5.13
321320
org.apache.httpcomponents:httpcore:4.4.13
322-
org.apache.kafka:kafka-clients:2.8.2
321+
org.apache.kafka:kafka-clients:3.4.0
323322
org.apache.kerby:kerb-admin:2.0.3
324323
org.apache.kerby:kerb-client:2.0.3
325324
org.apache.kerby:kerb-common:2.0.3
@@ -340,7 +339,7 @@ org.apache.sshd:sshd-core:2.11.0
340339
org.apache.sshd:sshd-sftp:2.11.0
341340
org.apache.solr:solr-solrj:8.11.2
342341
org.apache.yetus:audience-annotations:0.5.0
343-
org.apache.zookeeper:zookeeper:3.8.3
342+
org.apache.zookeeper:zookeeper:3.8.4
344343
org.codehaus.jettison:jettison:1.5.4
345344
org.eclipse.jetty:jetty-annotations:9.4.53.v20231009
346345
org.eclipse.jetty:jetty-http:9.4.53.v20231009
@@ -356,14 +355,14 @@ org.eclipse.jetty:jetty-webapp:9.4.53.v20231009
356355
org.eclipse.jetty:jetty-xml:9.4.53.v20231009
357356
org.eclipse.jetty.websocket:javax-websocket-client-impl:9.4.53.v20231009
358357
org.eclipse.jetty.websocket:javax-websocket-server-impl:9.4.53.v20231009
359-
org.ehcache:ehcache:3.3.1
358+
org.ehcache:ehcache:3.8.2
360359
org.ini4j:ini4j:0.5.4
361360
org.lz4:lz4-java:1.7.1
362361
org.objenesis:objenesis:2.6
363362
org.xerial.snappy:snappy-java:1.1.10.4
364363
org.yaml:snakeyaml:2.0
365364
org.wildfly.openssl:wildfly-openssl:1.1.3.Final
366-
software.amazon.awssdk:bundle:jar:2.24.6
365+
software.amazon.awssdk:bundle:jar:2.25.53
367366

368367

369368
--------------------------------------------------------------------------------
@@ -379,7 +378,7 @@ hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/com
379378
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h
380379
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/compat/{fstatat|openat|unlinkat}.h
381380

382-
com.github.luben:zstd-jni:1.4.9-1
381+
com.github.luben:zstd-jni:1.5.2-1
383382
dnsjava:dnsjava:2.1.7
384383
org.codehaus.woodstox:stax2-api:4.2.1
385384

@@ -483,9 +482,9 @@ com.microsoft.azure:azure-cosmosdb-gateway:2.4.5
483482
com.microsoft.azure:azure-data-lake-store-sdk:2.3.3
484483
com.microsoft.azure:azure-keyvault-core:1.0.0
485484
com.microsoft.sqlserver:mssql-jdbc:6.2.1.jre7
486-
org.bouncycastle:bcpkix-jdk15on:1.70
487-
org.bouncycastle:bcprov-jdk15on:1.70
488-
org.bouncycastle:bcutil-jdk15on:1.70
485+
org.bouncycastle:bcpkix-jdk18on:1.78.1
486+
org.bouncycastle:bcprov-jdk18on:1.78.1
487+
org.bouncycastle:bcutil-jdk18on:1.78.1
489488
org.checkerframework:checker-qual:2.5.2
490489
org.codehaus.mojo:animal-sniffer-annotations:1.21
491490
org.jruby.jcodings:jcodings:1.0.13
@@ -507,6 +506,7 @@ com.sun.jersey:jersey-server:1.19.4
507506
com.sun.jersey:jersey-servlet:1.19.4
508507
com.sun.xml.bind:jaxb-impl:2.2.3-1
509508
javax.annotation:javax.annotation-api:1.3.2
509+
javax.cache:cache-api:1.1.1
510510
javax.servlet:javax.servlet-api:3.1.0
511511
javax.servlet.jsp:jsp-api:2.1
512512
javax.websocket:javax.websocket-api:1.0

dev-support/bin/create-release

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,8 @@ function option_parse
418418
fi
419419
fi
420420
if [ -n "$MVNEXTRAARGS" ]; then
421-
MVN_ARGS+=("$MVNEXTRAARGS")
421+
# shellcheck disable=SC2206
422+
MVN_ARGS+=(${MVNEXTRAARGS[*]})
422423
fi
423424

424425
if [[ "${SECURITYRELEASE}" = true ]]; then
@@ -552,18 +553,21 @@ function makearelease
552553
mkdir -p "${LOGDIR}"
553554

554555
# Install the Hadoop maven plugins first
555-
run_and_redirect "${LOGDIR}/mvn_install_maven_plugins.log" "${MVN}" "${MVN_ARGS[@]}" -pl hadoop-maven-plugins -am clean install
556+
# shellcheck disable=SC2086
557+
run_and_redirect "${LOGDIR}/mvn_install_maven_plugins.log" "${MVN}" ${MVN_ARGS[*]} -pl hadoop-maven-plugins -am clean install
556558

557559
# mvn clean for sanity
558-
run_and_redirect "${LOGDIR}/mvn_clean.log" "${MVN}" "${MVN_ARGS[@]}" clean
560+
# shellcheck disable=SC2086
561+
run_and_redirect "${LOGDIR}/mvn_clean.log" "${MVN}" ${MVN_ARGS[*]} clean
559562

560563
# Create staging dir for release artifacts
561564
run mkdir -p "${ARTIFACTS_DIR}"
562565

563566
big_console_header "Apache RAT Check"
564567

565568
# Create RAT report
566-
run_and_redirect "${LOGDIR}/mvn_apache_rat.log" "${MVN}" "${MVN_ARGS[@]}" apache-rat:check
569+
# shellcheck disable=SC2086
570+
run_and_redirect "${LOGDIR}/mvn_apache_rat.log" "${MVN}" ${MVN_ARGS[*]} apache-rat:check
567571

568572
big_console_header "Maven Build and Install"
569573

@@ -577,9 +581,9 @@ function makearelease
577581
fi
578582

579583
# Create SRC and BIN tarballs for release,
580-
# shellcheck disable=SC2046
584+
# shellcheck disable=SC2046,SC2086
581585
run_and_redirect "${LOGDIR}/mvn_${target}.log" \
582-
"${MVN}" "${MVN_ARGS[@]}" ${target} \
586+
"${MVN}" ${MVN_ARGS[*]} ${target} \
583587
-Pdist,src,yarn-ui \
584588
"${signflags[@]}" \
585589
-DskipTests -Dtar $(hadoop_native_flags)
@@ -608,8 +612,9 @@ function makearelease
608612
# we need to do install again so that jdiff and
609613
# a few other things get registered in the maven
610614
# universe correctly
615+
# shellcheck disable=SC2206,SC2086
611616
run_and_redirect "${LOGDIR}/mvn_site.log" \
612-
"${MVN}" "${MVN_ARGS[@]}" install \
617+
"${MVN}" ${MVN_ARGS[*]} install \
613618
site site:stage \
614619
-DskipTests \
615620
-DskipShade \

dev-support/bin/hadoop.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,11 @@ function personality_modules
387387
fi
388388
;;
389389
unit)
390+
if [[ "$IS_WINDOWS" && "$IS_WINDOWS" == 1 && (-z "$IS_NIGHTLY_BUILD" || "$IS_NIGHTLY_BUILD" == 0) ]]; then
391+
echo "Won't run unit tests for Windows in pre-commit CI"
392+
return
393+
fi
394+
390395
extra="-Dsurefire.rerunFailingTestsCount=2"
391396
if [[ "${BUILDMODE}" = full ]]; then
392397
ordering=mvnsrc

dev-support/bin/yetus-wrapper

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ WANTED="$1"
7777
shift
7878
ARGV=("$@")
7979

80-
HADOOP_YETUS_VERSION=${HADOOP_YETUS_VERSION:-0.14.0}
80+
HADOOP_YETUS_VERSION=${HADOOP_YETUS_VERSION:-0.14.1}
8181
BIN=$(yetus_abs "${BASH_SOURCE-$0}")
8282
BINDIR=$(dirname "${BIN}")
8383

@@ -123,7 +123,7 @@ fi
123123
## need to DL, etc
124124
##
125125

126-
BASEURL="https://archive.apache.org/dist/yetus/${HADOOP_YETUS_VERSION}/"
126+
BASEURL="https://downloads.apache.org/yetus/${HADOOP_YETUS_VERSION}/"
127127
TARBALL="${YETUS_PREFIX}-${HADOOP_YETUS_VERSION}-bin.tar"
128128

129129
GPGBIN=$(command -v gpg)

dev-support/docker/Dockerfile_windows_10

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ RUN powershell Invoke-WebRequest -URI https://cdn.azul.com/zulu/bin/zulu8.62.0.1
6161
RUN powershell Expand-Archive -Path $Env:TEMP\zulu8.62.0.19-ca-jdk8.0.332-win_x64.zip -DestinationPath "C:\Java"
6262

6363
# Install Apache Maven.
64-
RUN powershell Invoke-WebRequest -URI https://archive.apache.org/dist/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip -OutFile $Env:TEMP\apache-maven-3.8.6-bin.zip
65-
RUN powershell Expand-Archive -Path $Env:TEMP\apache-maven-3.8.6-bin.zip -DestinationPath "C:\Maven"
64+
RUN powershell Invoke-WebRequest -URI https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.zip -OutFile $Env:TEMP\apache-maven-3.8.8-bin.zip
65+
RUN powershell Expand-Archive -Path $Env:TEMP\apache-maven-3.8.8-bin.zip -DestinationPath "C:\Maven"
6666

6767
# Install CMake 3.19.0.
6868
RUN powershell Invoke-WebRequest -URI https://cmake.org/files/v3.19/cmake-3.19.0-win64-x64.zip -OutFile $Env:TEMP\cmake-3.19.0-win64-x64.zip
@@ -102,10 +102,21 @@ RUN powershell Copy-Item -Path "C:\LibXXHash\usr\bin\*.dll" -Destination "C:\Pro
102102
RUN powershell Copy-Item -Path "C:\LibZStd\usr\bin\*.dll" -Destination "C:\Program` Files\Git\usr\bin"
103103
RUN powershell Copy-Item -Path "C:\RSync\usr\bin\*" -Destination "C:\Program` Files\Git\usr\bin"
104104

105-
# Install Python 3.10.11.
106-
RUN powershell Invoke-WebRequest -Uri https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip -OutFile $Env:TEMP\python-3.10.11-embed-amd64.zip
107-
RUN powershell Expand-Archive -Path $Env:TEMP\python-3.10.11-embed-amd64.zip -DestinationPath "C:\Python3"
108-
RUN powershell New-Item -ItemType HardLink -Value "C:\Python3\python.exe" -Path "C:\Python3\python3.exe"
105+
COPY pkg-resolver pkg-resolver
106+
107+
## Install Python 3.11.8.
108+
# The Python installation steps below are derived from -
109+
# https://github.com/docker-library/python/blob/105d6f34e7d70aad6f8c3e249b8208efa591916a/3.11/windows/windowsservercore-ltsc2022/Dockerfile
110+
ENV PYTHONIOENCODING UTF-8
111+
ENV PYTHON_VERSION 3.11.8
112+
ENV PYTHON_PIP_VERSION 24.0
113+
ENV PYTHON_SETUPTOOLS_VERSION 65.5.1
114+
ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/dbf0c85f76fb6e1ab42aa672ffca6f0a675d9ee4/public/get-pip.py
115+
ENV PYTHON_GET_PIP_SHA256 dfe9fd5c28dc98b5ac17979a953ea550cec37ae1b47a5116007395bfacff2ab9
116+
RUN powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
117+
RUN powershell pkg-resolver\install-python.ps1
118+
RUN powershell pkg-resolver\install-pip.ps1
119+
RUN powershell pip install python-dateutil
109120

110121
# Create a user HadoopBuilder with basic privileges and use it for building Hadoop on Windows.
111122
RUN powershell New-LocalUser -Name 'HadoopBuilder' -Description 'User account for building Apache Hadoop' -Password ([securestring]::new()) -AccountNeverExpires -PasswordNeverExpires
@@ -121,12 +132,12 @@ USER HadoopBuilder
121132
ENV PROTOBUF_HOME "C:\vcpkg\installed\x64-windows"
122133
ENV JAVA_HOME "C:\Java\zulu8.62.0.19-ca-jdk8.0.332-win_x64"
123134
ENV MAVEN_OPTS '-Xmx2048M -Xss128M'
135+
ENV IS_WINDOWS 1
124136
RUN setx PATH "%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
125137
RUN setx PATH "%PATH%;%JAVA_HOME%\bin"
126-
RUN setx PATH "%PATH%;C:\Maven\apache-maven-3.8.6\bin"
138+
RUN setx PATH "%PATH%;C:\Maven\apache-maven-3.8.8\bin"
127139
RUN setx PATH "%PATH%;C:\CMake\cmake-3.19.0-win64-x64\bin"
128140
RUN setx PATH "%PATH%;C:\ZStd"
129-
RUN setx path "%PATH%;C:\Python3"
130141
RUN setx PATH "%PATH%;C:\Program Files\Git\usr\bin"
131142

132143
# We get strange Javadoc errors without this.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
# The code lines below are derived from -
18+
# https://github.com/docker-library/python/blob/105d6f34e7d70aad6f8c3e249b8208efa591916a/3.11/windows/windowsservercore-ltsc2022/Dockerfile
19+
20+
Write-Host ('Downloading get-pip.py ({0}) ...' -f $Env:PYTHON_GET_PIP_URL)
21+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
22+
Invoke-WebRequest -Uri $Env:PYTHON_GET_PIP_URL -OutFile 'get-pip.py'
23+
Write-Host ('Verifying sha256 ({0}) ...' -f $Env:PYTHON_GET_PIP_SHA256)
24+
if ((Get-FileHash 'get-pip.py' -Algorithm sha256).Hash -ne $Env:PYTHON_GET_PIP_SHA256) {
25+
Write-Host 'FAILED!'
26+
exit 1
27+
}
28+
29+
$Env:PYTHONDONTWRITEBYTECODE = '1'
30+
31+
Write-Host ('Installing pip=={0} ...' -f $Env:PYTHON_PIP_VERSION)
32+
python get-pip.py `
33+
--disable-pip-version-check `
34+
--no-cache-dir `
35+
--no-compile `
36+
('pip=={0}' -f $Env:PYTHON_PIP_VERSION) `
37+
('setuptools=={0}' -f $Env:PYTHON_SETUPTOOLS_VERSION)
38+
39+
Remove-Item get-pip.py -Force
40+
41+
Write-Host 'Verifying pip install ...'
42+
pip --version
43+
44+
Write-Host 'Complete.'

0 commit comments

Comments
 (0)