Skip to content

Commit c2c1d19

Browse files
committed
Merge remote-tracking branch 'origin/master' into HDDS-8342-ttl-branch
Conflicts: hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConsts.java hadoop-hdds/common/src/main/resources/ozone-default.xml hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/ozone/admin/om/LifecycleResumeSubCommand.java hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/ozone/admin/om/LifecycleStatusSubCommand.java hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/ozone/admin/om/LifecycleSubCommand.java hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/ozone/admin/om/LifecycleSuspendSubCommand.java hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/ozone/admin/om/OMAdmin.java hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/exceptions/OMException.java hadoop-ozone/dist/src/main/compose/ozonesecure-ha/docker-compose.yaml hadoop-ozone/dist/src/main/compose/ozonesecure-ha/s3g-virtual-host.yaml hadoop-ozone/dist/src/main/compose/ozonesecure-ha/scm-decommission.yaml hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java hadoop-ozone/interface-client/src/main/proto/OmClientProtocol.proto hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/audit/OMAction.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManager.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysDeleteRequest.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketDeleteResponse.java hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTableInfo.java hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/exception/S3ErrorTable.java hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketAcl.java hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketList.java hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketPut.java hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPermissionCheck.java hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/metrics/TestS3GatewayMetrics.java
2 parents b16ea44 + 563b9d5 commit c2c1d19

File tree

3,169 files changed

+153986
-51452
lines changed

Some content is hidden

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

3,169 files changed

+153986
-51452
lines changed

.github/ci.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,13 @@ If they don't match, it describes how to make the updates to include the changes
7373
- basic
7474
- integration
7575

76-
### close-prs Workflow
77-
[This](./workflows/close-pending.yaml) workflow is scheduled each night at midnight; it closes PR's that have not been updated in the last 21 days, while letting the author know they are free to reopen.
76+
### close-stale-prs Workflow
77+
[This](./workflows/close-stale-prs.yml) workflow is scheduled each night at midnight and uses the [actions/stale](https://github.com/actions/stale) to automatically manage inactive PRs. It marks PRs as stale after 21 days of inactivity and closes them 7 days later. If a stale PR receives any updates or comments, the stale label is automatically removed.
7878

7979
### comment-commands Workflow
8080
[This](./workflows/comments.yaml) workflow is triggered each time a comment is added/edited to a PR. It checks to see if the body of the comment begins with one of the following strings and, if so, invokes the corresponding command.
81-
- /close : [Close](./comment-commands/close.sh) pending pull request (with message saying author is free to reopen.)
8281
- /help : [Show](./comment-commands/help.sh) all the available comment commands
8382
- /label : [Add](./comment-commands/label.sh) new label to the issue: /label "label"
84-
- /pending : [Add](./comment-commands/pending.sh) a REQUESTED_CHANGE type review to mark issue non-mergeable: /pending "reason"
85-
- /ready : [Dismiss](./comment-commands/ready.sh) all the blocking reviews
8683
- /retest : [Provide](./comment-commands/retest.sh) help on how to trigger new CI build
8784

8885

.github/close-pending.sh

Lines changed: 0 additions & 41 deletions
This file was deleted.

.github/closing-message.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/comment-commands/pending.sh

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/check.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ env:
136136
OZONE_IMAGE: ghcr.io/apache/ozone
137137
OZONE_RUNNER_IMAGE: ghcr.io/apache/ozone-runner
138138
OZONE_VOLUME_OWNER: 1000
139+
SCRIPT: ${{ inputs.script }}
139140

140141
jobs:
141142
check:
@@ -167,7 +168,6 @@ jobs:
167168
with:
168169
path: |
169170
~/.pnpm-store
170-
**/node_modules
171171
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
172172
restore-keys: |
173173
${{ runner.os }}-pnpm-
@@ -223,38 +223,46 @@ jobs:
223223
- name: Execute pre-test steps
224224
if: ${{ inputs.pre-script }}
225225
run: |
226-
${{ inputs.pre-script }}
226+
$COMMAND
227+
env:
228+
COMMAND: ${{ inputs.pre-script }}
227229

228230
- name: Execute tests
229231
run: |
230-
hadoop-ozone/dev-support/checks/${{ inputs.script }}.sh ${{ inputs.script-args }} ${{ inputs.ratis-args }}
232+
$COMMAND
231233
env:
234+
COMMAND: hadoop-ozone/dev-support/checks/${{ inputs.script }}.sh ${{ inputs.script-args }} ${{ inputs.ratis-args }}
232235
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
233236
OZONE_WITH_COVERAGE: ${{ inputs.with-coverage }}
234237

235238
- name: Execute post-failure steps
236239
if: ${{ failure() && inputs.post-failure }}
237240
run: |
238-
${{ inputs.post-failure }}
241+
$COMMAND
242+
env:
243+
COMMAND: ${{ inputs.post-failure }}
239244

240245
- name: Execute post-success steps
241246
if: ${{ !failure() && inputs.post-success }}
242247
run: |
243-
${{ inputs.post-success }}
248+
$COMMAND
249+
env:
250+
COMMAND: ${{ inputs.post-success }}
244251

245252
- name: Summary of failures
246253
if: ${{ failure() }}
247254
run: |
248-
if [[ -s "target/${{ inputs.script }}/summary.md" ]]; then
249-
cat target/${{ inputs.script }}/summary.md >> $GITHUB_STEP_SUMMARY
255+
if [[ -s "target/$SCRIPT/summary.md" ]]; then
256+
cat target/$SCRIPT/summary.md >> $GITHUB_STEP_SUMMARY
250257
fi
251-
hadoop-ozone/dev-support/checks/_summary.sh target/${{ inputs.script }}/summary.txt
258+
hadoop-ozone/dev-support/checks/_summary.sh target/$SCRIPT/summary.txt
252259
253260
- name: Archive build results
254261
if: ${{ !cancelled() }}
255262
uses: actions/upload-artifact@v4
256263
with:
257264
name: ${{ (inputs.split && format('{0}-{1}', inputs.script, inputs.split)) || inputs.script }}
265+
# please keep path as a single item; move to that directory all files needed in the artifact
258266
path: target/${{ inputs.script }}
259267
continue-on-error: true
260268

.github/workflows/ci.yml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ on:
2727
default: ''
2828
required: false
2929
env:
30-
BUILD_ARGS: "-Pdist -Psrc -Dmaven.javadoc.skip=true"
30+
BUILD_ARGS: "-Pdist -Psrc -Dmaven.javadoc.skip=true -Drocks_tools_native"
3131
# Minimum required Java version for running Ozone is defined in pom.xml (javac.version).
3232
TEST_JAVA_VERSION: 21 # JDK version used by CI build and tests; should match the JDK version in apache/ozone-runner image
3333
# MAVEN_ARGS and MAVEN_OPTS are duplicated in check.yml, please keep in sync
@@ -44,7 +44,6 @@ jobs:
4444
acceptance-suites: ${{ steps.acceptance-suites.outputs.suites }}
4545
integration-suites: ${{ steps.integration-suites.outputs.suites }}
4646
needs-basic-check: ${{ steps.categorize-basic-checks.outputs.needs-basic-check }}
47-
needs-native-check: ${{ steps.categorize-basic-checks.outputs.needs-native-check }}
4847
basic-checks: ${{ steps.categorize-basic-checks.outputs.basic-checks }}
4948
needs-build: ${{ steps.selective-checks.outputs.needs-build }}
5049
needs-compile: ${{ steps.selective-checks.outputs.needs-compile }}
@@ -112,7 +111,7 @@ jobs:
112111
build:
113112
needs:
114113
- build-info
115-
if: needs.build-info.outputs.needs-build == 'true'
114+
if: needs.build-info.outputs.needs-build == 'true' || needs.build-info.outputs.needs-integration-tests == 'true'
116115
uses: ./.github/workflows/check.yml
117116
with:
118117
java-version: ${{ needs.build-info.outputs.java-version }}
@@ -139,7 +138,7 @@ jobs:
139138
include:
140139
- os: ubuntu-24.04
141140
- java: 8
142-
os: macos-13
141+
os: macos-15-intel
143142
fail-fast: false
144143
uses: ./.github/workflows/check.yml
145144
with:
@@ -174,35 +173,33 @@ jobs:
174173
check: ${{ fromJson(needs.build-info.outputs.basic-checks) }}
175174
fail-fast: false
176175

177-
native:
176+
dependency:
178177
needs:
179178
- build-info
180-
- basic
181-
if: needs.build-info.outputs.needs-native-check == 'true'
179+
- build
182180
uses: ./.github/workflows/check.yml
183181
secrets: inherit
184182
with:
185183
java-version: ${{ needs.build-info.outputs.java-version }}
186-
ratis-args: ${{ inputs.ratis_args }}
187-
script: native
184+
needs-ozone-binary-tarball: true
185+
script: dependency
188186
sha: ${{ needs.build-info.outputs.sha }}
189-
timeout-minutes: 150
190-
with-coverage: ${{ fromJSON(needs.build-info.outputs.with-coverage) }}
187+
timeout-minutes: 5
191188

192-
dependency:
189+
license:
193190
needs:
194191
- build-info
195192
- build
196193
uses: ./.github/workflows/check.yml
197194
secrets: inherit
198195
with:
199196
java-version: ${{ needs.build-info.outputs.java-version }}
200-
needs-ozone-binary-tarball: true
201-
script: dependency
197+
needs-ozone-repo: true
198+
script: license
202199
sha: ${{ needs.build-info.outputs.sha }}
203-
timeout-minutes: 5
200+
timeout-minutes: 15
204201

205-
license:
202+
javadoc:
206203
needs:
207204
- build-info
208205
- build
@@ -211,9 +208,9 @@ jobs:
211208
with:
212209
java-version: ${{ needs.build-info.outputs.java-version }}
213210
needs-ozone-repo: true
214-
script: license
211+
script: javadoc
215212
sha: ${{ needs.build-info.outputs.sha }}
216-
timeout-minutes: 15
213+
timeout-minutes: 30
217214

218215
repro:
219216
needs:
@@ -281,18 +278,22 @@ jobs:
281278
integration:
282279
needs:
283280
- build-info
281+
- build
284282
- basic
283+
- dependency
284+
- license
285285
if: needs.build-info.outputs.needs-integration-tests == 'true'
286286
uses: ./.github/workflows/check.yml
287287
secrets: inherit
288288
with:
289289
java-version: ${{ needs.build-info.outputs.java-version }}
290+
pre-script: sudo hostname localhost
290291
ratis-args: ${{ inputs.ratis_args }}
291292
script: integration
292-
script-args: -Ptest-${{ matrix.profile }}
293+
script-args: -Ptest-${{ matrix.profile }} -Drocks_tools_native
293294
sha: ${{ needs.build-info.outputs.sha }}
294295
split: ${{ matrix.profile }}
295-
timeout-minutes: 150
296+
timeout-minutes: 90
296297
with-coverage: ${{ fromJSON(needs.build-info.outputs.with-coverage) }}
297298
strategy:
298299
matrix:
@@ -307,7 +308,6 @@ jobs:
307308
- build-info
308309
- acceptance
309310
- integration
310-
- native
311311
steps:
312312
- name: Checkout project
313313
uses: actions/checkout@v4
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one or more
2+
# contributor license agreements. See the NOTICE file distributed with
3+
# this work for additional information regarding copyright ownership.
4+
# The ASF licenses this file to You under the Apache License, Version 2.0
5+
# (the "License"); you may not use this file except in compliance with
6+
# the License. You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
name: close-stale-prs
16+
17+
on:
18+
schedule:
19+
- cron: '0 0 * * *'
20+
21+
jobs:
22+
close-stale-prs:
23+
permissions:
24+
pull-requests: write
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Close Stale PRs
28+
uses: actions/stale@v10
29+
with:
30+
stale-pr-label: 'stale'
31+
exempt-draft-pr: false
32+
days-before-issue-stale: -1
33+
days-before-pr-stale: 21
34+
days-before-pr-close: 7
35+
remove-pr-stale-when-updated: true
36+
operations-per-run: 500
37+
stale-pr-message: 'This PR has been marked as stale due to 21 days of inactivity. Please comment or remove the stale label to keep it open. Otherwise, it will be automatically closed in 7 days.'
38+
close-pr-message: 'Thank you for your contribution. This PR is being closed due to inactivity. If needed, feel free to reopen it.'

0 commit comments

Comments
 (0)