apache / apache/dubbo

[Bug] Dubbo 3.3.5 fails to start with Nacos 3.x due to removed /v1/ns/operator/switches API

Open
#15,554 4 comments 0 reactions 0 assignees View on GitHub
help wanted status/waiting-for-feedback type/enhancement
Dominant language
Java
Stars
41.6k
Forks
26.4k
Avg merge
15h 13m
Merged PRs (30d)
4

Description

### Pre-check

- [x] I am sure that all the content I provide is in English.

### Search before asking

- [x] I had searched in the [issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no similar issues.

### Apache Dubbo Component

Java SDK (apache/dubbo)

### Dubbo Version

| Item | Version |
| --------------- |-----------------|
| Dubbo | 3.3.0 |
| Nacos Server | 3.0.2 |
| JDK | openjdk-17 |
| OS | Windows |

### Steps to reproduce this issue

1.Start Nacos 3.0.2 in standalone mode:
docker run -d -p 8082:8848 -p 8083:9848 \
-e MODE=standalone nacos/nacos-server:3.0.2
Configure Dubbo application.yml:
dubbo:
config-center:
address: nacos://localhost:8082
registry:
address: nacos://localhost:8082
metadata-report:
address: nacos://localhost:8082
Start the Dubbo application.

### What you expected to happen

Application starts successfully with logs:
Successfully connected to nacos config server ...

### Anything else

Actual Behavior
Logs repeatedly print:
Failed to connect to nacos config server. Server status: DOWN. Config Service Available: true.
Root Cause
Dubbo uses GET /nacos/v1/ns/operator/switches to determine the server status.
Nacos 3.x has removed this endpoint and returns 410 Gone, causing Dubbo to treat the server as DOWN.

### Are you willing to submit a pull request to fix on your own?

- [x] Yes I am willing to submit a pull request on my own!

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

Contributor guide

Open the contributing guide

Research direction

Reproduce the startup failure with Dubbo 3.3.0, Nacos 3.0.2, and the supplied configuration, then trace the Nacos server-status check that requests GET /nacos/v1/ns/operator/switches. Confirm how the 410 response is interpreted and add compatibility handling with regression coverage. Done means the application starts successfully against Nacos 3.x without repeated DOWN status logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.