This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 2e81ab1646 HDDS-10125. Verify config key does not duplicate prefix 
(#5995)
2e81ab1646 is described below

commit 2e81ab1646c2be91f5aa7ea48a663623e9c76bb6
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Mon Jan 15 19:23:55 2024 +0100

    HDDS-10125. Verify config key does not duplicate prefix (#5995)
---
 .../java/org/apache/hadoop/hdds/conf/ConfigFileGenerator.java | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigFileGenerator.java
 
b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigFileGenerator.java
index 93eaba4fd7..b6e61460da 100644
--- 
a/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigFileGenerator.java
+++ 
b/hadoop-hdds/config/src/main/java/org/apache/hadoop/hdds/conf/ConfigFileGenerator.java
@@ -127,14 +127,21 @@ public class ConfigFileGenerator extends 
AbstractProcessor {
   private void writeConfigAnnotations(ConfigGroup configGroup,
       ConfigFileAppender appender,
       TypeElement typeElement) {
-    //check if any of the setters are annotated with @Config
     for (Element element : typeElement.getEnclosedElements()) {
       if (element.getKind() == ElementKind.FIELD) {
         if (element.getAnnotation(Config.class) != null) {
 
-          //update the ozone-site-generated.xml
           Config configAnnotation = element.getAnnotation(Config.class);
 
+          if (configAnnotation.key().startsWith(configGroup.prefix())) {
+            String msg = String.format(
+                "@%s(key = \"%s\") should not duplicate prefix from 
@%s(\"%s\")",
+                Config.class.getSimpleName(), configAnnotation.key(),
+                ConfigGroup.class.getSimpleName(), configGroup.prefix());
+            processingEnv.getMessager().printMessage(Kind.ERROR, msg, element);
+            continue;
+          }
+
           String key = configGroup.prefix() + "."
               + configAnnotation.key();
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to