From e97847305c8e18963c487edb4df4b13d1665c579 Mon Sep 17 00:00:00 2001 From: Manan Gupta Date: Thu, 23 May 2024 16:22:39 +0530 Subject: [PATCH] refactor: refactor routing rules locking Signed-off-by: Manan Gupta --- go/vt/topo/routing_rules_lock.go | 5 ++--- go/vt/topo/routing_rules_lock_test.go | 3 +-- go/vt/topo/topo_lock_test.go | 6 ++---- go/vt/topotools/routing_rules.go | 7 +------ go/vt/topotools/routing_rules_test.go | 4 +--- 5 files changed, 7 insertions(+), 18 deletions(-) diff --git a/go/vt/topo/routing_rules_lock.go b/go/vt/topo/routing_rules_lock.go index db4fa63bc9b..b848d0ef59f 100644 --- a/go/vt/topo/routing_rules_lock.go +++ b/go/vt/topo/routing_rules_lock.go @@ -17,7 +17,6 @@ limitations under the License. package topo import ( - "context" "fmt" ) @@ -26,12 +25,12 @@ type RoutingRulesLock struct { *TopoLock } -func NewRoutingRulesLock(ctx context.Context, ts *Server, name string) (*RoutingRulesLock, error) { +func NewRoutingRulesLock(ts *Server, name string) *RoutingRulesLock { return &RoutingRulesLock{ TopoLock: &TopoLock{ Path: RoutingRulesPath, Name: fmt.Sprintf("RoutingRules::%s", name), ts: ts, }, - }, nil + } } diff --git a/go/vt/topo/routing_rules_lock_test.go b/go/vt/topo/routing_rules_lock_test.go index 23027517019..1dafbb3bb35 100644 --- a/go/vt/topo/routing_rules_lock_test.go +++ b/go/vt/topo/routing_rules_lock_test.go @@ -44,8 +44,7 @@ func TestKeyspaceRoutingRulesLock(t *testing.T) { err := ts.CreateKeyspaceRoutingRules(ctx, &vschemapb.KeyspaceRoutingRules{}) require.NoError(t, err) - lock, err := topo.NewRoutingRulesLock(ctx, ts, "ks1") - require.NoError(t, err) + lock := topo.NewRoutingRulesLock(ts, "ks1") _, unlock, err := lock.Lock(ctx) require.NoError(t, err) diff --git a/go/vt/topo/topo_lock_test.go b/go/vt/topo/topo_lock_test.go index c378c05a9ff..0fc292206a2 100644 --- a/go/vt/topo/topo_lock_test.go +++ b/go/vt/topo/topo_lock_test.go @@ -41,8 +41,7 @@ func TestTopoLockTimeout(t *testing.T) { err := ts.CreateKeyspaceRoutingRules(ctx, &vschemapb.KeyspaceRoutingRules{}) require.NoError(t, err) - lock, err := topo.NewRoutingRulesLock(ctx, ts, "ks1") - require.NoError(t, err) + lock := topo.NewRoutingRulesLock(ts, "ks1") currentTopoLockTimeout := topo.LockTimeout topo.LockTimeout = testLockTimeout @@ -70,8 +69,7 @@ func TestTopoLockBasic(t *testing.T) { err := ts.CreateKeyspaceRoutingRules(ctx, &vschemapb.KeyspaceRoutingRules{}) require.NoError(t, err) - lock, err := topo.NewRoutingRulesLock(ctx, ts, "ks1") - require.NoError(t, err) + lock := topo.NewRoutingRulesLock(ts, "ks1") origCtx := ctx ctx, unlock, err := lock.Lock(origCtx) diff --git a/go/vt/topotools/routing_rules.go b/go/vt/topotools/routing_rules.go index a3bc5a8a957..f917af20366 100644 --- a/go/vt/topotools/routing_rules.go +++ b/go/vt/topotools/routing_rules.go @@ -180,12 +180,7 @@ func saveKeyspaceRoutingRulesLocked(ctx context.Context, ts *topo.Server, rules // then modify the keyspace routing rules in-place. func UpdateKeyspaceRoutingRules(ctx context.Context, ts *topo.Server, reason string, update func(ctx context.Context, rules *map[string]string) error) (err error) { - var lock *topo.RoutingRulesLock - lock, err = topo.NewRoutingRulesLock(ctx, ts, reason) - if err != nil { - return err - } - lockCtx, unlock, lockErr := lock.Lock(ctx) + lockCtx, unlock, lockErr := topo.NewRoutingRulesLock(ts, reason).Lock(ctx) if lockErr != nil { // If the key does not yet exist then let's create it. if !topo.IsErrType(lockErr, topo.NoNode) { diff --git a/go/vt/topotools/routing_rules_test.go b/go/vt/topotools/routing_rules_test.go index 2d4d9feacd1..d1201d678e9 100644 --- a/go/vt/topotools/routing_rules_test.go +++ b/go/vt/topotools/routing_rules_test.go @@ -150,9 +150,7 @@ func TestSaveKeyspaceRoutingRulesLocked(t *testing.T) { }) // declare and acquire lock - lock, err := topo.NewRoutingRulesLock(ctx, ts, "test") - require.NoError(t, err) - lockCtx, unlock, err := lock.Lock(ctx) + lockCtx, unlock, err := topo.NewRoutingRulesLock(ts, "test").Lock(ctx) require.NoError(t, err) defer unlock(&err)