Attempt to address a data race issue within identity store - take 2 (#13476)
* 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
This commit is contained in:
parent
431376cb7f
commit
b9e5aeb459
|
@ -0,0 +1,3 @@
|
|||
```release-note:bug
|
||||
core/identity: Address a data race condition between local updates to aliases and invalidations
|
||||
```
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue