Skip to content

Commit

Permalink
Merge branch 'trunk' of github.com:apache/hadoop into HADOOP-19072-trunk
Browse files Browse the repository at this point in the history
  • Loading branch information
virajjasani committed Apr 4, 2024
2 parents fc306d5 + 62182b1 commit b7e4ede
Show file tree
Hide file tree
Showing 415 changed files with 84,808 additions and 2,778 deletions.
39 changes: 21 additions & 18 deletions BUILDING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Requirements:
* JDK 1.8
* Maven 3.3 or later
* Boost 1.72 (if compiling native code)
* Protocol Buffers 3.7.1 (if compiling native code)
* Protocol Buffers 3.21.12 (if compiling native code)
* CMake 3.19 or newer (if compiling native code)
* Zlib devel (if compiling native code)
* Cyrus SASL devel (if compiling native code)
Expand Down Expand Up @@ -74,10 +74,10 @@ Refer to dev-support/docker/Dockerfile):
$ ./bootstrap
$ make -j$(nproc)
$ sudo make install
* Protocol Buffers 3.7.1 (required to build native code)
$ curl -L -s -S https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-java-3.7.1.tar.gz -o protobuf-3.7.1.tar.gz
$ mkdir protobuf-3.7-src
$ tar xzf protobuf-3.7.1.tar.gz --strip-components 1 -C protobuf-3.7-src && cd protobuf-3.7-src
* Protocol Buffers 3.21.12 (required to build native code)
$ curl -L https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > protobuf-3.21.12.tar.gz
$ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
$ ./autogen.sh
$ ./configure
$ make -j$(nproc)
$ sudo make install
Expand Down Expand Up @@ -315,12 +315,12 @@ Controlling the redistribution of the protobuf-2.5 dependency

The protobuf 2.5.0 library is used at compile time to compile the class
org.apache.hadoop.ipc.ProtobufHelper; this class known to have been used by
external projects in the past. Protobuf 2.5 is not used elsewhere in
external projects in the past. Protobuf 2.5 is not used directly in
the Hadoop codebase; alongside the move to Protobuf 3.x a private successor
class, org.apache.hadoop.ipc.internal.ShadedProtobufHelper is now used.

The hadoop-common module no longer exports its compile-time dependency on
protobuf-2.5. Hadoop distributions no longer include it.
protobuf-java-2.5.
Any application declaring a dependency on hadoop-commmon will no longer get
the artifact added to their classpath.
If is still required, then they must explicitly declare it:
Expand All @@ -337,10 +337,14 @@ Controlling the redistribution of the protobuf-2.5 dependency

-Dcommon.protobuf2.scope=compile

If this is done then protobuf-2.5.0.jar will again be exported as a
If this is done then protobuf-java-2.5.0.jar will again be exported as a
hadoop-common dependency, and included in the share/hadoop/common/lib/
directory of any Hadoop distribution built.

Note that protobuf-java-2.5.0.jar is still placed in
share/hadoop/yarn/timelineservice/lib; this is needed by the hbase client
library.

----------------------------------------------------------------------------------
Building components separately

Expand Down Expand Up @@ -433,10 +437,10 @@ Installing required dependencies for clean install of macOS 10.14:
* Install native libraries, only openssl is required to compile native code,
you may optionally install zlib, lz4, etc.
$ brew install openssl
* Protocol Buffers 3.7.1 (required to compile native code)
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-java-3.7.1.tar.gz
$ mkdir -p protobuf-3.7 && tar zxvf protobuf-java-3.7.1.tar.gz --strip-components 1 -C protobuf-3.7
$ cd protobuf-3.7
* Protocol Buffers 3.21.12 (required to compile native code)
$ curl -L https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > protobuf-3.21.12.tar.gz
$ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
$ ./autogen.sh
$ ./configure
$ make
$ make check
Expand Down Expand Up @@ -472,11 +476,10 @@ Building on CentOS 8
* Install python2 for building documentation.
$ sudo dnf install python2

* Install Protocol Buffers v3.7.1.
$ git clone https://github.com/protocolbuffers/protobuf
$ cd protobuf
$ git checkout v3.7.1
$ autoreconf -i
* Install Protocol Buffers v3.21.12.
$ curl -L https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > protobuf-3.21.12.tar.gz
$ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
Expand Down Expand Up @@ -531,7 +534,7 @@ Requirements:
* JDK 1.8
* Maven 3.0 or later (maven.apache.org)
* Boost 1.72 (boost.org)
* Protocol Buffers 3.7.1 (https://github.com/protocolbuffers/protobuf/releases)
* Protocol Buffers 3.21.12 (https://github.com/protocolbuffers/protobuf/tags)
* CMake 3.19 or newer (cmake.org)
* Visual Studio 2019 (visualstudio.com)
* Windows SDK 8.1 (optional, if building CPU rate control for the container executor. Get this from
Expand Down
36 changes: 18 additions & 18 deletions LICENSE-binary
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/nvd3-1.8.5.* (css and js
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/AbstractFuture.java
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/TimeoutFuture.java

ch.qos.reload4j:reload4j:1.2.22
com.aliyun:aliyun-java-sdk-core:4.5.10
com.aliyun:aliyun-java-sdk-kms:2.11.0
com.aliyun:aliyun-java-sdk-ram:3.1.0
Expand Down Expand Up @@ -240,7 +241,7 @@ com.google.guava:guava:20.0
com.google.guava:guava:27.0-jre
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
com.microsoft.azure:azure-storage:7.0.0
com.nimbusds:nimbus-jose-jwt:9.31
com.nimbusds:nimbus-jose-jwt:9.37.2
com.zaxxer:HikariCP:4.0.3
commons-beanutils:commons-beanutils:1.9.4
commons-cli:commons-cli:1.5.0
Expand Down Expand Up @@ -294,13 +295,12 @@ io.reactivex:rxjava-string:1.1.1
io.reactivex:rxnetty:0.4.20
io.swagger:swagger-annotations:1.5.4
javax.inject:javax.inject:1
log4j:log4j:1.2.17
net.java.dev.jna:jna:5.2.0
net.minidev:accessors-smart:1.2
org.apache.avro:avro:1.9.2
org.apache.commons:commons-collections4:4.2
org.apache.commons:commons-compress:1.24.0
org.apache.commons:commons-configuration2:2.8.0
org.apache.commons:commons-compress:1.26.1
org.apache.commons:commons-configuration2:2.10.1
org.apache.commons:commons-csv:1.9.0
org.apache.commons:commons-digester:1.8.1
org.apache.commons:commons-lang3:3.12.0
Expand Down Expand Up @@ -340,7 +340,7 @@ org.apache.sshd:sshd-core:2.11.0
org.apache.sshd:sshd-sftp:2.11.0
org.apache.solr:solr-solrj:8.11.2
org.apache.yetus:audience-annotations:0.5.0
org.apache.zookeeper:zookeeper:3.8.3
org.apache.zookeeper:zookeeper:3.8.4
org.codehaus.jettison:jettison:1.5.4
org.eclipse.jetty:jetty-annotations:9.4.53.v20231009
org.eclipse.jetty:jetty-http:9.4.53.v20231009
Expand All @@ -356,14 +356,14 @@ org.eclipse.jetty:jetty-webapp:9.4.53.v20231009
org.eclipse.jetty:jetty-xml:9.4.53.v20231009
org.eclipse.jetty.websocket:javax-websocket-client-impl:9.4.53.v20231009
org.eclipse.jetty.websocket:javax-websocket-server-impl:9.4.53.v20231009
org.ehcache:ehcache:3.3.1
org.ehcache:ehcache:3.8.2
org.ini4j:ini4j:0.5.4
org.lz4:lz4-java:1.7.1
org.objenesis:objenesis:2.6
org.xerial.snappy:snappy-java:1.1.10.4
org.yaml:snakeyaml:2.0
org.wildfly.openssl:wildfly-openssl:1.1.3.Final
software.amazon.awssdk:bundle:jar:2.23.19
software.amazon.awssdk:bundle:jar:2.24.6


--------------------------------------------------------------------------------
Expand Down Expand Up @@ -395,9 +395,10 @@ hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js
hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/d3-3.5.17.min.js
leveldb v1.13

com.google.protobuf:protobuf-java:3.6.1
com.google.protobuf:protobuf-java:2.5.0
com.google.protobuf:protobuf-java:3.21.12
com.google.re2j:re2j:1.1
com.jcraft:jsch:0.1.54
com.jcraft:jsch:0.1.55
com.thoughtworks.paranamer:paranamer:2.3
jakarta.activation:jakarta.activation-api:1.2.1
org.fusesource.leveldbjni:leveldbjni-all:1.8
Expand Down Expand Up @@ -482,24 +483,23 @@ com.microsoft.azure:azure-cosmosdb-gateway:2.4.5
com.microsoft.azure:azure-data-lake-store-sdk:2.3.3
com.microsoft.azure:azure-keyvault-core:1.0.0
com.microsoft.sqlserver:mssql-jdbc:6.2.1.jre7
org.bouncycastle:bcpkix-jdk15on:1.70
org.bouncycastle:bcprov-jdk15on:1.70
org.bouncycastle:bcutil-jdk15on:1.70
org.bouncycastle:bcpkix-jdk18on:1.77
org.bouncycastle:bcprov-jdk18on:1.77
org.bouncycastle:bcutil-jdk18on:1.77
org.checkerframework:checker-qual:2.5.2
org.codehaus.mojo:animal-sniffer-annotations:1.21
org.jruby.jcodings:jcodings:1.0.13
org.jruby.joni:joni:2.1.2
org.slf4j:jul-to-slf4j:jar:1.7.25
org.ojalgo:ojalgo:43.0:compile
org.slf4j:jul-to-slf4j:1.7.25
org.slf4j:slf4j-api:1.7.25
org.slf4j:slf4j-log4j12:1.7.25
org.ojalgo:ojalgo:43.0
org.slf4j:jul-to-slf4j:1.7.36
org.slf4j:slf4j-api:1.7.36
org.slf4j:slf4j-reload4j:1.7.36


CDDL 1.1 + GPLv2 with classpath exception
-----------------------------------------

com.github.pjfanning:jersey-json:1.20
com.github.pjfanning:jersey-json:1.22.0
com.sun.jersey:jersey-client:1.19.4
com.sun.jersey:jersey-core:1.19.4
com.sun.jersey:jersey-guice:1.19.4
Expand Down
5 changes: 5 additions & 0 deletions dev-support/bin/hadoop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,11 @@ function personality_modules
fi
;;
unit)
if [[ "$IS_WINDOWS" && "$IS_WINDOWS" == 1 && (-z "$IS_NIGHTLY_BUILD" || "$IS_NIGHTLY_BUILD" == 0) ]]; then
echo "Won't run unit tests for Windows in pre-commit CI"
return
fi

extra="-Dsurefire.rerunFailingTestsCount=2"
if [[ "${BUILDMODE}" = full ]]; then
ordering=mvnsrc
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV SPOTBUGS_HOME /opt/spotbugs

#######
# Set env vars for Google Protobuf 3.7.1
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/Dockerfile_aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-arm64
ENV SPOTBUGS_HOME /opt/spotbugs

#######
# Set env vars for Google Protobuf 3.7.1
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/Dockerfile_centos_7
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-1.8.0
ENV SPOTBUGS_HOME /opt/spotbugs

#######
# Set env vars for Google Protobuf
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/Dockerfile_centos_8
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-1.8.0
ENV SPOTBUGS_HOME /opt/spotbugs

#######
# Set env vars for Google Protobuf
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/Dockerfile_debian_10
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
ENV SPOTBUGS_HOME /opt/spotbugs

#######
# Set env vars for Google Protobuf 3.7.1
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
Expand Down
9 changes: 5 additions & 4 deletions dev-support/docker/pkg-resolver/install-protobuf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,26 @@ if [ $? -eq 1 ]; then
exit 1
fi

default_version="3.7.1"
default_version="3.21.12"
version_to_install=$default_version
if [ -n "$2" ]; then
version_to_install="$2"
fi

if [ "$version_to_install" != "3.7.1" ]; then
if [ "$version_to_install" != "3.21.12" ]; then
echo "WARN: Don't know how to install version $version_to_install, installing the default version $default_version instead"
version_to_install=$default_version
fi

if [ "$version_to_install" == "3.7.1" ]; then
if [ "$version_to_install" == "3.21.12" ]; then
# hadolint ignore=DL3003
mkdir -p /opt/protobuf-src &&
curl -L -s -S \
https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-java-3.7.1.tar.gz \
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz \
-o /opt/protobuf.tar.gz &&
tar xzf /opt/protobuf.tar.gz --strip-components 1 -C /opt/protobuf-src &&
cd /opt/protobuf-src &&
./autogen.sh &&
./configure --prefix=/opt/protobuf &&
make "-j$(nproc)" &&
make install &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
<excludes>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
</excludes>
</dependencySet>
</dependencySets>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<exclude>org.apache.hadoop:hadoop-hdfs</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
</excludes>
</dependencySet>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
<exclude>org.apache.hadoop:hadoop-hdfs</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
</excludes>
</dependencySet>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
<exclude>org.apache.hadoop:hadoop-hdfs</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
</excludes>
</dependencySet>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@
<exclude>org.apache.hadoop:hadoop-hdfs</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
<exclude>jdiff:jdiff:jar</exclude>
</excludes>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<exclude>org.apache.hadoop:hadoop-hdfs</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
</excludes>
</dependencySet>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@
<exclude>org.apache.hadoop:hadoop-pipes</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
</excludes>
</dependencySet>
</dependencySets>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@
<exclude>org.apache.hadoop:*</exclude>
<!-- use slf4j from common to avoid multiple binding warnings -->
<exclude>org.slf4j:slf4j-api</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
<exclude>org.hsqldb:hsqldb</exclude>
</excludes>
</dependencySet>
Expand Down
4 changes: 2 additions & 2 deletions hadoop-client-modules/hadoop-client-check-invariants/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
<exclude>org.slf4j:slf4j-api</exclude>
<!-- Leave commons-logging unshaded so downstream users can configure logging. -->
<exclude>commons-logging:commons-logging</exclude>
<!-- Leave log4j unshaded so downstream users can configure logging. -->
<exclude>log4j:log4j</exclude>
<!-- Leave reload4j unshaded so downstream users can configure logging. -->
<exclude>ch.qos.reload4j:reload4j</exclude>
<!-- Leave javax annotations we need exposed -->
<exclude>com.google.code.findbugs:jsr305</exclude>
<!-- Leave bouncycastle unshaded because it's signed with a special Oracle certificate so it can be a custom JCE security provider -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@
<exclude>org.slf4j:slf4j-api</exclude>
<!-- Leave commons-logging unshaded so downstream users can configure logging. -->
<exclude>commons-logging:commons-logging</exclude>
<!-- Leave log4j unshaded so downstream users can configure logging. -->
<exclude>log4j:log4j</exclude>
<!-- Leave reload4j unshaded so downstream users can configure logging. -->
<exclude>ch.qos.reload4j:reload4j</exclude>
<!-- Leave JUnit unshaded so downstream can use our test helper classes -->
<exclude>junit:junit</exclude>
<!-- JUnit brings in hamcrest -->
Expand All @@ -100,6 +100,7 @@
<exclude>org.bouncycastle:*</exclude>
<!-- Leave snappy that includes native methods which cannot be relocated. -->
<exclude>org.xerial.snappy:*</exclude>
<exclude>org.ehcache:*</exclude>
</excludes>
</banTransitiveDependencies>
<banDuplicateClasses>
Expand Down
Loading

0 comments on commit b7e4ede

Please sign in to comment.