Skip to content

Commit

Permalink
save (#2197)
Browse files Browse the repository at this point in the history
  • Loading branch information
AskAlexSharov committed Jun 19, 2021
1 parent a9baf37 commit 4736bac
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 56 deletions.
26 changes: 4 additions & 22 deletions cmd/integration/commands/refetence_db.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,6 @@ MainLoop:
return err
}

var prevK []byte
for {
if !fileScanner.Scan() {
break MainLoop
Expand All @@ -317,16 +316,9 @@ MainLoop:
v = common.FromHex(string(v[1:]))

if casted, ok := c.(ethdb.RwCursorDupSort); ok {
if bytes.Equal(k, prevK) {
if err = casted.AppendDup(k, v); err != nil {
panic(err)
}
} else {
if err = casted.Append(k, v); err != nil {
panic(err)
}
if err = casted.AppendDup(k, v); err != nil {
panic(err)
}
prevK = k
} else {
if err = c.Append(k, v); err != nil {
panic(err)
Expand All @@ -340,7 +332,6 @@ MainLoop:
log.Info("Progress", "bucket", bucket, "key", fmt.Sprintf("%x", k))
}
}
prevK = nil
err = fileScanner.Err()
if err != nil {
panic(err)
Expand Down Expand Up @@ -399,7 +390,6 @@ func kv2kv(ctx context.Context, src, dst ethdb.RwKV) error {
if err != nil {
return err
}
var prevK []byte
casted, isDupsort := c.(ethdb.RwCursorDupSort)

for k, v, err := srcC.First(); k != nil; k, v, err = srcC.Next() {
Expand All @@ -408,16 +398,9 @@ func kv2kv(ctx context.Context, src, dst ethdb.RwKV) error {
}

if isDupsort {
if bytes.Equal(k, prevK) {
if err = casted.AppendDup(k, v); err != nil {
panic(err)
}
} else {
if err = casted.Append(k, v); err != nil {
panic(err)
}
if err = casted.AppendDup(k, v); err != nil {
panic(err)
}
prevK = k
} else {
if err = c.Append(k, v); err != nil {
panic(err)
Expand All @@ -444,7 +427,6 @@ func kv2kv(ctx context.Context, src, dst ethdb.RwKV) error {
default:
}
}
prevK = nil

// migrate bucket sequences to native mdbx implementation
//currentID, err := srcTx.Sequence(name, 0)
Expand Down
16 changes: 3 additions & 13 deletions common/etl/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ func loadFilesIntoBucket(logPrefix string, db ethdb.RwTx, bucket string, provide

logEvery := time.NewTicker(30 * time.Second)
defer logEvery.Stop()
var pervK, pervV []byte

i := 0
loadNextFunc := func(originalK, k, v []byte) error {
Expand Down Expand Up @@ -201,22 +200,13 @@ func loadFilesIntoBucket(logPrefix string, db ethdb.RwTx, bucket string, provide
}
if canUseAppend {
if isDupSort {
if bytes.Equal(k, pervK) {
if err := c.(ethdb.RwCursorDupSort).AppendDup(k, v); err != nil {
return fmt.Errorf("%s: bucket: %s, appendDup: k=%x, pervK=%x %w", logPrefix, bucket, k, pervK, err)
}
} else {
if err := c.Append(k, v); err != nil {
return fmt.Errorf("%s: bucket: %s, append: k=%x, pervK=%x, %w", logPrefix, bucket, k, pervK, err)
}
if err := c.(ethdb.RwCursorDupSort).AppendDup(k, v); err != nil {
return fmt.Errorf("%s: bucket: %s, appendDup: k=%x, %w", logPrefix, bucket, k, err)
}
pervK = k
} else {
if err := c.Append(k, v); err != nil {
return fmt.Errorf("%s: bucket: %s, append: k=%x, v=%x,prevK=%x, prevV=%x, %w", logPrefix, bucket, k, v, pervK, pervV, err)
return fmt.Errorf("%s: bucket: %s, append: k=%x, v=%x, %w", logPrefix, bucket, k, v, err)
}
pervK = k
pervV = v
}

return nil
Expand Down
25 changes: 4 additions & 21 deletions core/state/change_set_writer.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package state

import (
"bytes"
"context"
"fmt"

Expand Down Expand Up @@ -123,23 +122,14 @@ func (w *ChangeSetWriter) WriteChangeSets() error {
if err != nil {
return err
}
var prevK []byte
if err = changeset.Mapper[dbutils.AccountChangeSetBucket].Encode(w.blockNumber, accountChanges, func(k, v []byte) error {
if bytes.Equal(k, prevK) {
if err = w.db.AppendDup(dbutils.AccountChangeSetBucket, k, v); err != nil {
return err
}
} else {
if err = w.db.Append(dbutils.AccountChangeSetBucket, k, v); err != nil {
return err
}
if err = w.db.AppendDup(dbutils.AccountChangeSetBucket, k, v); err != nil {
return err
}
prevK = k
return nil
}); err != nil {
return err
}
prevK = nil

storageChanges, err := w.GetStorageChanges()
if err != nil {
Expand All @@ -149,16 +139,9 @@ func (w *ChangeSetWriter) WriteChangeSets() error {
return nil
}
if err = changeset.Mapper[dbutils.StorageChangeSetBucket].Encode(w.blockNumber, storageChanges, func(k, v []byte) error {
if bytes.Equal(k, prevK) {
if err = w.db.AppendDup(dbutils.StorageChangeSetBucket, k, v); err != nil {
return err
}
} else {
if err = w.db.Append(dbutils.StorageChangeSetBucket, k, v); err != nil {
return err
}
if err = w.db.AppendDup(dbutils.StorageChangeSetBucket, k, v); err != nil {
return err
}
prevK = k
return nil
}); err != nil {
return err
Expand Down

0 comments on commit 4736bac

Please sign in to comment.