refactor(store/v2)!: simplify storage (#22683)
This commit is contained in:
@@ -591,7 +591,7 @@ func TestConsensus_Query(t *testing.T) {
|
||||
c := setUpConsensus(t, 100_000, cometmock.MockMempool[mock.Tx]{})
|
||||
|
||||
// Write data to state storage
|
||||
err := c.store.GetStateStorage().ApplyChangeset(&store.Changeset{
|
||||
err := c.store.GetStateCommitment().WriteChangeset(&store.Changeset{
|
||||
Version: 1,
|
||||
Changes: []store.StateChanges{
|
||||
{
|
||||
@@ -691,9 +691,8 @@ func setUpConsensus(t *testing.T, gasLimit uint64, mempool mempool.Mempool[mock.
|
||||
)
|
||||
require.NoError(t, err)
|
||||
|
||||
ss := cometmock.NewMockStorage(log.NewNopLogger(), t.TempDir())
|
||||
sc := cometmock.NewMockCommiter(log.NewNopLogger(), string(actorName), "stf")
|
||||
mockStore := cometmock.NewMockStore(ss, sc)
|
||||
mockStore := cometmock.NewMockStore(sc)
|
||||
|
||||
am := appmanager.New(appmanager.Config{
|
||||
ValidateTxGasLimit: gasLimit,
|
||||
@@ -786,6 +785,7 @@ func TestOptimisticExecution(t *testing.T) {
|
||||
Txs: ppReq.Txs,
|
||||
}
|
||||
fbResp, err := c.FinalizeBlock(context.Background(), fbReq)
|
||||
require.Nil(t, fbResp)
|
||||
require.Error(t, err)
|
||||
require.ErrorContains(t, err, "test error") // from optimisticMockFunc
|
||||
require.Equal(t, 1, calledTimes)
|
||||
|
||||
@@ -39,7 +39,7 @@ func NewMockReader(v uint64, rs *MockStore, actor []byte) *MockReader {
|
||||
}
|
||||
|
||||
func (roa *MockReader) Has(key []byte) (bool, error) {
|
||||
val, err := roa.store.GetStateStorage().Has(roa.actor, roa.version, key)
|
||||
val, err := roa.store.GetStateCommitment().Has(roa.actor, roa.version, key)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
@@ -48,7 +48,7 @@ func (roa *MockReader) Has(key []byte) (bool, error) {
|
||||
}
|
||||
|
||||
func (roa *MockReader) Get(key []byte) ([]byte, error) {
|
||||
result, err := roa.store.GetStateStorage().Get(roa.actor, roa.version, key)
|
||||
result, err := roa.store.GetStateCommitment().Get(roa.actor, roa.version, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -57,9 +57,9 @@ func (roa *MockReader) Get(key []byte) ([]byte, error) {
|
||||
}
|
||||
|
||||
func (roa *MockReader) Iterator(start, end []byte) (corestore.Iterator, error) {
|
||||
return roa.store.GetStateStorage().Iterator(roa.actor, roa.version, start, end)
|
||||
return roa.store.GetStateCommitment().Iterator(roa.actor, roa.version, start, end)
|
||||
}
|
||||
|
||||
func (roa *MockReader) ReverseIterator(start, end []byte) (corestore.Iterator, error) {
|
||||
return roa.store.GetStateStorage().ReverseIterator(roa.actor, roa.version, start, end)
|
||||
return roa.store.GetStateCommitment().ReverseIterator(roa.actor, roa.version, start, end)
|
||||
}
|
||||
|
||||
@@ -11,21 +11,12 @@ import (
|
||||
"cosmossdk.io/store/v2/commitment/iavl"
|
||||
dbm "cosmossdk.io/store/v2/db"
|
||||
"cosmossdk.io/store/v2/proof"
|
||||
"cosmossdk.io/store/v2/storage"
|
||||
"cosmossdk.io/store/v2/storage/pebbledb"
|
||||
)
|
||||
|
||||
type MockStore struct {
|
||||
Storage storev2.VersionedWriter
|
||||
Committer storev2.Committer
|
||||
}
|
||||
|
||||
func NewMockStorage(logger log.Logger, dir string) storev2.VersionedWriter {
|
||||
storageDB, _ := pebbledb.New(dir)
|
||||
ss := storage.NewStorageStore(storageDB, logger)
|
||||
return ss
|
||||
}
|
||||
|
||||
func NewMockCommiter(logger log.Logger, actors ...string) storev2.Committer {
|
||||
treeMap := make(map[string]commitment.Tree)
|
||||
for _, actor := range actors {
|
||||
@@ -36,8 +27,8 @@ func NewMockCommiter(logger log.Logger, actors ...string) storev2.Committer {
|
||||
return sc
|
||||
}
|
||||
|
||||
func NewMockStore(ss storev2.VersionedWriter, sc storev2.Committer) *MockStore {
|
||||
return &MockStore{Storage: ss, Committer: sc}
|
||||
func NewMockStore(sc storev2.Committer) *MockStore {
|
||||
return &MockStore{Committer: sc}
|
||||
}
|
||||
|
||||
func (s *MockStore) GetLatestVersion() (uint64, error) {
|
||||
@@ -59,12 +50,7 @@ func (s *MockStore) StateLatest() (uint64, corestore.ReaderMap, error) {
|
||||
}
|
||||
|
||||
func (s *MockStore) Commit(changeset *corestore.Changeset) (corestore.Hash, error) {
|
||||
err := s.Storage.ApplyChangeset(changeset)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
|
||||
err = s.Committer.WriteChangeset(changeset)
|
||||
err := s.Committer.WriteChangeset(changeset)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
@@ -81,10 +67,6 @@ func (s *MockStore) StateAt(version uint64) (corestore.ReaderMap, error) {
|
||||
return NewMockReaderMap(version, s), nil
|
||||
}
|
||||
|
||||
func (s *MockStore) GetStateStorage() storev2.VersionedWriter {
|
||||
return s.Storage
|
||||
}
|
||||
|
||||
func (s *MockStore) GetStateCommitment() storev2.Committer {
|
||||
return s.Committer
|
||||
}
|
||||
|
||||
@@ -127,7 +127,6 @@ func New[T transaction.Tx](
|
||||
indexEvents[e] = struct{}{}
|
||||
}
|
||||
|
||||
ss := store.GetStateStorage().(snapshots.StorageSnapshotter)
|
||||
sc := store.GetStateCommitment().(snapshots.CommitSnapshotter)
|
||||
|
||||
snapshotStore, err := GetSnapshotStore(srv.config.ConfigTomlConfig.RootDir)
|
||||
@@ -155,7 +154,6 @@ func New[T transaction.Tx](
|
||||
snapshotStore,
|
||||
srv.serverOptions.SnapshotOptions(cfg),
|
||||
sc,
|
||||
ss,
|
||||
nil, // extensions snapshotter registered below
|
||||
logger,
|
||||
)
|
||||
|
||||
@@ -105,6 +105,7 @@ func Benchmark_Iterate(b *testing.B) {
|
||||
|
||||
// makeBranchStack creates a branch stack of the given size and initializes it with unique key-value pairs.
|
||||
func makeBranchStack(b *testing.B, stackSize int) Store[store.KVStore] {
|
||||
b.Helper()
|
||||
parent := coretesting.NewMemKV()
|
||||
branch := NewStore[store.KVStore](parent)
|
||||
for i := 1; i < stackSize; i++ {
|
||||
|
||||
@@ -375,10 +375,11 @@ func createSnapshotsManager(
|
||||
}
|
||||
|
||||
sm := snapshots.NewManager(
|
||||
snapshotStore, snapshots.NewSnapshotOptions(interval, uint32(keepRecent)),
|
||||
snapshotStore,
|
||||
snapshots.NewSnapshotOptions(interval, uint32(keepRecent)),
|
||||
store.GetStateCommitment().(snapshots.CommitSnapshotter),
|
||||
store.GetStateStorage().(snapshots.StorageSnapshotter),
|
||||
nil, logger)
|
||||
nil,
|
||||
logger)
|
||||
return sm, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user