From e23bfe2262e840e8506ef0ae718a72a4c1c4a5c8 Mon Sep 17 00:00:00 2001 From: Steve Clark Date: Mon, 20 Dec 2021 12:55:46 -0500 Subject: [PATCH] Attempt to address a data race issue within identity store - Testcase TestIdentityStore_LocalAliasInvalidations identified a data race issue. - This reverts the previous attempt to address the issue from #13093 --- vault/identity_store.go | 5 ++--- vault/identity_store_util.go | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/vault/identity_store.go b/vault/identity_store.go index f948771fc55ce..96643170d820e 100644 --- a/vault/identity_store.go +++ b/vault/identity_store.go @@ -751,7 +751,7 @@ func (i *IdentityStore) CreateOrFetchEntity(ctx context.Context, alias *logical. } // Check if an entity already exists for the given alias - entity, err = i.entityByAliasFactors(alias.MountAccessor, alias.Name, false) + entity, err = i.entityByAliasFactors(alias.MountAccessor, alias.Name, true) if err != nil { return nil, err } @@ -838,8 +838,7 @@ func (i *IdentityStore) CreateOrFetchEntity(ctx context.Context, alias *logical. } txn.Commit() - - return entity, nil + return entity.Clone() } // changedAliasIndex searches an entity for changed alias metadata. diff --git a/vault/identity_store_util.go b/vault/identity_store_util.go index 4bd9cf402b7d2..48716050ea86c 100644 --- a/vault/identity_store_util.go +++ b/vault/identity_store_util.go @@ -695,7 +695,7 @@ func (i *IdentityStore) processLocalAlias(ctx context.Context, lAlias *logical.A return nil, fmt.Errorf("mount accessor %q is not local", lAlias.MountAccessor) } - alias, err := i.MemDBAliasByFactors(lAlias.MountAccessor, lAlias.Name, true, false) + alias, err := i.MemDBAliasByFactors(lAlias.MountAccessor, lAlias.Name, false, false) if err != nil { return nil, err }