Skip to content

[Test] Fix FileSettingsRoleMappingsRestartIT #129618

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

slobodanadamovic
Copy link
Contributor

@slobodanadamovic slobodanadamovic commented Jun 18, 2025

The #127318 changed the behaviour of client() to not start a node if there is none found in the cluster. Which also changed the getMasterName() behaviour to simply fail if there are no nodes instead of starting one.

This is why the getMasterName() is failing now. There were no nodes started because the test scope is set to manually manage master nodes (autoManageMasterNodes = false) without data nodes (numDataNodes = 0).

The fix is to actually start the master node instead of attempting to get the master node name from an empty cluster and depend on a side effect to actually boostrap a node.

Additionally it awaits for the master node to process all cluster state events before proceeding, which should hopefully solve the original cause of failures.

Resolves #120964
Resolves #120923

The elastic#27318 changed the behaviour of `client()` to not start a node if
there is none found in the cluster. Which also changed the `getMasterName()`
behaviour to simply fail if there are no nodes instead of starting one.

This is why the `getMasterName()` is failing now. There were no nodes
started because the test scope is set to manually manage master nodes
(`autoManageMasterNodes = false`) without data nodes (`numDataNodes = 0`).

The fix is to actually start the master node instead of attempting to get
the master node name from an empty cluster and depend on a side effect to
actually boostrap a node.

Resolves elastic#120964
Resolves elastic#120923
@slobodanadamovic slobodanadamovic self-assigned this Jun 18, 2025
@slobodanadamovic slobodanadamovic added >test Issues or PRs that are addressing/adding tests :Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team v9.1.0 :Security/Security Security issues without another label Team:Security Meta label for security team and removed :Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team labels Jun 18, 2025
@slobodanadamovic slobodanadamovic added auto-backport Automatically create backport pull requests when merged v8.19.0 v9.0.3 v8.18.3 labels Jun 18, 2025
@slobodanadamovic slobodanadamovic marked this pull request as ready for review June 18, 2025 11:47
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-security (Team:Security)

@slobodanadamovic slobodanadamovic merged commit ee6d64a into elastic:main Jun 24, 2025
33 checks passed
@elasticsearchmachine
Copy link
Collaborator

💔 Backport failed

Status Branch Result
8.19 Commit could not be cherrypicked due to conflicts
9.0 Commit could not be cherrypicked due to conflicts
8.18 Commit could not be cherrypicked due to conflicts

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 129618

slobodanadamovic added a commit to slobodanadamovic/elasticsearch that referenced this pull request Jun 24, 2025
The elastic#127318 changed the behaviour of `client()` to not start a node if there
is none found in the cluster. Which also changed the `getMasterName()`
behaviour to simply fail if there are no nodes instead of starting one.

This is why the `getMasterName()` is failing now. There were no nodes
started because the test scope is set to manually manage master nodes
(`autoManageMasterNodes = false`) without data nodes (`numDataNodes = 0`).

The fix is to actually start the master node instead of attempting to get
the master node name from an empty cluster and depend on a side effect
to actually boostrap a node.

Additionally it awaits for the master node to process all cluster state events
before proceeding, which should hopefully solve the original cause of failures.

Resolves elastic#120964
Resolves elastic#120923

(cherry picked from commit ee6d64a)

# Conflicts:
#	muted-tests.yml
mridula-s109 pushed a commit to mridula-s109/elasticsearch that referenced this pull request Jun 25, 2025
The elastic#127318 changed the behaviour of `client()` to not start a node if there 
is none found in the cluster. Which also changed the `getMasterName()` 
behaviour to simply fail if there are no nodes instead of starting one.

This is why the `getMasterName()` is failing now. There were no nodes 
started because the test scope is set to manually manage master nodes 
(`autoManageMasterNodes = false`) without data nodes (`numDataNodes = 0`).

The fix is to actually start the master node instead of attempting to get 
the master node name from an empty cluster and depend on a side effect 
to actually boostrap a node.

Additionally it awaits for the master node to process all cluster state events 
before proceeding, which should hopefully solve the original cause of failures.

Resolves elastic#120964
Resolves elastic#120923
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-backport Automatically create backport pull requests when merged backport pending :Security/Security Security issues without another label Team:Security Meta label for security team >test Issues or PRs that are addressing/adding tests v8.18.4 v8.19.0 v9.0.4 v9.1.0
3 participants