liushiqi1001 commented on PR #3092:
URL: https://github.com/apache/dubbo-go/pull/3092#issuecomment-3635361204
⚠️ **PLEASE HOLD THIS PR - Critical Issue Found**
Hi reviewers (@No-SilverBullet @FoghostCn @1kasa),
I discovered a critical issue with the current fallback implementation
that causes service discovery failures in production.
### Problem
When the metadata retrieval fails and triggers the fallback logic, the
current implementation creates a MetadataInfo with an **empty Services map**:
```go
Services: map[string]*common.ServiceInfo{}, // Empty map
This causes the following error when consumers try to invoke the service:
No provider available for the service
tri://:@10.128.32.193:/?interface=ai.restosuite.infrastructure.operation.rpc.CorporationRpcService&group=&version
Root Cause
The service discovery mechanism relies on the Services information in
MetadataInfo to locate available providers. When the Services map is empty,
consumers cannot
find any providers even though they are actually registered in Nacos.
Impact
- ❌ All RPC calls fail with "No provider available"
- ❌ Service discovery completely broken when fallback is triggered
- ❌ More severe than the original panic issue
Next Steps
I'm working on an improved fallback strategy that:
1. Extracts service information from Nacos instance metadata
2. Builds basic ServiceInfo structures to maintain service availability
3. Ensures consumers can still discover and invoke providers
I will update this PR within 24 hours with the fix.
Please do not merge until this issue is resolved.
Thank you for your patience!
--
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]