This is an automated email from the ASF dual-hosted git repository. smengcl pushed a commit to branch HDDS-13323-sts in repository https://gitbox.apache.org/repos/asf/ozone.git
commit 2b5240bf92f9452164542d04d90598415206a4fb Merge: 3a56b7faa35 2c02f432d30 Author: Fabian Morgan <[email protected]> AuthorDate: Tue Aug 18 00:21:38 2026 -0700 Merge remote-tracking branch 'upstream/master' into HDDS-13323-sts Conflicts: hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestOzoneConfigurationFields.java hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSaveScanStateRequest.java hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/audit/S3GAction.java hadoop-hdds/client/pom.xml | 4 + .../apache/hadoop/hdds/scm/XceiverClientGrpc.java | 5 +- .../apache/hadoop/hdds/scm/XceiverClientRatis.java | 3 +- .../hdds/scm/storage/MultipartInputStream.java | 4 +- .../hdds/scm/storage/StreamBlockInputStream.java | 186 ++-- .../java/org/apache/hadoop/hdds/HddsUtils.java | 64 ++ .../hdds/ratis/ServerNotLeaderException.java | 5 +- .../apache/hadoop/hdds/scm/net/HostAndPort.java | 3 +- .../hadoop/hdds/tracing/GrpcServerInterceptor.java | 4 +- .../hadoop/hdds/tracing/InternalSpanKind.java | 33 + .../apache/hadoop/hdds/tracing/TraceAllMethod.java | 9 +- .../apache/hadoop/hdds/tracing/TracingUtil.java | 56 +- .../org/apache/hadoop/ozone/common/Checksum.java | 186 ++-- .../apache/hadoop/ozone/common/ChecksumCache.java | 117 ++- .../hadoop/ozone/common/utils/BufferUtils.java | 23 + .../common/src/main/resources/ozone-default.xml | 16 +- .../java/org/apache/hadoop/hdds/TestHddsUtils.java | 62 ++ ...TestServerNotLeaderExceptionMessageParsing.java | 22 + .../hadoop/hdds/scm/net/TestHostAndPort.java | 6 + .../hadoop/hdds/tracing/TestTraceAllMethod.java | 20 + .../hdds/tracing/TestTracingAnnotations.java | 88 ++ .../hadoop/hdds/tracing/TestTracingUtil.java | 77 +- .../apache/hadoop/ozone/common/TestChecksum.java | 17 + .../hadoop/ozone/common/TestChecksumCache.java | 73 +- .../ozone/common/TestChecksumMultiBuffer.java | 97 ++ .../hadoop/ozone/common/utils/TestBufferUtils.java | 81 ++ .../checksum/ContainerChecksumTreeManager.java | 12 +- .../container/checksum/ContainerDiffReport.java | 13 + .../common/transport/server/XceiverServerGrpc.java | 4 +- .../transport/server/ratis/XceiverServerRatis.java | 4 +- .../common/volume/DatanodeStorageMetrics.java | 39 +- .../container/common/volume/MutableVolumeSet.java | 37 + .../ozone/container/keyvalue/KeyValueHandler.java | 177 +++- .../container/keyvalue/impl/BlockManagerImpl.java | 10 + .../keyvalue/interfaces/BlockManager.java | 10 + .../common/volume/TestDatanodeStorageMetrics.java | 52 +- .../container/common/volume/TestVolumeSet.java | 27 + .../TestReconcileChunksPerBlockHoleBcsId.java | 522 ++++++++++ .../keyvalue/impl/TestFilePerBlockStrategy.java | 10 +- .../docs/content/tools/debug/DebugReplicas.md | 6 + .../scm/proxy/SCMFailoverProxyProviderBase.java | 95 +- .../server/OzoneProtocolMessageDispatcher.java | 3 +- .../TestSCMFailoverProxyProviderRefreshWired.java | 167 ++- .../ozone/rocksdiff/RocksDBCheckpointDiffer.java | 48 +- .../rocksdiff/TestRocksDBCheckpointDiffer.java | 55 +- .../hdds/scm/container/ContainerStateManager.java | 6 + .../scm/container/ContainerStateManagerImpl.java | 30 + .../hadoop/hdds/scm/ha/SCMRatisServerImpl.java | 31 +- .../ha/invoker/ContainerStateManagerInvoker.java | 25 +- .../hdds/scm/server/StorageContainerManager.java | 2 +- .../scm/server/upgrade/SCMUpgradeFinalizer.java | 1 + .../hadoop/hdds/scm/ha/TestSCMRatisServerImpl.java | 62 ++ .../hdds/scm/upgrade/TestScmFinalization.java | 50 +- .../hdds/scm/cli/SafeModeCheckSubcommand.java | 49 +- .../admin/scm/GetScmRatisRolesSubcommand.java | 51 +- .../ozone/scm/TestGetScmRatisRolesSubcommand.java | 65 ++ .../ozone/debug/replicas/ReplicasVerify.java | 7 +- .../ozone/debug/replicas/TestReplicasVerify.java | 54 + hadoop-ozone/cli-shell/pom.xml | 4 + .../java/org/apache/hadoop/ozone/shell/Shell.java | 3 +- .../ozone/shell/snapshot/SnapshotDiffHandler.java | 7 + .../hadoop/ozone/client/OzoneClientFactory.java | 5 +- .../main/java/org/apache/hadoop/ozone/OmUtils.java | 6 +- .../hadoop/ozone/om/helpers/OmBucketInfo.java | 11 +- .../hadoop/ozone/om/helpers/SnapshotDiffJob.java | 3 +- ...OzoneManagerProtocolClientSideTranslatorPB.java | 14 +- .../ozone/snapshot/SnapshotDiffResponse.java | 28 +- .../java/org/apache/hadoop/ozone/TestOmUtils.java | 19 + .../hadoop/ozone/om/helpers/TestOmBucketInfo.java | 21 + .../ozone/snapshot/TestSnapshotDiffResponse.java | 40 +- .../grafana/dashboards/Ozone - Disk Balancer.json | 1096 ++++++++++++++++++++ hadoop-ozone/dist/src/main/smoketest/testlib.sh | 3 +- .../ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java | 4 +- .../ozone/s3/awssdk/v2/AbstractS3SDKV2Tests.java | 257 ++++- .../hadoop/conf/ConfigurationFieldsTests.java | 1 - .../scm/node/TestDecommissionAndMaintenance.java | 7 +- .../hadoop/ozone/TestOzoneConfigurationFields.java | 58 +- .../rpc/TestOzoneClientMultipartUploadWithFSO.java | 58 ++ .../rpc/read/TestStreamBlockInputStream.java | 56 +- .../ozone/client/rpc/read/TestStreamRead.java | 1 + .../dn/TestDatanodeStorageMetricsIntegration.java | 9 +- .../org/apache/hadoop/ozone/om/OMMXBeanTests.java | 88 ++ .../ozone/om/TestGetDBUpdatesAuthorization.java | 137 +++ .../TestOMInstallSnapshotDuringBootstrapping.java | 207 ++++ .../hadoop/ozone/om/TestOMRatisSnapshots.java | 172 +-- .../hadoop/ozone/om/snapshot/OmSnapshotTests.java | 26 + .../java/org/apache/ozone/test/NonHATests.java | 9 + .../src/main/proto/OmClientProtocol.proto | 21 +- .../interface-client/src/main/resources/proto.lock | 18 + .../RangerClientMultiTenantAccessController.java | 98 +- ...lientMultiTenantAccessControllerMockClient.java | 153 +++ .../org/apache/hadoop/ozone/om/KeyManager.java | 28 + .../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 33 +- .../apache/hadoop/ozone/om/OmMetadataReader.java | 37 +- .../org/apache/hadoop/ozone/om/OmSnapshot.java | 32 +- .../org/apache/hadoop/ozone/om/OzoneManager.java | 57 +- .../hadoop/ozone/om/TrashOzoneFileSystem.java | 34 +- .../hadoop/ozone/om/request/key/OMKeyRequest.java | 14 +- .../ozone/om/request/key/OMKeysDeleteRequest.java | 2 +- .../OMLifecycleConfigurationSetRequest.java | 50 +- .../lifecycle/OMLifecycleSaveScanStateRequest.java | 2 +- .../OMLifecycleSetServiceStatusRequest.java | 2 +- .../S3MultipartUploadCompleteRequest.java | 7 + .../om/request/volume/OMQuotaRepairRequest.java | 9 +- .../ozone/om/service/KeyDeletingService.java | 15 +- .../ozone/om/service/KeyLifecycleService.java | 187 ++-- .../ozone/om/snapshot/SnapshotDiffManager.java | 168 ++- .../diff/delta/CompositeDeltaDiffComputer.java | 3 + .../om/snapshot/filter/ReclaimableFilter.java | 15 +- .../protocolPB/OzoneManagerRequestHandler.java | 6 + .../hadoop/ozone/om/TestBucketManagerImpl.java | 132 +++ .../apache/hadoop/ozone/om/TestKeyManagerUnit.java | 55 +- .../hadoop/ozone/om/TestTrashOzoneFileSystem.java | 133 +++ .../om/request/key/TestOMKeysDeleteRequest.java | 53 + .../TestOMLifecycleConfigurationRequest.java | 45 +- .../TestOMLifecycleConfigurationSetRequest.java | 63 ++ .../TestOMLifecycleSaveScanStateRequest.java | 8 +- ...=> TestOMLifecycleSetServiceStatusRequest.java} | 61 +- .../request/volume/TestOMQuotaRepairRequest.java | 95 ++ .../ozone/om/service/TestKeyDeletingService.java | 245 +++++ .../ozone/om/service/TestKeyLifecycleService.java | 204 ++++ .../ozone/om/snapshot/TestSnapshotDiffManager.java | 160 ++- .../om/snapshot/TestSnapshotDiffManagerMXBean.java | 4 +- .../snapshot/defrag/TestSnapshotDefragService.java | 38 +- .../protocolPB/TestOzoneManagerRequestHandler.java | 65 ++ .../fs/ozone/BasicRootedOzoneFileSystem.java | 29 +- .../hadoop/fs/ozone/TestBasicOzoneFileSystems.java | 49 + .../org/apache/hadoop/ozone/recon/ReconServer.java | 10 + .../org/apache/hadoop/ozone/recon/ReconUtils.java | 55 +- .../ozone/recon/api/handlers/EntityHandler.java | 122 ++- .../ozone/recon/chatbot/ChatbotConfigKeys.java | 15 + .../recon/chatbot/agent/ChatHistoryBuilder.java | 175 ++++ .../ozone/recon/chatbot/agent/ChatbotAgent.java | 90 +- .../ozone/recon/chatbot/api/ChatbotEndpoint.java | 63 +- .../ozone/recon/metrics/NSSummaryMetrics.java | 91 ++ .../recon/spi/ReconNamespaceSummaryManager.java | 6 + .../spi/impl/ReconNamespaceSummaryManagerImpl.java | 21 +- .../impl/StorageContainerServiceProviderImpl.java | 3 +- .../recon-tool-selection-prompt-preamble.txt | 7 + .../ozone-recon-web/src/v2/hooks/useChat.hook.tsx | 28 +- .../ozone-recon-web/src/v2/types/chatbot.types.ts | 8 + .../apache/hadoop/ozone/recon/TestReconUtils.java | 40 + .../api/handlers/TestEntityHandlerCycleGuard.java | 196 ++++ .../chatbot/agent/TestChatHistoryBuilder.java | 289 ++++++ .../agent/TestChatbotAgentExecutionPolicy.java | 62 ++ .../recon/chatbot/api/TestChatbotEndpoint.java | 14 +- .../ozone/recon/metrics/TestNSSummaryMetrics.java | 60 ++ .../org/apache/hadoop/ozone/audit/S3GAction.java | 4 +- .../hadoop/ozone/s3/VirtualHostStyleFilter.java | 37 +- .../ozone/s3/endpoint/BucketLifecycleHandler.java | 19 +- .../hadoop/ozone/s3/endpoint/EndpointBase.java | 19 + .../s3/endpoint/GetObjectAttributesResponse.java | 206 ++++ .../ozone/s3/endpoint/ObjectAttributesHandler.java | 173 +++ .../hadoop/ozone/s3/endpoint/ObjectEndpoint.java | 21 +- .../s3/endpoint/S3LifecycleConfiguration.java | 16 +- .../hadoop/ozone/s3/metrics/S3GatewayMetrics.java | 22 + .../org/apache/hadoop/ozone/s3/util/S3Consts.java | 4 + .../ozone/s3/TestVirtualHostStyleFilter.java | 58 ++ .../ozone/s3/endpoint/EndpointTestUtils.java | 14 + .../ozone/s3/endpoint/TestObjectAttributesGet.java | 176 ++++ .../endpoint/TestS3LifecycleConfigurationPut.java | 110 +- 161 files changed, 9085 insertions(+), 914 deletions(-) diff --cc hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestOzoneConfigurationFields.java index ec7d20c4c86,a26a5b7ecc8..8e5118049ff --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestOzoneConfigurationFields.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestOzoneConfigurationFields.java @@@ -28,7 -36,7 +36,8 @@@ import org.apache.hadoop.ozone.om.OMCon import org.apache.hadoop.ozone.recon.ReconServerConfigKeys; import org.apache.hadoop.ozone.s3.S3GatewayConfigKeys; import org.apache.hadoop.ozone.s3secret.S3SecretConfigKeys; +import org.apache.hadoop.ozone.s3sts.S3STSConfigKeys; + import org.junit.jupiter.api.Test; /** * Tests if configuration constants documented in ozone-defaults.xml. diff --cc hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSaveScanStateRequest.java index 3b474b8f969,8a97f9d4191..91d9ff62fd0 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSaveScanStateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSaveScanStateRequest.java @@@ -44,8 -44,8 +44,8 @@@ public class OMLifecycleSaveScanStateRe @Override public OMRequest preExecute(OzoneManager ozoneManager) throws IOException { - OMRequest omRequest = super.preExecute(ozoneManager); + final OMRequest omRequest = super.preExecute(ozoneManager); - if (ozoneManager.getAclsEnabled()) { + if (ozoneManager.isAdminAuthorizationEnabled()) { UserGroupInformation ugi = createUGIForApi(); if (!ozoneManager.isAdmin(ugi)) { throw new OMException("Access denied for user " + ugi + ". " diff --cc hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSetServiceStatusRequest.java index a5933d302af,67dea0c363a..3aa18daf0b7 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSetServiceStatusRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/lifecycle/OMLifecycleSetServiceStatusRequest.java @@@ -57,9 -57,9 +57,9 @@@ public class OMLifecycleSetServiceStatu @Override public OMRequest preExecute(OzoneManager ozoneManager) throws IOException { - OMRequest request = super.preExecute(ozoneManager); + final OMRequest request = super.preExecute(ozoneManager); - if (ozoneManager.getAclsEnabled()) { + if (ozoneManager.isAdminAuthorizationEnabled()) { boolean suspend = request.getSetLifecycleServiceStatusRequest().getSuspend(); UserGroupInformation ugi = createUGIForApi(); if (!ozoneManager.isAdmin(ugi)) { diff --cc hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/audit/S3GAction.java index 32778af1555,16f5ceb1e4b..abdb64e5ff2 --- a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/audit/S3GAction.java +++ b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/audit/S3GAction.java @@@ -63,10 -63,8 +63,12 @@@ public enum S3GAction implements AuditA PUT_BUCKET_TAGGING, DELETE_BUCKET_TAGGING, PUT_OBJECT_ACL, - GET_OBJECT_ATTRIBUTES; + // STS endpoint - ASSUME_ROLE; ++ ASSUME_ROLE, + ++ GET_OBJECT_ATTRIBUTES; ++ @Override public String getAction() { return this.toString(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
