weeix opened a new issue, #5835:
URL: https://github.com/apache/couchdb/issues/5835
### Provide a brief overview of what the new feature is all about
Provide a descriptive error message in the
`http://<server-IP|FQDN>:5984/_cluster_setup` API when a hostname is rejected
by the Erlang VM (e.g., "Hostname is illegal").
### Tell us how the new feature should work. Be specific
When a user attempts to add a node to a cluster via the
`http://<server-IP|FQDN>:5984/_cluster_setup` API, the system should validate
if the hostname is acceptable by Erlang's distribution rules (especially in
long-name mode).
If the hostname is invalid (for example, using `couchdb2` instead of
`couchdb2.local` when the node is configured with a fully qualified domain
name), the API should return a `400 Bad Request` with a clear error reason like:
```json
{
"error": "bad_request",
"reason": "Hostname couchdb2 is illegal. Nodes in long-name mode require a
Fully Qualified Hostname (FQDN) containing at least one dot."
}
```
### Not required. Suggest how to implement the addition or change
_No response_
### Additional Context
This request stems from a difficult troubleshooting experience while testing
a 3-node CouchDB cluster using Docker Compose.
The setup appeared to be "finished" but the nodes were not communicating. It
took several hours of debugging to realize that because the nodes were using
`NODENAME` in long-name mode, Erlang rejected the Docker service name
`couchdb2` due to the lack of a dot (`.`).
If the API had surfaced the "Illegal Hostname" error directly, the issue
would have been resolved in minutes instead of hours. Providing better feedback
at the API level aligns with making CouchDB more operator-friendly in
containerized environments.
--
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]