Skip to content

Commit f0b7a76

Browse files
authored
Merge branch 'apache:trunk' into HADOOP-19052
2 parents fc72fe8 + a897e74 commit f0b7a76

File tree

1,642 files changed

+126774
-46531
lines changed

Some content is hidden

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

1,642 files changed

+126774
-46531
lines changed

.github/labeler.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
#
20+
# Pull Request Labeler Github Action Configuration: https://github.com/marketplace/actions/labeler
21+
22+
trunk:
23+
- '**'
24+
INFRA:
25+
- .asf.yaml
26+
- .gitattributes
27+
- .gitignore
28+
- .github/**
29+
- dev-support/**
30+
- start-build-env.sh
31+
BUILD:
32+
- '**/pom.xml'
33+
COMMON:
34+
- hadoop-common-project/**
35+
HDFS:
36+
- hadoop-hdfs-project/**
37+
RBF:
38+
- hadoop-hdfs-project/hadoop-hdfs-rbf/**
39+
NATIVE:
40+
- hadoop-hdfs-project/hadoop-hdfs-native-client/**
41+
- hadoop-common-project/hadoop-common/src/main/native/**
42+
YARN:
43+
- hadoop-yarn-project/**
44+
MAPREDUCE:
45+
- hadoop-mapreduce-project/**
46+
DISTCP:
47+
- hadoop-tools/hadoop-distcp/**
48+
TOOLS:
49+
- hadoop-tools/**
50+
AWS:
51+
- hadoop-tools/hadoop-aws/**
52+
ABFS:
53+
- hadoop-tools/hadoop-azure/**
54+
DYNAMOMETER:
55+
- hadoop-tools/hadoop-dynamometer/**
56+
MAVEN-PLUGINS:
57+
- hadoop-maven-plugins/**

.github/workflows/labeler.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: "Pull Request Labeler"
21+
on: pull_request_target
22+
23+
permissions:
24+
contents: read
25+
pull-requests: write
26+
27+
jobs:
28+
triage:
29+
runs-on: ubuntu-latest
30+
steps:
31+
- uses: actions/checkout@v3
32+
with:
33+
sparse-checkout: |
34+
.github
35+
- uses: actions/labeler@v4.3.0
36+
with:
37+
repo-token: ${{ secrets.GITHUB_TOKEN }}
38+
sync-labels: true
39+
configuration-path: .github/labeler.yml
40+
dot: true

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.DS_Store
1+
*.DS_Store
22
*.iml
33
*.ipr
44
*.iws

BUILDING.txt

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Requirements:
77
* JDK 1.8
88
* Maven 3.3 or later
99
* Boost 1.72 (if compiling native code)
10-
* Protocol Buffers 3.7.1 (if compiling native code)
10+
* Protocol Buffers 3.21.12 (if compiling native code)
1111
* CMake 3.19 or newer (if compiling native code)
1212
* Zlib devel (if compiling native code)
1313
* Cyrus SASL devel (if compiling native code)
@@ -74,10 +74,10 @@ Refer to dev-support/docker/Dockerfile):
7474
$ ./bootstrap
7575
$ make -j$(nproc)
7676
$ sudo make install
77-
* Protocol Buffers 3.7.1 (required to build native code)
78-
$ 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
79-
$ mkdir protobuf-3.7-src
80-
$ tar xzf protobuf-3.7.1.tar.gz --strip-components 1 -C protobuf-3.7-src && cd protobuf-3.7-src
77+
* Protocol Buffers 3.21.12 (required to build native code)
78+
$ curl -L https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > protobuf-3.21.12.tar.gz
79+
$ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
80+
$ ./autogen.sh
8181
$ ./configure
8282
$ make -j$(nproc)
8383
$ sudo make install
@@ -163,13 +163,13 @@ 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.2.6 (default) and 2.0.0-beta1.
166+
versions of Apache HBase are 1.7.1 (default) and 2.2.4.
167167

168-
* HBase 1.2.6 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.2.6.
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.
170170

171-
* Use -Dhbase.profile=2.0 to build Hadoop with HBase 2.0.0-beta1. Provide this option if you plan
172-
on running Timeline Service v2 with HBase 2.0.
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.
173173

174174

175175
Snappy build options:
@@ -311,6 +311,36 @@ Maven build goals:
311311
package. This option requires that -Dpmdk.lib is specified. With -Dbundle.pmdk provided,
312312
the build will fail if -Dpmdk.lib is not specified.
313313

314+
Controlling the redistribution of the protobuf-2.5 dependency
315+
316+
The protobuf 2.5.0 library is used at compile time to compile the class
317+
org.apache.hadoop.ipc.ProtobufHelper; this class known to have been used by
318+
external projects in the past. Protobuf 2.5 is not used elsewhere in
319+
the Hadoop codebase; alongside the move to Protobuf 3.x a private successor
320+
class, org.apache.hadoop.ipc.internal.ShadedProtobufHelper is now used.
321+
322+
The hadoop-common module no longer exports its compile-time dependency on
323+
protobuf-2.5. Hadoop distributions no longer include it.
324+
Any application declaring a dependency on hadoop-commmon will no longer get
325+
the artifact added to their classpath.
326+
If is still required, then they must explicitly declare it:
327+
328+
<dependency>
329+
<groupId>com.google.protobuf</groupId>
330+
<artifactId>protobuf-java</artifactId>
331+
<version>2.5.0</version>
332+
</dependency>
333+
334+
In Hadoop builds the scope of the dependency can be set with the
335+
option "common.protobuf2.scope".
336+
This can be upgraded from "provided" to "compile" on the maven command line:
337+
338+
-Dcommon.protobuf2.scope=compile
339+
340+
If this is done then protobuf-2.5.0.jar will again be exported as a
341+
hadoop-common dependency, and included in the share/hadoop/common/lib/
342+
directory of any Hadoop distribution built.
343+
314344
----------------------------------------------------------------------------------
315345
Building components separately
316346

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

445-
* Install Protocol Buffers v3.7.1.
446-
$ git clone https://github.com/protocolbuffers/protobuf
447-
$ cd protobuf
448-
$ git checkout v3.7.1
449-
$ autoreconf -i
475+
* Install Protocol Buffers v3.21.12.
476+
$ curl -L https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > protobuf-3.21.12.tar.gz
477+
$ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
478+
$ ./autogen.sh
450479
$ ./configure --prefix=/usr/local
451480
$ make
452481
$ sudo make install
@@ -501,7 +530,7 @@ Requirements:
501530
* JDK 1.8
502531
* Maven 3.0 or later (maven.apache.org)
503532
* Boost 1.72 (boost.org)
504-
* Protocol Buffers 3.7.1 (https://github.com/protocolbuffers/protobuf/releases)
533+
* Protocol Buffers 3.21.12 (https://github.com/protocolbuffers/protobuf/tags)
505534
* CMake 3.19 or newer (cmake.org)
506535
* Visual Studio 2019 (visualstudio.com)
507536
* Windows SDK 8.1 (optional, if building CPU rate control for the container executor. Get this from

0 commit comments

Comments
 (0)