8000 Bug fix/user manager version race (#14382) by mchacki · Pull Request #14392 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Bug fix/user manager version race (#14382) #14392

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
merged 5 commits into from
Jun 22, 2021
Merged

Conversation

mchacki
Copy link
Member
@mchacki mchacki commented Jun 22, 2021

Scope & Purpose

Backport of #14382

  • This PR fixes the internal version handling of the UserManager, w.r.t. the Cluster. The UserManager could get off-sync with the Cluster wide UserVersion, which is eventually repaired, however before this repair, the user manager could already think that it got the latest version where in fact it did not load it due to the off-sync. In "normal" clusters this is off-sync is silently repaired and hidden due to the mechanisms that actually modify the users, so no impact there, but a DC-2-DC follower could get into a bad situation where the Follower Datacenter does not regularly (or even at all)updates the user list.
  • 💩 Bugfix (requires CHANGELOG entry)
  • 🍕 New feature (requires CHANGELOG entry, feature documentation and release notes)
  • 🔥 Performance improvement
  • 🔨 Refactoring/simplification
  • 📖 CHANGELOG entry made

Backports:

  • No backports required
  • Backports required for: TBD

Related Information

(Please reference tickets / specification / other PRs etc)

  • Docs PR:
  • Enterprise PR:
  • GitHub issue / Jira ticket number: ES-863
  • Design document:

Testing & Verification

(Please pick either of the following options)

  • This change is a trivial rework / code cleanup without any test coverage.
  • The behavior in this PR was manually tested
  • This change is already covered by existing tests, such as Everything testing user manager.
  • This PR adds tests that were used to verify all changes:
    • Added new C++ Unit tests
    • Added new integration tests (e.g. in shell_server / shell_server_aql)
    • Added new resilience tests (only if the feature is impacted by failovers)
  • There are tests in an external testing repository: https://github.com/arangodb/arangosync/pull/574
  • I ensured this code runs with ASan / TSan or other static verification tools

Link to Jenkins PR run:

Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

  • Added entry to Release Notes
  • Added a new section in the Manual
  • Added a new section in the HTTP API
  • Added Swagger examples for the HTTP API
  • Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note

Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

@mchacki mchacki added this to the 3.7 milestone Jun 22, 2021
@mchacki mchacki requested review from jsteemann and maierlars June 22, 2021 09:57
@mchacki mchacki self-assigned this Jun 22, 2021
Copy link
Contributor
@jsteemann jsteemann left a comment

Choose a reason for hiding this comment

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

LGTM

@KVS85 KVS85 added 3 API HTTP / Driver API related 3 UserManagement Credentials / Authentication / Identity management labels Jun 22, 2021
@KVS85 KVS85 merged commit 54b9a64 into 3.7 Jun 22, 2021
@KVS85 KVS85 deleted the bug-fix-3.7/user-manager-race branch June 22, 2021 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 API HTTP / Driver API related 3 UserManagement Credentials / Authentication / Identity management
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0