After you stop, restart, or release a service provider, its IP address may still appear in the Microservices Engine (MSE) console. This topic explains why stale entries persist and how to remove them.
Symptoms
A service provider is stopped, but its information still appears in the MSE console.
A service provider is restarted or released, but the previous instance remains listed in the MSE console.
Causes
A Nacos-based service registry removes an instance only after it stops receiving heartbeat messages. Stale entries persist for one of two reasons:
The service process is not fully stopped. The process still runs in the background and continues to send heartbeats to the MSE Nacos instance, which keeps the registration active.
A duplicate process is sending heartbeats. An additional application process on the same or a different host sends heartbeats on behalf of the service provider, which prevents the MSE Nacos instance from deregistering it.
Solution
Step 1: Block traffic to the stale service provider
Before you diagnose the root cause, prevent the stale service provider from receiving traffic by disabling it in the MSE console.
For detailed steps, see Start or shut down an application instance.
Step 2: Verify that the service process is fully stopped
The diagnostic approach depends on the deployment environment of the service provider.
ECS deployment
Log on to the Elastic Compute Service (ECS) instance at the IP address shown in the MSE console, then run the following commands:
Check whether the service process is still running: Replace
<application-name>with the name of your application.ps -ef | grep <application-name>Check whether the process maintains a connection to the MSE Nacos instance:
# Check the Nacos gRPC port netstat -anp | grep 9848 # Check the Nacos HTTP port netstat -anp | grep 8848
If the process is still running and connected to the MSE Nacos instance, stop the process.
Kubernetes, Docker, or ACK deployment
If the service provider runs in a self-managed Kubernetes cluster, a Docker environment, or a Container Service for Kubernetes (ACK) cluster:
On the node or host, check whether the actual number of service processes matches the expected count:
ps -ef | grep <application-name>If extra processes exist, identify the pod or container that corresponds to the stale entry and stop it.
For ACK clusters, if you cannot identify the stale pod, submit a ticket to contact ACK technical support.
EDAS or SAE deployment
If the service provider runs on Enterprise Distributed Application Service (EDAS) or Serverless App Engine (SAE), contact the respective technical support team through the following DingTalk groups:
| Platform | DingTalk group ID |
|---|---|
| EDAS | 31723701 |
| SAE | 32874633 |