adoroszlai commented on a change in pull request #3155:
URL: https://github.com/apache/ozone/pull/3155#discussion_r818409318



##########
File path: 
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
##########
@@ -20,19 +20,34 @@
 /**
  * Versioning for protocol clients.
  */
-public final class ClientVersions {
+public enum ClientVersion {
 
   // old client, doesn't even send version number in requests
-  public static final int DEFAULT_VERSION = 0;
+  DEFAULT_VERSION(0, "Initial version"),
 
   // DatanodeDetails#getFromProtobuf handles unknown types of ports
-  public static final int VERSION_HANDLES_UNKNOWN_DN_PORTS = 1;
+  VERSION_HANDLES_UNKNOWN_DN_PORTS(1,
+      "Client version that handles the REPLICATION port in DatanodeDetails.");
 
-  // this should always point to the latest version
-  public static final int CURRENT_VERSION = VERSION_HANDLES_UNKNOWN_DN_PORTS;

Review comment:
       Same comment here about keeping this constant.

##########
File path: 
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/ClientVersion.java
##########
@@ -20,19 +20,34 @@
 /**
  * Versioning for protocol clients.
  */
-public final class ClientVersions {
+public enum ClientVersion {
 
   // old client, doesn't even send version number in requests
-  public static final int DEFAULT_VERSION = 0;
+  DEFAULT_VERSION(0, "Initial version"),
 
   // DatanodeDetails#getFromProtobuf handles unknown types of ports
-  public static final int VERSION_HANDLES_UNKNOWN_DN_PORTS = 1;
+  VERSION_HANDLES_UNKNOWN_DN_PORTS(1,
+      "Client version that handles the REPLICATION port in DatanodeDetails.");
 
-  // this should always point to the latest version
-  public static final int CURRENT_VERSION = VERSION_HANDLES_UNKNOWN_DN_PORTS;
+  private int version;
+  private String description;

Review comment:
       ```suggestion
     private final int version;
     private final String description;
   ```

##########
File path: 
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/DatanodeVersion.java
##########
@@ -20,16 +20,30 @@
 /**
  * Versioning for datanode.
  */
-public final class DatanodeVersions {
+public enum DatanodeVersion {
 
-  public static final int DEFAULT_VERSION = 0;
+  DEFAULT_VERSION(0, "Initial version"),
 
-  public static final int SEPARATE_RATIS_PORTS_AVAILABLE = 1;
+  SEPARATE_RATIS_PORTS_AVAILABLE(1, "Version with separated Ratis port.");
 
-  // this should always point to the latest version
-  public static final int CURRENT_VERSION = SEPARATE_RATIS_PORTS_AVAILABLE;

Review comment:
       I would keep this constant as:
   
   ```
     public static final DatanodeVersion CURRENT_VERSION = latest();
   ```
   
   (and replace `DatanodeVersion.latest()` calls with the constant)
   
   to avoid creating a new array (by `Enum.values()`) for each call to 
`latest()`.




-- 
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]

Reply via email to