Skip to content

Amend prepareIndexIfNeededThenExecute for security token refresh #41697

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

Merged

Conversation

albertzaharovits
Copy link
Contributor

This fixes a low level bug that manifests by the failure of the refresh operation, in certain circumstances.

Version 7.1 added a new superseded_by field to the .security index mapping.
This field is used when indexing a refresh operation (a document update).
Because the document update was not guarded by the obligatory prepareIndexIfNeededThenExecute the refresh operation would fail if it were the first operation when the cluster was upgraded from a version < 7.1 .
This failure was catched (and fails reliably) in the backport #41673 . See: https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+pull-request-bwc/4695/

@albertzaharovits albertzaharovits added >bug :Security/Authentication Logging in, Usernames/passwords, Realms (Native/LDAP/AD/SAML/PKI/etc) v8.0.0 v7.2.0 labels Apr 30, 2019
@albertzaharovits albertzaharovits self-assigned this Apr 30, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-security

Copy link
Contributor

@tvernum tvernum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@albertzaharovits albertzaharovits merged commit 2154a97 into elastic:master May 1, 2019
@albertzaharovits albertzaharovits deleted the fix_refresh_on_mixed_bug branch May 1, 2019 07:19
@albertzaharovits
Copy link
Contributor Author

The 7.x cherry-pick has been incorporated in the backport #41673 (which contains the tests for the fix).

albertzaharovits added a commit to albertzaharovits/elasticsearch that referenced this pull request May 1, 2019
)

This fixes a low level bug that manifests, in certain circumstances, by the failure
of the refresh operation.

Version 7.1 added a new `superseded_by` field to the `.security` index mapping.
This field is used when indexing a refresh operation (a document update).
Because the document update was not guarded by the obligatory `prepareIndexIfNeededThenExecute` the refresh operation would fail if it were
the first operation when the cluster was upgraded from a version < 7.1 .
This failure was catched (and fails reliably) in the backport elastic#41673 .
akhil10x5 pushed a commit to akhil10x5/elasticsearch that referenced this pull request May 2, 2019
)

This fixes a low level bug that manifests, in certain circumstances, by the failure
of the refresh operation.

Version 7.1 added a new `superseded_by` field to the `.security` index mapping.
This field is used when indexing a refresh operation (a document update).
Because the document update was not guarded by the obligatory `prepareIndexIfNeededThenExecute` the refresh operation would fail if it were
the first operation when the cluster was upgraded from a version < 7.1 .
This failure was catched (and fails reliably) in the backport elastic#41673 .
gurkankaymak pushed a commit to gurkankaymak/elasticsearch that referenced this pull request May 27, 2019
)

This fixes a low level bug that manifests, in certain circumstances, by the failure
of the refresh operation.

Version 7.1 added a new `superseded_by` field to the `.security` index mapping.
This field is used when indexing a refresh operation (a document update).
Because the document update was not guarded by the obligatory `prepareIndexIfNeededThenExecute` the refresh operation would fail if it were
the first operation when the cluster was upgraded from a version < 7.1 .
This failure was catched (and fails reliably) in the backport elastic#41673 .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Security/Authentication Logging in, Usernames/passwords, Realms (Native/LDAP/AD/SAML/PKI/etc) v7.2.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants