diff --git a/pkg/vm/engine/aoe/storage/db/db.go b/pkg/vm/engine/aoe/storage/db/db.go
index f6231e1c5e1ff37c7bbcb6537bbbc2a586054cec..35b4b3d1e22d40777f26343d92ad4e69ed809fad 100644
--- a/pkg/vm/engine/aoe/storage/db/db.go
+++ b/pkg/vm/engine/aoe/storage/db/db.go
@@ -254,6 +254,8 @@ func (d *DB) ApplySnapshot(dbName string, path string) error {
var err error
database, _ := d.Store.Catalog.SimpleGetDatabaseByName(dbName)
loader := NewDBSSLoader(d.Store.Catalog, database, d.Store.DataTables, path)
+ // TODO: Tem workaround
+ time.Sleep(time.Microsecond * 10)
if err = loader.PrepareLoad(); err != nil {
return err
}
diff --git a/pkg/vm/engine/tae/db/scheduler_test.go b/pkg/vm/engine/tae/db/scheduler_test.go
index 4f9ffcf0f83d76d6eb01b34a31a03a866e3aa6ac..f8b61e033d702dea3a848451dc78e662ce8aacbf 100644
--- a/pkg/vm/engine/tae/db/scheduler_test.go
+++ b/pkg/vm/engine/tae/db/scheduler_test.go
@@ -121,9 +121,10 @@ func TestCheckpoint1(t *testing.T) {
assert.Nil(t, err)
assert.Nil(t, txn.Commit())
}
- time.Sleep(time.Millisecond * 20)
- {
- blockCnt := 0
+
+ blockCnt := 0
+ fn := func() bool {
+ blockCnt = 0
blockFn := func(entry *catalog.BlockEntry) error {
blockCnt++
return nil
@@ -131,9 +132,12 @@ func TestCheckpoint1(t *testing.T) {
processor := new(catalog.LoopProcessor)
processor.BlockFn = blockFn
err := db.Opts.Catalog.RecurLoop(processor)
- assert.Nil(t, err)
- assert.Equal(t, 2+3, blockCnt)
+ assert.NoError(t, err)
+ return blockCnt == 2+3
}
+ testutils.WaitExpect(1000, fn)
+ fn()
+ assert.Equal(t, 2+3, blockCnt)
}
func TestCheckpoint2(t *testing.T) {