Skip to content

Voting Configuration Exclusions API not sending clear response on success #115462

@n0othing

Description

@n0othing

Elasticsearch Version

8.14.3

Installed Plugins

No response

Java Version

bundled

OS Version

23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:49:39 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_T6000 arm64

Problem Description

The voting configuration exclusions API doesn't appear to return a clear response indicating the call succeeded:

curl

% curl -XPOST "http://localhost:9200/_cluster/voting_config_exclusions?node_names=node-a,node-b,node-c"     
% 

curl w/ -vvv

% curl -XPOST "http://localhost:9200/_cluster/voting_config_exclusions?node_names=node-a,node-b,node-c" -vvv
* Host localhost:9200 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:9200...
* Connected to localhost (::1) port 9200
> POST /_cluster/voting_config_exclusions?node_names=node-a,node-b,node-c HTTP/1.1
> Host: localhost:9200
> User-Agent: curl/8.7.1
> Accept: */*
> 
* Request completely sent off
< HTTP/1.1 200 OK
< X-elastic-product: Elasticsearch
< content-type: application/json
< content-length: 0
< 
* Connection #0 to host localhost left intac

Kibana's Console

Image

However, a call to GET /_cluster/state?filter_path=metadata.cluster_coordination.last_committed_config helps confirm the request succeeded.

Steps to Reproduce

Create a simple 3x node cluster (all master eligible nodes) and attempt to exclude one of the nodes:

# node-a
node.name: node-a
http.port: 9200
transport.port: 9300
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
xpack.security.enabled: false
xpack.license.self_generated.type: trial
ingest.geoip.downloader.enabled: false
node.roles: [ master, data_content, data_hot ]

# node-b
node.name: node-b
http.port: 9201
transport.port: 9301
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
xpack.security.enabled: false
xpack.license.self_generated.type: trial
ingest.geoip.downloader.enabled: false
node.roles: [ master, data_content, data_hot ]

# node-c
node.name: node-c
http.port: 9202
transport.port: 9302
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302" ]
xpack.security.enabled: false
xpack.license.self_generated.type: trial
ingest.geoip.downloader.enabled: false
node.roles: [ master, data_content, data_hot ]
POST /_cluster/voting_config_exclusions?node_names=node-a

Logs (if relevant)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Distributed Coordination/Cluster CoordinationCluster formation and cluster state publication, including cluster membership and fault detection.>docsGeneral docs changesTeam:Distributed (Obsolete)Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.Team:DocsMeta label for docs team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions