sarvekshayr commented on code in PR #11311:
URL: https://github.com/apache/ozone/pull/11311#discussion_r4090840759
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/validation/VersionExtractor.java:
##########
@@ -30,36 +30,29 @@ public enum VersionExtractor {
/**
* Extracts current metadata layout version.
*/
- LAYOUT_VERSION_EXTRACTOR {
- @Override
- public Versioned extractVersion(OMRequest req, ValidationContext ctx) {
- LayoutVersionManager layoutVersionManager = ctx.versionManager();
- return
ctx.versionManager().getFeature(layoutVersionManager.getMetadataLayoutVersion());
- }
-
- @Override
- public Class<? extends Annotation> getValidatorClass() {
- return OMLayoutVersionValidator.class;
- }
- },
+ LAYOUT_VERSION_EXTRACTOR,
/**
* Extracts client version from the OMRequests.
*/
- CLIENT_VERSION_EXTRACTOR {
- @Override
- public Versioned extractVersion(OMRequest req, ValidationContext ctx) {
- return req.getVersion() > ClientVersion.CURRENT_VERSION ?
- ClientVersion.FUTURE_VERSION :
ClientVersion.fromProtoValue(req.getVersion());
- }
+ CLIENT_VERSION_EXTRACTOR;
- @Override
- public Class<? extends Annotation> getValidatorClass() {
- return OMClientVersionValidator.class;
+ public Versioned extractVersion(OMRequest req, ValidationContext ctx) {
+ return switch (this) {
+ case LAYOUT_VERSION_EXTRACTOR -> {
+ LayoutVersionManager layoutVersionManager = ctx.versionManager();
+ yield
ctx.versionManager().getFeature(layoutVersionManager.getMetadataLayoutVersion());
Review Comment:
Either use `layoutVersionManager` variable or remove it.
##########
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/ContainerLayoutTestInfo.java:
##########
@@ -43,72 +43,42 @@
*/
public enum ContainerLayoutTestInfo {
- DUMMY {
- @Override
- public ChunkManager createChunkManager(boolean sync, BlockManager manager)
{
- return new ChunkManagerDummyImpl();
- }
+ DUMMY,
+ FILE_PER_CHUNK,
+ FILE_PER_BLOCK;
+
+ public ChunkManager createChunkManager(boolean sync, BlockManager manager) {
+ return switch (this) {
+ case DUMMY -> new ChunkManagerDummyImpl();
+ case FILE_PER_CHUNK -> new FilePerChunkStrategy(sync, manager);
+ case FILE_PER_BLOCK -> new FilePerBlockStrategy(sync, null);
+ };
+ }
- @Override
- public void validateFileCount(File dir, long blockCount, long chunkCount) {
- assertFileCount(dir, 0);
+ public void validateFileCount(File dir, long blockCount, long chunkCount) {
+ switch (this) {
+ case DUMMY -> assertFileCount(dir, 0);
+ case FILE_PER_CHUNK -> assertFileCount(dir, chunkCount);
+ case FILE_PER_BLOCK -> assertFileCount(dir, blockCount);
+ default -> throw new IllegalStateException();
Review Comment:
Why is the `default` added only for this method?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]