dianjifzm opened a new issue, #13743:
URL: https://github.com/apache/dubbo/issues/13743

   <!-- If you need to report a security issue please visit 
https://github.com/apache/dubbo/security/policy -->
   
   ### Environment
   
   * Dubbo version: 3.2.11
   * Operating System version:  Apple M2芯片 macOS 14.2.1 
   * Java version: OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, 
sharing)
   
   ### 复现方式1
   
   
   ```
   public static void main(String[] args) throws Exception {
           NetUtils.getLocalHost();
           long l = System.currentTimeMillis();
           NetUtils.getLocalHost();
           System.out.println("use " + (System.currentTimeMillis() - l) + "ms");
           System.out.println();
   }
   ```
   
   多数情况下,第二次调用NetUtils.getLocalHost() 会使用极短时间,因为HOST_ADDRESS已经缓存了上次调用的结果
   但是在Apple M2芯片 macOS 14.2.1 环境下,非root用户执行 InetAddress.isReachable 
会一直返回false,这导致了HOST_ADDRESS赋值失败。
   
   ### 复现方式2
   
   因为几乎每行日志都使用了NetUtils.getLocalHost(),这最终导致了dubbo整体启动时间的大幅度上涨
   
   下面日志是 root用户和普通用户调用FrameworkModel.defaultModel() 的区别(注意观察日志的时间戳)
    
   Java代码
   ```
   import org.apache.dubbo.rpc.model.FrameworkModel;
   
   public class FrameworkModelDemo {
   
        public static void main(String[] args) throws Exception {
                long l = System.currentTimeMillis();
                FrameworkModel.defaultModel();
                System.out.println("use " + (System.currentTimeMillis() - l) + 
"ms");
        }
   
   }
   
   ```
   
   普通用户
   ``` 
   java -cp .:build:./target/dependency/* FrameworkModelDemo
   2024-02-05 21:19:34.661 INFO  org.apache.dubbo.rpc.model.FrameworkModel 
[<init>:86] [main] -  [DUBBO] Dubbo Framework[1] is created, dubbo version: 
3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:35.098 INFO  
org.apache.dubbo.common.resource.GlobalResourcesRepository 
[getExecutorService:96] [main] -  [DUBBO] Creating global shared handler ..., 
dubbo version: 3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:35.569 INFO  org.apache.dubbo.rpc.model.ApplicationModel 
[<init>:107] [main] -  [DUBBO] Dubbo Application[1.0](unknown) is created, 
dubbo version: 3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:35.980 INFO  org.apache.dubbo.rpc.model.ScopeModel 
[<init>:63] [main] -  [DUBBO] Dubbo Module[1.0.0] is created, dubbo version: 
3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:36.416 INFO  
org.apache.dubbo.config.context.AbstractConfigManager [initialize:143] [main] - 
 [DUBBO] Config settings: {dubbo.config.mode=STRICT, 
dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.11, current 
host: 127.0.0.1
   2024-02-05 21:19:36.828 INFO  
org.apache.dubbo.config.context.AbstractConfigManager [initialize:143] [main] - 
 [DUBBO] Config settings: {dubbo.config.mode=STRICT, 
dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.11, current 
host: 127.0.0.1
   2024-02-05 21:19:37.248 INFO  
org.apache.dubbo.common.utils.SerializeSecurityManager 
[setCheckSerializable:107] [main] -  [DUBBO] Serialize check serializable: 
true, dubbo version: 3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:37.660 INFO  
org.apache.dubbo.common.utils.SerializeSecurityConfigurator [loadAllow:135] 
[main] -  [DUBBO] Read serialize allow list from 
jar:file:/Users/fzming/workspace/demos/alibaba.com/dubbo3/performance_init_test/target/dependency/dubbo-3.2.11.jar!/security/serialize.allowlist,
 dubbo version: 3.2.11, current host: 127.0.0.1
   2024-02-05 21:19:38.118 INFO  
org.apache.dubbo.common.utils.SerializeSecurityConfigurator [loadBlocked:159] 
[main] -  [DUBBO] Read serialize blocked list from 
jar:file:/Users/fzming/workspace/demos/alibaba.com/dubbo3/performance_init_test/target/dependency/dubbo-3.2.11.jar!/security/serialize.blockedlist,
 dubbo version: 3.2.11, current host: 127.0.0.1
   use 4077ms
   
   ```
   
   root用户
   ```
   sudo java -cp .:build:./target/dependency/* FrameworkModelDemo
   2024-02-05 21:20:36.077 INFO  org.apache.dubbo.rpc.model.FrameworkModel 
[<init>:86] [main] -  [DUBBO] Dubbo Framework[1] is created, dubbo version: 
3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.087 INFO  
org.apache.dubbo.common.resource.GlobalResourcesRepository 
[getExecutorService:96] [main] -  [DUBBO] Creating global shared handler ..., 
dubbo version: 3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.127 INFO  org.apache.dubbo.rpc.model.ApplicationModel 
[<init>:107] [main] -  [DUBBO] Dubbo Application[1.0](unknown) is created, 
dubbo version: 3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.128 INFO  org.apache.dubbo.rpc.model.ScopeModel 
[<init>:63] [main] -  [DUBBO] Dubbo Module[1.0.0] is created, dubbo version: 
3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.139 INFO  
org.apache.dubbo.config.context.AbstractConfigManager [initialize:143] [main] - 
 [DUBBO] Config settings: {dubbo.config.mode=STRICT, 
dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.11, current 
host: 100.85.129.227
   2024-02-05 21:20:36.139 INFO  
org.apache.dubbo.config.context.AbstractConfigManager [initialize:143] [main] - 
 [DUBBO] Config settings: {dubbo.config.mode=STRICT, 
dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.11, current 
host: 100.85.129.227
   2024-02-05 21:20:36.144 INFO  
org.apache.dubbo.common.utils.SerializeSecurityManager 
[setCheckSerializable:107] [main] -  [DUBBO] Serialize check serializable: 
true, dubbo version: 3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.144 INFO  
org.apache.dubbo.common.utils.SerializeSecurityConfigurator [loadAllow:135] 
[main] -  [DUBBO] Read serialize allow list from 
jar:file:/Users/fzming/workspace/demos/alibaba.com/dubbo3/performance_init_test/target/dependency/dubbo-3.2.11.jar!/security/serialize.allowlist,
 dubbo version: 3.2.11, current host: 100.85.129.227
   2024-02-05 21:20:36.166 INFO  
org.apache.dubbo.common.utils.SerializeSecurityConfigurator [loadBlocked:159] 
[main] -  [DUBBO] Read serialize blocked list from 
jar:file:/Users/fzming/workspace/demos/alibaba.com/dubbo3/performance_init_test/target/dependency/dubbo-3.2.11.jar!/security/serialize.blockedlist,
 dubbo version: 3.2.11, current host: 100.85.129.227
   use 284ms
   ```
   


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