Skip to content
Closed
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion hadoop-hdds/client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created #9530 to reduce the change that this PR needs to make in POM files. The other PR:

  1. adds the new annotations, since they were already introduced in HDDS-11981
  2. more importantly, removes RequestFeatureValidator from modules where it's not even accessible

So this PR will only need to update POMs for the removal of RequestFeatureValidator, and only in fewer modules.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merged with master branch

<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-hdds/common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,17 @@

package org.apache.hadoop.ozone;

import java.util.Comparator;

/**
* Base class defining the version in the entire system.
*/
public interface Versioned {
Comparator<Versioned> VERSIONED_COMPARATOR = Comparator.comparingInt(Versioned::version);

int version();

static Comparator<Versioned> versionComparator() {
return VERSIONED_COMPARATOR;
}
}
3 changes: 2 additions & 1 deletion hadoop-hdds/container-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-hdds/framework/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
</restrictImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-hdds/server-scm/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
</restrictImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/cli-admin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@
<bannedImport>org.apache.hadoop.hdds.conf.Config</bannedImport>
<bannedImport>org.apache.hadoop.hdds.conf.ConfigGroup</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
</bannedImports>
</restrictImports>
</rules>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/cli-shell/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@
<bannedImport>org.apache.hadoop.hdds.conf.Config</bannedImport>
<bannedImport>org.apache.hadoop.hdds.conf.ConfigGroup</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
</bannedImports>
</restrictImports>
</rules>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/csi/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/freon/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,8 @@
<bannedImport>org.apache.hadoop.hdds.conf.Config</bannedImport>
<bannedImport>org.apache.hadoop.hdds.conf.ConfigGroup</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
</bannedImports>
</restrictImports>
</rules>
Expand Down
3 changes: 2 additions & 1 deletion hadoop-ozone/insight/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@
<restrictImports>
<reason>Only selected annotation processors are enabled, see configuration of maven-compiler-plugin.</reason>
<bannedImports>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator</bannedImport>
<bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport>
<bannedImport>org.kohsuke.MetaInfServices</bannedImport>
</bannedImports>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationCondition;
import org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationContext;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.om.response.bucket.OMBucketCreateResponse;
Expand Down Expand Up @@ -405,10 +405,10 @@ public boolean checkQuotaBytesValid(OMMetadataManager metadataManager,

}

@RequestFeatureValidator(
conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
@OMLayoutVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateBucket
requestType = Type.CreateBucket,
applyBefore = OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT
)
public static OMRequest disallowCreateBucketWithECReplicationConfig(
OMRequest req, ValidationContext ctx) throws OMException {
Expand All @@ -428,10 +428,10 @@ public static OMRequest disallowCreateBucketWithECReplicationConfig(
return req;
}

@RequestFeatureValidator(
conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
@OMLayoutVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateBucket
requestType = Type.CreateBucket,
applyBefore = OMLayoutFeature.BUCKET_LAYOUT_SUPPORT
)
public static OMRequest handleCreateBucketWithBucketLayoutDuringPreFinalize(
OMRequest req, ValidationContext ctx) throws OMException {
Expand Down Expand Up @@ -469,10 +469,10 @@ public static OMRequest handleCreateBucketWithBucketLayoutDuringPreFinalize(
* write to them, instead of using the server default which may be in a layout
* they do not understand.
*/
@RequestFeatureValidator(
conditions = ValidationCondition.OLDER_CLIENT_REQUESTS,
@OMClientVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateBucket
requestType = Type.CreateBucket,
applyBefore = ClientVersion.BUCKET_LAYOUT_SUPPORT
)
public static OMRequest setDefaultBucketLayoutForOlderClients(OMRequest req,
ValidationContext ctx) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.apache.hadoop.hdds.utils.db.TableIterator;
import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.audit.AuditLogger;
import org.apache.hadoop.ozone.audit.OMAction;
Expand All @@ -45,8 +46,7 @@
import org.apache.hadoop.ozone.om.helpers.SnapshotInfo;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationCondition;
import org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationContext;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.om.response.bucket.OMBucketDeleteResponse;
Expand Down Expand Up @@ -275,10 +275,10 @@ private boolean bucketContainsSnapshotInCache(
* @return the validated request
* @throws OMException if the request is invalid
*/
@RequestFeatureValidator(
conditions = ValidationCondition.OLDER_CLIENT_REQUESTS,
@OMClientVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.DeleteBucket
requestType = Type.DeleteBucket,
applyBefore = ClientVersion.BUCKET_LAYOUT_SUPPORT
)
public static OMRequest blockBucketDeleteWithBucketLayoutFromOldClient(
OMRequest req, ValidationContext ctx) throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationCondition;
import org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationContext;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.om.response.bucket.OMBucketSetPropertyResponse;
Expand Down Expand Up @@ -352,10 +351,10 @@ public boolean checkQuotaNamespaceValid(OmVolumeArgs omVolumeArgs,
return true;
}

@RequestFeatureValidator(
conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
@OMLayoutVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.SetBucketProperty
requestType = Type.SetBucketProperty,
applyBefore = OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT
)
public static OMRequest disallowSetBucketPropertyWithECReplicationConfig(
OMRequest req, ValidationContext ctx) throws OMException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.audit.AuditLogger;
import org.apache.hadoop.ozone.audit.OMAction;
Expand All @@ -44,8 +45,8 @@
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.key.OMKeyRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationCondition;
import org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationContext;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.om.response.file.OMDirectoryCreateResponse;
Expand Down Expand Up @@ -262,10 +263,10 @@ private void logResult(CreateDirectoryRequest createDirectoryRequest,
}
}

@RequestFeatureValidator(
conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
@OMLayoutVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateDirectory
requestType = Type.CreateDirectory,
applyBefore = OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please simply replace the two changed lines instead of moving things around.

-  @RequestFeatureValidator(
-      conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
+  @OMLayoutVersionValidator(
+      applyBefore = OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

)
public static OMRequest disallowCreateDirectoryWithECReplicationConfig(
OMRequest req, ValidationContext ctx) throws OMException {
Expand Down Expand Up @@ -295,10 +296,10 @@ public static OMRequest disallowCreateDirectoryWithECReplicationConfig(
* @return the validated request
* @throws OMException if the request is invalid
*/
@RequestFeatureValidator(
conditions = ValidationCondition.OLDER_CLIENT_REQUESTS,
@OMClientVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateDirectory
requestType = Type.CreateDirectory,
applyBefore = ClientVersion.BUCKET_LAYOUT_SUPPORT
)
public static OMRequest blockCreateDirectoryWithBucketLayoutFromOldClient(
OMRequest req, ValidationContext ctx) throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.hdds.scm.container.common.helpers.ExcludeList;
import org.apache.hadoop.hdds.utils.UniqueId;
import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.audit.OMAction;
import org.apache.hadoop.ozone.om.OMMetadataManager;
Expand All @@ -49,8 +50,8 @@
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
import org.apache.hadoop.ozone.om.request.key.OMKeyRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationCondition;
import org.apache.hadoop.ozone.om.request.validation.OMClientVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.OMLayoutVersionValidator;
import org.apache.hadoop.ozone.om.request.validation.ValidationContext;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.om.response.file.OMFileCreateResponse;
Expand Down Expand Up @@ -380,10 +381,10 @@ protected void checkAllParentsExist(KeyArgs keyArgs,
}
}

@RequestFeatureValidator(
conditions = ValidationCondition.CLUSTER_NEEDS_FINALIZATION,
@OMLayoutVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = CreateFile
requestType = CreateFile,
applyBefore = OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT
)
public static OMRequest disallowCreateFileWithECReplicationConfig(
OMRequest req, ValidationContext ctx) throws OMException {
Expand Down Expand Up @@ -412,10 +413,10 @@ public static OMRequest disallowCreateFileWithECReplicationConfig(
* @return the validated request
* @throws OMException if the request is invalid
*/
@RequestFeatureValidator(
conditions = ValidationCondition.OLDER_CLIENT_REQUESTS,
@OMClientVersionValidator(
processingPhase = RequestProcessingPhase.PRE_PROCESS,
requestType = Type.CreateFile
requestType = Type.CreateFile,
applyBefore = ClientVersion.BUCKET_LAYOUT_SUPPORT
)
public static OMRequest blockCreateFileWithBucketLayoutFromOldClient(
OMRequest req, ValidationContext ctx) throws IOException {
Expand Down
Loading