From efe8c6c8ff63733e1d2d8a57139990fac0963335 Mon Sep 17 00:00:00 2001 From: "liqiankun.1111" <liqiankun.1111@bytedance.com> Date: Tue, 31 Oct 2023 11:39:49 +0800 Subject: [PATCH] fix: fix return lock infer --- lock/db/sql.go | 2 +- lock/db/sql_test.go | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lock/db/sql.go b/lock/db/sql.go index a77ae9e..e1afa9e 100644 --- a/lock/db/sql.go +++ b/lock/db/sql.go @@ -88,7 +88,7 @@ func (r *DBLock) lock(ctx context.Context, key string) (keyLock interface{}, err // resource updated by others return nil, ErrConflict } - return lock, nil + return &lock, nil } func (r *DBLock) UnLock(ctx context.Context, keyLock interface{}) error { diff --git a/lock/db/sql_test.go b/lock/db/sql_test.go index 36afe78..a037b5e 100644 --- a/lock/db/sql_test.go +++ b/lock/db/sql_test.go @@ -35,8 +35,11 @@ func TestLock(t *testing.T) { assert.NoError(t, err) r := l.(*ResourceLock) assert.True(t, len(r.LockerID) > 0) - // 重试5次,至少耗时500ms - _, err = lock.Lock(context.Background(), "abc") + // 测试lock 过期场景 + time.Sleep(1 * time.Second) + l, err = lock.Lock(context.Background(), "abc") + assert.NoError(t, err) + err = lock.UnLock(context.Background(), l) assert.NoError(t, err) } -- GitLab