Initial_master_nodes case-sensitive to capitalized hostnames on Windows for v7.7.1

Hi there,

We have a cluster on Windows where we're trying to launch Elasticsearch v7.7.1 . We are using cluster.initial_master_nodes , setting it to the host-names (we think). We are not setting node.name . We are being careful to only use bare hostnames, per https://www.elastic.co/guide/en/elasticsearch/reference/7.3/modules-discovery-bootstrap-cluster.html

We get the error message:

[2021-01-04T18:23:02,463][WARN ][o.e.c.c.ClusterFormationFailureHelper] [ANALYT1-PROD] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster,
and this node must discover master-eligible nodes [Analyt1-Prod, Analyt2-Prod] to bootstrap a cluster:
have discovered [{ANALYT1-PROD}{pau7r42ARxaVPFvtH2HskQ}{9oWHmVkrSJkuVQpTASeCEw}{10.42.0.4}{10.42.0.4:8598}{dimr}, {ANALYT2-PROD}{PbXE1nPZRIKmekDYhPABgQ}{bwAUFvkqTSkt6oxs4-7hsQ}{10.42.0.5}{10.23.0.5:8598}{dimr}];
discovery will continue using [[fe80::b5f1:4242:c149:20e]:8598, 10.42.0.5:8598] from hosts providers and [{ANALYT1-PROD}{pau7r42ARxaVPFvtH2HskQ}{9oWHmVkrSJkuVQpTASeCEw}{10.42.0.4}{10.42.0.4:8598}{dimr}] from last-known cluster state;
node term 0, last-accepted version 61 in term 0

This is a little surprising, because we're used to DNS resolution not being case-sensitive.

However, we understand that this isn't DNS resolution. It just happens to be using host names because we aren't setting node.name .

Is the right workaround to use node.name to be sure that we're getting the matching case for both ? Or should Elasticsearch be more tolerant of case-sensitivity in the default-case where the node.name is a host-name?

Or are we facing another issue?

Can you share your config (or the relevant snippet of it)?

That's what I'd suggest, or else fix the case of the cluster.initial_master_nodes setting. See the NOTE further down the page you linked:

NOTE: The node names used in the cluster.initial_master_nodes list must exactly match the node.name properties of the nodes. By default the node name is set to the machine’s hostname...

As you say, this isn't DNS resolution, this is simple string equality.