diff --git a/CHANGELOG.md b/CHANGELOG.md index cc7738d33b36..4042bef3fd27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements + +* (store) [#11646](https://github.com/cosmos/cosmos-sdk/pull/11646) Add store name in tracekv-emitted store traces * (deps) Bump Tendermint version to [v0.34.24](https://github.com/tendermint/tendermint/releases/tag/v0.34.24). ## v0.45.11 - 2022-11-09 diff --git a/store/cachemulti/store.go b/store/cachemulti/store.go index c78ff33ab69e..14ed055aae4e 100644 --- a/store/cachemulti/store.go +++ b/store/cachemulti/store.go @@ -55,7 +55,11 @@ func NewFromKVStore( for key, store := range stores { if cms.TracingEnabled() { - store = tracekv.NewStore(store.(types.KVStore), cms.traceWriter, cms.traceContext) + tctx := cms.traceContext.Clone().Merge(types.TraceContext{ + storeNameCtxKey: key.Name(), + }) + + store = tracekv.NewStore(store.(types.KVStore), cms.traceWriter, tctx) } if cms.ListeningEnabled(key) { store = listenkv.NewStore(store.(types.KVStore), key, listeners[key]) diff --git a/store/rootmulti/store.go b/store/rootmulti/store.go index 0b7df053b3df..c691258fec94 100644 --- a/store/rootmulti/store.go +++ b/store/rootmulti/store.go @@ -342,13 +342,7 @@ func (rs *Store) SetTracer(w io.Writer) types.MultiStore { func (rs *Store) SetTracingContext(tc types.TraceContext) types.MultiStore { rs.traceContextMutex.Lock() defer rs.traceContextMutex.Unlock() - if rs.traceContext != nil { - for k, v := range tc { - rs.traceContext[k] = v - } - } else { - rs.traceContext = tc - } + rs.traceContext = rs.traceContext.Merge(tc) return rs } diff --git a/store/types/store_test.go b/store/types/store_test.go index 4a77c7babea8..29410d4e99f9 100644 --- a/store/types/store_test.go +++ b/store/types/store_test.go @@ -99,14 +99,6 @@ func TestTransientStoreKey(t *testing.T) { require.Equal(t, fmt.Sprintf("TransientStoreKey{%p, test}", key), key.String()) } -func TestMemoryStoreKey(t *testing.T) { - t.Parallel() - key := NewMemoryStoreKey("test") - require.Equal(t, "test", key.name) - require.Equal(t, key.name, key.Name()) - require.Equal(t, fmt.Sprintf("MemoryStoreKey{%p, test}", key), key.String()) -} - func TestTraceContext_Clone(t *testing.T) { tests := []struct { name string @@ -223,17 +215,3 @@ func TestTraceContext_Merge(t *testing.T) { }) } } - -func TestNewTransientStoreKeys(t *testing.T) { - assert.DeepEqual(t, map[string]*TransientStoreKey{}, NewTransientStoreKeys()) - assert.DeepEqual(t, 1, len(NewTransientStoreKeys("one"))) -} - -func TestNewInfiniteGasMeter(t *testing.T) { - gm := NewInfiniteGasMeter() - require.NotNil(t, gm) -} - -func TestStoreTypes(t *testing.T) { - assert.DeepEqual(t, InclusiveEndBytes([]byte("endbytes")), InclusiveEndBytes([]byte("endbytes"))) -}