alibaba / nacos

an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
https://nacos.io
Apache License 2.0
30.35k stars 12.86k forks source link

When the password contains #, the nacos service cannot be started. #12854

Closed hxxshidage closed 4 days ago

hxxshidage commented 1 week ago

When the password contains the # sign, the nacos service fails to start. A NumberFormatException is thrown. The stack is as follows: java.lang.NumberFormatException: For input string: "prod" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) at java.base/java.lang.Integer.parseInt(Integer.java:668) at java.base/java.lang.Integer.parseInt(Integer.java:786) at org.apache.dubbo.common.URLStrParser.parseURLBody(URLStrParser.java:162) at org.apache.dubbo.common.URLStrParser.parseDecodedStr(URLStrParser.java:60) at org.apache.dubbo.common.URL.valueOf(URL.java:255) at org.apache.dubbo.common.URL.valueOf(URL.java:235) at org.apache.dubbo.registry.nacos.NacosRegistryFactory.createRegistryCacheKey(NacosRegistryFactory.java:38) at org.apache.dubbo.registry.support.AbstractRegistryFactory.getRegistry(AbstractRegistryFactory.java:75) at org.apache.dubbo.registry.RegistryFactoryWrapper.getRegistry(RegistryFactoryWrapper.java:33) at org.apache.dubbo.registry.RegistryFactory$Adaptive.getRegistry(RegistryFactory$Adaptive.java) at org.apache.dubbo.registry.integration.RegistryProtocol.getRegistry(RegistryProtocol.java:446) at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:531) at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:80) at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:85) at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:110) at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:48) at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) at org.apache.dubbo.config.ReferenceConfig.createInvoker(ReferenceConfig.java:620) at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:466) at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:353) at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:238) at org.apache.dubbo.config.ReferenceConfigBase.get(ReferenceConfigBase.java:379) at org.apache.dubbo.config.utils.SimpleReferenceCache.destroyReference(SimpleReferenceCache.java:288) at org.apache.dubbo.config.utils.SimpleReferenceCache.destroy(SimpleReferenceCache.java:241) at org.apache.dubbo.config.utils.SimpleReferenceCache.destroy(SimpleReferenceCache.java:265) at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:500) at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780) at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:475) at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:176) // more...

The cause of the error is shown in the figure below:

WhatsApp Image 2024-11-15 at 15 06 56

Hope official fix it. thanks

fuhouyu commented 5 days ago

at org.apache.dubbo.common.URLStrParser.parseURLBody(URLStrParser.java:162) This is an error thrown by dubbo, not nacos, you need to update the password, or go to the dubbo community to raise an issue

hxxshidage commented 4 days ago

OK, I will move it to dubbo's issue