hashicorp / hashicorp/consul

The disk space of the backup node is full, the master node is running normally, but the registration from the master node fails

Open
#17,200 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

#### Overview of the Issue

The disk space of the backup node is full, the master node is running normally, but the registration from the master node fails.
The behavior I expect is that when there is a problem with the standby node, it should be normal to register through the master node, rather than when the standby node is abnormal, the registration function of the cluster cannot be used.

### Consul info for both Client and Server

consul --version
```
Consul v1.12.2
Revision 19041f20
```

### Operating system and Environment details

Rocky Linux release 8.6

### Scenes

When there was a problem with my standby node, I registered the service through the primary node, but found that the registration was stuck, and the following error appeared in the log.

register:
```
# test-payload.json
{
"Datacenter": "dc1",
"ID": "10e4a748-2192-161a-0510-9bf59fe950b6",
"Node": "x.x.x.x",
"Address": "x.x.x.x",
"Service": {
"ID": "node-x.x.x.x",
"Service": "node-x.x.x.x",
"Address": "x.x.x.x",
"Port": 9100,
"Meta": {
"my-label-key": "my-label-value"
}
},
"SkipNodeUpdate": false
}

curl --request PUT --data @test-payload.json http://x.x.x.x:8500/v1/catalog/register
^
this will get stuck...
```

### Log Fragments

leader:
image

follower:
image
image

### My problem is as follows:

Is there a way to register normally through the primary node when the standby node is abnormal? After the standby node is normal, the leader and standby nodes perform data synchronization again, and the data consistency has been reached

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the hanging PUT request to /v1/catalog/register with the provided test-payload.json while the standby node has a full disk, then compare the leader and follower log fragments. Done should mean registration through the primary node completes normally despite the standby-node failure, with synchronization able to resume after recovery.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.