[ 
https://issues.apache.org/jira/browse/HDFS-17223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17785975#comment-17785975
 ] 

ASF GitHub Bot commented on HDFS-17223:
---------------------------------------

xinglin commented on code in PR #6183:
URL: https://github.com/apache/hadoop/pull/6183#discussion_r1392918855


##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java:
##########
@@ -1982,4 +1983,32 @@ public static void addTransferRateMetric(final 
DataNodeMetrics metrics, final lo
       LOG.warn("Unexpected value for data transfer bytes={} duration={}", 
read, duration);
     }
   }
+
+  /**
+   * Construct a HostSet from an array of "ip:port" strings.
+   * @param nodesHostPort ip port string array.
+   * @return HostSet of InetSocketAddress.
+   */
+  public static HostSet getHostSet(String[] nodesHostPort) {
+    HostSet retSet = new HostSet();
+    for (String hostPort : nodesHostPort) {
+      try {
+        URI uri = new URI("dummy", hostPort, null, null, null);
+        int port = uri.getPort();
+        if (port == -1 || port == 0) {

Review Comment:
   port=0 is valid. I guess we should probably just check for -1 here?
   
   ```
   /**
        * Returns the port number of this URI.
        *
        * <p> The port component of a URI, if defined, is a non-negative
        * integer. </p>
        *
        * @return  The port component of this URI,
        *          or {@code -1} if the port is undefined
        */
       public int getPort() {
           return port;
       }
   
   ```





> Add journalnode maintenance node list
> -------------------------------------
>
>                 Key: HDFS-17223
>                 URL: https://issues.apache.org/jira/browse/HDFS-17223
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: qjm
>    Affects Versions: 3.3.6
>            Reporter: kuper
>            Priority: Major
>              Labels: pull-request-available
>
> * In the case of configuring 3 journal nodes in HDFS, if only 2 journal nodes 
> are available and 1 journal node fails to start due to machine issues, it 
> will result in a long initialization time for the namenode (around 30-40 
> minutes, depending on the IPC timeout and retry policy configuration). 
> * The failed journal node cannot recover immediately, but HDFS can still 
> function in this situation. In our production environment, we encountered 
> this issue and had to reduce the IPC timeout and adjust the retry policy to 
> accelerate the namenode initialization and provide services. 
> * I'm wondering if it would be possible to have a journal node maintenance 
> list to speed up the namenode initialization knowing that one journal node 
> cannot provide services in advance?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to