Skip to content

Commit 13cad52

Browse files
committed
[FAB-10768] Fix a bug in couchdb version cache
This CR fixes a bug in couchdb version cache Change-Id: Iba6f5177dcedc2edf9541f4849384a73d9b51f2c Signed-off-by: manish <manish.sethi@gmail.com>
1 parent fcb7b26 commit 13cad52

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed

core/ledger/kvledger/txmgmt/statedb/statecouchdb/version_cache.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ func newVersionCache() *versionsCache {
2828
}
2929

3030
func (c *versionsCache) getVersion(ns, key string) (*version.Height, bool) {
31-
nsVers, ok := c.vers[ns]
31+
ver, ok := c.vers[ns][key]
3232
if ok {
33-
return nsVers[key], true
33+
return ver, true
3434
}
3535
return nil, false
3636
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
Copyright IBM Corp. All Rights Reserved.
3+
SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package statecouchdb
7+
8+
import (
9+
"testing"
10+
11+
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/version"
12+
"github.com/stretchr/testify/assert"
13+
)
14+
15+
func TestVersionCache(t *testing.T) {
16+
verCache := newVersionCache()
17+
ver1 := version.NewHeight(1, 1)
18+
ver2 := version.NewHeight(2, 2)
19+
verCache.setVerAndRev("ns1", "key1", version.NewHeight(1, 1), "rev1")
20+
verCache.setVerAndRev("ns2", "key2", version.NewHeight(2, 2), "rev2")
21+
22+
ver, found := verCache.getVersion("ns1", "key1")
23+
assert.True(t, found)
24+
assert.Equal(t, ver1, ver)
25+
26+
ver, found = verCache.getVersion("ns2", "key2")
27+
assert.True(t, found)
28+
assert.Equal(t, ver2, ver)
29+
30+
ver, found = verCache.getVersion("ns1", "key3")
31+
assert.False(t, found)
32+
assert.Nil(t, ver)
33+
34+
ver, found = verCache.getVersion("ns3", "key4")
35+
assert.False(t, found)
36+
assert.Nil(t, ver)
37+
}

0 commit comments

Comments
 (0)