Skip to content

Commit 28bef26

Browse files
[management] Remove Store Locks 2 (#4385)
1 parent 0d2845e commit 28bef26

File tree

13 files changed

+0
-103
lines changed

13 files changed

+0
-103
lines changed

management/server/account.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,6 @@ func (am *DefaultAccountManager) GetIdpManager() idp.Manager {
297297
// User that performs the update has to belong to the account.
298298
// Returns an updated Settings
299299
func (am *DefaultAccountManager) UpdateAccountSettings(ctx context.Context, accountID, userID string, newSettings *types.Settings) (*types.Settings, error) {
300-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
301-
defer unlock()
302-
303300
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Settings, operations.Update)
304301
if err != nil {
305302
return nil, fmt.Errorf("failed to validate user permissions: %w", err)
@@ -1045,9 +1042,6 @@ func (am *DefaultAccountManager) updateAccountDomainAttributesIfNotUpToDate(ctx
10451042
return nil
10461043
}
10471044

1048-
unlockAccount := am.Store.AcquireWriteLockByUID(ctx, accountID)
1049-
defer unlockAccount()
1050-
10511045
accountDomain, domainCategory, err := am.Store.GetAccountDomainAndCategory(ctx, store.LockingStrengthNone, accountID)
10521046
if err != nil {
10531047
log.WithContext(ctx).Errorf("error getting account domain and category: %v", err)
@@ -1140,9 +1134,6 @@ func (am *DefaultAccountManager) addNewPrivateAccount(ctx context.Context, domai
11401134
}
11411135

11421136
func (am *DefaultAccountManager) addNewUserToDomainAccount(ctx context.Context, domainAccountID string, userAuth nbcontext.UserAuth) (string, error) {
1143-
unlockAccount := am.Store.AcquireWriteLockByUID(ctx, domainAccountID)
1144-
defer unlockAccount()
1145-
11461137
newUser := types.NewRegularUser(userAuth.UserId)
11471138
newUser.AccountID = domainAccountID
11481139
err := am.Store.SaveUser(ctx, newUser)
@@ -2098,9 +2089,6 @@ func (am *DefaultAccountManager) validateIPForUpdate(account *types.Account, pee
20982089
}
20992090

21002091
func (am *DefaultAccountManager) UpdatePeerIP(ctx context.Context, accountID, userID, peerID string, newIP netip.Addr) error {
2101-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
2102-
defer unlock()
2103-
21042092
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Peers, operations.Update)
21052093
if err != nil {
21062094
return fmt.Errorf("validate user permissions: %w", err)

management/server/group.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ func (am *DefaultAccountManager) GetGroupByName(ctx context.Context, groupName,
6767

6868
// CreateGroup object of the peers
6969
func (am *DefaultAccountManager) CreateGroup(ctx context.Context, accountID, userID string, newGroup *types.Group) error {
70-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
71-
defer unlock()
72-
7370
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Groups, operations.Create)
7471
if err != nil {
7572
return status.NewPermissionValidationError(err)
@@ -128,9 +125,6 @@ func (am *DefaultAccountManager) CreateGroup(ctx context.Context, accountID, use
128125

129126
// UpdateGroup object of the peers
130127
func (am *DefaultAccountManager) UpdateGroup(ctx context.Context, accountID, userID string, newGroup *types.Group) error {
131-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
132-
defer unlock()
133-
134128
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Groups, operations.Update)
135129
if err != nil {
136130
return status.NewPermissionValidationError(err)
@@ -382,8 +376,6 @@ func (am *DefaultAccountManager) prepareGroupEvents(ctx context.Context, transac
382376

383377
// DeleteGroup object of the peers.
384378
func (am *DefaultAccountManager) DeleteGroup(ctx context.Context, accountID, userID, groupID string) error {
385-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
386-
defer unlock()
387379
return am.DeleteGroups(ctx, accountID, userID, []string{groupID})
388380
}
389381

@@ -442,9 +434,6 @@ func (am *DefaultAccountManager) DeleteGroups(ctx context.Context, accountID, us
442434

443435
// GroupAddPeer appends peer to the group
444436
func (am *DefaultAccountManager) GroupAddPeer(ctx context.Context, accountID, groupID, peerID string) error {
445-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
446-
defer unlock()
447-
448437
var updateAccountPeers bool
449438
var err error
450439

@@ -473,9 +462,6 @@ func (am *DefaultAccountManager) GroupAddPeer(ctx context.Context, accountID, gr
473462

474463
// GroupAddResource appends resource to the group
475464
func (am *DefaultAccountManager) GroupAddResource(ctx context.Context, accountID, groupID string, resource types.Resource) error {
476-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
477-
defer unlock()
478-
479465
var group *types.Group
480466
var updateAccountPeers bool
481467
var err error
@@ -514,9 +500,6 @@ func (am *DefaultAccountManager) GroupAddResource(ctx context.Context, accountID
514500

515501
// GroupDeletePeer removes peer from the group
516502
func (am *DefaultAccountManager) GroupDeletePeer(ctx context.Context, accountID, groupID, peerID string) error {
517-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
518-
defer unlock()
519-
520503
var updateAccountPeers bool
521504
var err error
522505

@@ -545,9 +528,6 @@ func (am *DefaultAccountManager) GroupDeletePeer(ctx context.Context, accountID,
545528

546529
// GroupDeleteResource removes resource from the group
547530
func (am *DefaultAccountManager) GroupDeleteResource(ctx context.Context, accountID, groupID string, resource types.Resource) error {
548-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
549-
defer unlock()
550-
551531
var group *types.Group
552532
var updateAccountPeers bool
553533
var err error

management/server/integrated_validator.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ func (am *DefaultAccountManager) UpdateIntegratedValidator(ctx context.Context,
4646
groups = []string{}
4747
}
4848

49-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
50-
defer unlock()
51-
5249
return am.Store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
5350
settings, err := transaction.GetAccountSettings(ctx, store.LockingStrengthUpdate, accountID)
5451
if err != nil {

management/server/nameserver.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ func (am *DefaultAccountManager) GetNameServerGroup(ctx context.Context, account
3737

3838
// CreateNameServerGroup creates and saves a new nameserver group
3939
func (am *DefaultAccountManager) CreateNameServerGroup(ctx context.Context, accountID string, name, description string, nameServerList []nbdns.NameServer, groups []string, primary bool, domains []string, enabled bool, userID string, searchDomainEnabled bool) (*nbdns.NameServerGroup, error) {
40-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
41-
defer unlock()
42-
4340
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Nameservers, operations.Create)
4441
if err != nil {
4542
return nil, status.NewPermissionValidationError(err)
@@ -94,9 +91,6 @@ func (am *DefaultAccountManager) CreateNameServerGroup(ctx context.Context, acco
9491

9592
// SaveNameServerGroup saves nameserver group
9693
func (am *DefaultAccountManager) SaveNameServerGroup(ctx context.Context, accountID, userID string, nsGroupToSave *nbdns.NameServerGroup) error {
97-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
98-
defer unlock()
99-
10094
if nsGroupToSave == nil {
10195
return status.Errorf(status.InvalidArgument, "nameserver group provided is nil")
10296
}
@@ -148,9 +142,6 @@ func (am *DefaultAccountManager) SaveNameServerGroup(ctx context.Context, accoun
148142

149143
// DeleteNameServerGroup deletes nameserver group with nsGroupID
150144
func (am *DefaultAccountManager) DeleteNameServerGroup(ctx context.Context, accountID, nsGroupID, userID string) error {
151-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
152-
defer unlock()
153-
154145
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Nameservers, operations.Delete)
155146
if err != nil {
156147
return status.NewPermissionValidationError(err)

management/server/networks/manager.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ func (m *managerImpl) CreateNetwork(ctx context.Context, userID string, network
7070

7171
network.ID = xid.New().String()
7272

73-
unlock := m.store.AcquireWriteLockByUID(ctx, network.AccountID)
74-
defer unlock()
75-
7673
err = m.store.SaveNetwork(ctx, network)
7774
if err != nil {
7875
return nil, fmt.Errorf("failed to save network: %w", err)
@@ -104,9 +101,6 @@ func (m *managerImpl) UpdateNetwork(ctx context.Context, userID string, network
104101
return nil, status.NewPermissionDeniedError()
105102
}
106103

107-
unlock := m.store.AcquireWriteLockByUID(ctx, network.AccountID)
108-
defer unlock()
109-
110104
_, err = m.store.GetNetworkByID(ctx, store.LockingStrengthUpdate, network.AccountID, network.ID)
111105
if err != nil {
112106
return nil, fmt.Errorf("failed to get network: %w", err)
@@ -131,9 +125,6 @@ func (m *managerImpl) DeleteNetwork(ctx context.Context, accountID, userID, netw
131125
return fmt.Errorf("failed to get network: %w", err)
132126
}
133127

134-
unlock := m.store.AcquireWriteLockByUID(ctx, accountID)
135-
defer unlock()
136-
137128
var eventsToStore []func()
138129
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
139130
resources, err := transaction.GetNetworkResourcesByNetID(ctx, store.LockingStrengthUpdate, accountID, networkID)

management/server/networks/resources/manager.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,6 @@ func (m *managerImpl) CreateResource(ctx context.Context, userID string, resourc
108108
return nil, fmt.Errorf("failed to create new network resource: %w", err)
109109
}
110110

111-
unlock := m.store.AcquireWriteLockByUID(ctx, resource.AccountID)
112-
defer unlock()
113-
114111
var eventsToStore []func()
115112
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
116113
_, err = transaction.GetNetworkResourceByName(ctx, store.LockingStrengthNone, resource.AccountID, resource.Name)
@@ -204,9 +201,6 @@ func (m *managerImpl) UpdateResource(ctx context.Context, userID string, resourc
204201
resource.Domain = domain
205202
resource.Prefix = prefix
206203

207-
unlock := m.store.AcquireWriteLockByUID(ctx, resource.AccountID)
208-
defer unlock()
209-
210204
var eventsToStore []func()
211205
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
212206
network, err := transaction.GetNetworkByID(ctx, store.LockingStrengthUpdate, resource.AccountID, resource.NetworkID)
@@ -315,9 +309,6 @@ func (m *managerImpl) DeleteResource(ctx context.Context, accountID, userID, net
315309
return status.NewPermissionDeniedError()
316310
}
317311

318-
unlock := m.store.AcquireWriteLockByUID(ctx, accountID)
319-
defer unlock()
320-
321312
var events []func()
322313
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
323314
events, err = m.DeleteResourceInTransaction(ctx, transaction, accountID, userID, networkID, resourceID)

management/server/networks/routers/manager.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,6 @@ func (m *managerImpl) CreateRouter(ctx context.Context, userID string, router *t
8888
return nil, status.NewPermissionDeniedError()
8989
}
9090

91-
unlock := m.store.AcquireWriteLockByUID(ctx, router.AccountID)
92-
defer unlock()
93-
9491
var network *networkTypes.Network
9592
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
9693
network, err = transaction.GetNetworkByID(ctx, store.LockingStrengthNone, router.AccountID, router.NetworkID)
@@ -157,9 +154,6 @@ func (m *managerImpl) UpdateRouter(ctx context.Context, userID string, router *t
157154
return nil, status.NewPermissionDeniedError()
158155
}
159156

160-
unlock := m.store.AcquireWriteLockByUID(ctx, router.AccountID)
161-
defer unlock()
162-
163157
var network *networkTypes.Network
164158
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
165159
network, err = transaction.GetNetworkByID(ctx, store.LockingStrengthNone, router.AccountID, router.NetworkID)
@@ -203,9 +197,6 @@ func (m *managerImpl) DeleteRouter(ctx context.Context, accountID, userID, netwo
203197
return status.NewPermissionDeniedError()
204198
}
205199

206-
unlock := m.store.AcquireWriteLockByUID(ctx, accountID)
207-
defer unlock()
208-
209200
var event func()
210201
err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error {
211202
event, err = m.DeleteRouterInTransaction(ctx, transaction, accountID, userID, networkID, routerID)

management/server/peer.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,6 @@ func updatePeerStatusAndLocation(ctx context.Context, geo geolocation.Geolocatio
192192

193193
// UpdatePeer updates peer. Only Peer.Name, Peer.SSHEnabled, Peer.LoginExpirationEnabled and Peer.InactivityExpirationEnabled can be updated.
194194
func (am *DefaultAccountManager) UpdatePeer(ctx context.Context, accountID, userID string, update *nbpeer.Peer) (*nbpeer.Peer, error) {
195-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
196-
defer unlock()
197-
198195
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Peers, operations.Update)
199196
if err != nil {
200197
return nil, status.NewPermissionValidationError(err)

management/server/policy.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ func (am *DefaultAccountManager) GetPolicy(ctx context.Context, accountID, polic
3232

3333
// SavePolicy in the store
3434
func (am *DefaultAccountManager) SavePolicy(ctx context.Context, accountID, userID string, policy *types.Policy, create bool) (*types.Policy, error) {
35-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
36-
defer unlock()
37-
3835
operation := operations.Create
3936
if !create {
4037
operation = operations.Update
@@ -88,9 +85,6 @@ func (am *DefaultAccountManager) SavePolicy(ctx context.Context, accountID, user
8885

8986
// DeletePolicy from the store
9087
func (am *DefaultAccountManager) DeletePolicy(ctx context.Context, accountID, policyID, userID string) error {
91-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
92-
defer unlock()
93-
9488
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Policies, operations.Delete)
9589
if err != nil {
9690
return status.NewPermissionValidationError(err)

management/server/posture_checks.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ func (am *DefaultAccountManager) GetPostureChecks(ctx context.Context, accountID
3232

3333
// SavePostureChecks saves a posture check.
3434
func (am *DefaultAccountManager) SavePostureChecks(ctx context.Context, accountID, userID string, postureChecks *posture.Checks, create bool) (*posture.Checks, error) {
35-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
36-
defer unlock()
37-
3835
operation := operations.Create
3936
if !create {
4037
operation = operations.Update
@@ -87,9 +84,6 @@ func (am *DefaultAccountManager) SavePostureChecks(ctx context.Context, accountI
8784

8885
// DeletePostureChecks deletes a posture check by ID.
8986
func (am *DefaultAccountManager) DeletePostureChecks(ctx context.Context, accountID, postureChecksID, userID string) error {
90-
unlock := am.Store.AcquireWriteLockByUID(ctx, accountID)
91-
defer unlock()
92-
9387
allowed, err := am.permissionsManager.ValidateUserPermissions(ctx, accountID, userID, modules.Routes, operations.Read)
9488
if err != nil {
9589
return status.NewPermissionValidationError(err)

0 commit comments

Comments
 (0)