Skip to content

Commit 54f3a6f

Browse files
authored
Fix dropping key range in MemQDB (#783)
* Fix dropping key range in MemQDB * More fixes * Change for explicit error
1 parent 2a91357 commit 54f3a6f

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

qdb/memqdb.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,15 @@ func (q *MemQDB) DropKeyRange(_ context.Context, id string) error {
200200
q.mu.Lock()
201201
defer q.mu.Unlock()
202202

203-
lock, ok := q.Locks[id]
203+
_, ok := q.Krs[id]
204204
if !ok {
205205
return nil
206206
}
207+
208+
lock, ok := q.Locks[id]
209+
if !ok {
210+
return spqrerror.New(spqrerror.SPQR_METADATA_CORRUPTION, fmt.Sprintf("no lock in MemQDB for key range \"%s\"", id))
211+
}
207212
if !lock.TryLock() {
208213
return spqrerror.Newf(spqrerror.SPQR_KEYRANGE_ERROR, "key range \"%s\" is locked", id)
209214
}

qdb/memqdb_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ func TestKeyRanges(t *testing.T) {
204204
DistributionId: "dserr",
205205
}))
206206

207+
assert.NoError(memqdb.DropKeyRange(ctx, "nonexistentKeyRange"))
207208
}
208209

209210
func Test_MemQDB_GetKeyRange(t *testing.T) {

0 commit comments

Comments
 (0)