1. 23 Aug, 2023 1 commit
  2. 10 Aug, 2023 1 commit
    • rjl493456442's avatar
      all: activate pbss as experimental feature (#26274) · 503f1f7a
      rjl493456442 authored
      * all: activate pbss
      
      * core/rawdb: fix compilation error
      
      * cma, core, eth, les, trie: address comments
      
      * cmd, core, eth, trie: polish code
      
      * core, cmd, eth: address comments
      
      * cmd, core, eth, les, light, tests: address comment
      
      * cmd/utils: shorten log message
      
      * trie/triedb/pathdb: limit node buffer size to 1gb
      
      * cmd/utils: fix opening non-existing db
      
      * cmd/utils: rename flag name
      
      * cmd, core: group chain history flags and fix tests
      
      * core, eth, trie: fix memory leak in snapshot generation
      
      * cmd, eth, internal: deprecate flags
      
      * all: enable state tests for pathdb, fixes
      
      * cmd, core: polish code
      
      * trie/triedb/pathdb: limit the node buffer size to 256mb
      
      ---------
      Co-authored-by: 's avatarMartin Holst Swende <martin@swende.se>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      503f1f7a
  3. 02 Mar, 2023 1 commit
  4. 09 Feb, 2023 1 commit
    • Martin Holst Swende's avatar
      ethdb: pebble backend (64bit platforms only) (#26517) · ed51b8c5
      Martin Holst Swende authored
      * ethdb: use pebble
      Co-authored-by: 's avatarGary Rong <garyrong0905@gmail.com>
      
      foo
      
      update
      
      * apply suggested changes
      
      * flags: go format
      
      node: fix ddir lookup mistake
      
      accounts/abi/bind: fix go.mod replacement for generated binding
      
      deps: update pebble + with fix 32-bit build
      
      * ethdb/pebble: respect max memtable size
      
      * core/rawdb, ethdb: enable pebble on non-32bit platforms only
      
      * core/rawdb: fix build tags, fix some review concerns
      
      * core/rawdb: refactor methods for database opening
      
      * core/rawdb: remove erroneous build tag
      
      * cmd/geth: fix the flag default handling + testcase
      
      * cmd/geth: improve testing regarding custom backends
      
      * ethdb/pebble, deps: update pebble dependency
      
      * core/rawdb: replace method with Open
      
      * ethdb/pebble: several updates for pebble (#49)
      
      * ethdb/pebble: fix size count in batch
      
      * ethdb/pebble: disable seek compaction
      
      * ethdb/pebble: more fixes
      
      * ethdb, core, cmd: polish and fixes (#50)
      
      * cmd/utils, core/rawdb, ethdb/pebble: address some review concerns
      
      * Update flags.go
      
      * ethdb/pebble: minor refactors
      
      * ethdb/pebble: avoid copy on batch replay
      
      * ethdb: fix compilation flaw
      
      * cmd: fix test fail due to mismatching error message
      
      * cmd/geth, node: rename backingdb to db.engine
      
      ---------
      Co-authored-by: 's avatarJared Wasinger <j-wasinger@hotmail.com>
      Co-authored-by: 's avatarrjl493456442 <garyrong0905@gmail.com>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      ed51b8c5
  5. 08 Feb, 2023 1 commit
    • rjl493456442's avatar
      all: remove database commit callback, rework noderesolver (#26637) · 98423013
      rjl493456442 authored
      This change ports some changes from the main PBSS PR:
      
        - get rid of callback function in `trie.Database.Commit` which is not required anymore
        - rework the `nodeResolver` in `trie.Iterator` to make it compatible with multiple state scheme
        - some other shallow changes in tests and typo-fixes
      98423013
  6. 06 Oct, 2022 1 commit
    • Martin Holst Swende's avatar
      core, ethclient/gethclient: improve flaky tests (#25918) · 067bac3f
      Martin Holst Swende authored
      * ethclient/gethclient: improve time-sensitive flaky test
      
      * eth/catalyst: fix (?) flaky test
      
      * core: stop blockchains in tests after use
      
      * core: fix dangling blockchain instances
      
      * core: rm whitespace
      
      * eth/gasprice, eth/tracers, consensus/clique: stop dangling blockchains in tests
      
      * all: address review concerns
      
      * core: goimports
      
      * eth/catalyst: fix another time-sensitive test
      
      * consensus/clique: add snapshot test run function
      
      * core: rename stop() to stopWithoutSaving()
      Co-authored-by: 's avatarFelix Lange <fjl@twurst.com>
      067bac3f
  7. 07 Sep, 2022 1 commit
  8. 30 Aug, 2022 1 commit
  9. 13 Jun, 2022 1 commit
    • Martin Holst Swende's avatar
      all: more linters (#24783) · a907d7e8
      Martin Holst Swende authored
      This enables the following linters
      
      - typecheck
      - unused
      - staticcheck
      - bidichk
      - durationcheck
      - exportloopref
      - gosec
      
      WIth a few exceptions.
      
      - We use a deprecated protobuf in trezor. I didn't want to mess with that, since I cannot meaningfully test any changes there.
      - The deprecated TypeMux is used in a few places still, so the warning for it is silenced for now.
      - Using string type in context.WithValue is apparently wrong, one should use a custom type, to prevent collisions between different places in the hierarchy of callers. That should be fixed at some point, but may require some attention.
      - The warnings for using weak random generator are squashed, since we use a lot of random without need for cryptographic guarantees.
      a907d7e8
  10. 08 Apr, 2022 1 commit
    • Eng Zer Jun's avatar
      all: use T.TempDir to create temporary test directories (#24633) · 8d066f1f
      Eng Zer Jun authored
      This commit replaces ioutil.TempDir with t.TempDir in tests. The
      directory created by t.TempDir is automatically removed when the test
      and all its subtests complete.
      
      Prior to this commit, temporary directory created using ioutil.TempDir
      had to be removed manually by calling os.RemoveAll, which is omitted in
      some tests. The error handling boilerplate e.g.
      
      	defer func() {
      		if err := os.RemoveAll(dir); err != nil {
      			t.Fatal(err)
      		}
      	}
      
      is also tedious, but t.TempDir handles this for us nicely.
      
      Reference: https://pkg.go.dev/testing#T.TempDirSigned-off-by: 's avatarEng Zer Jun <engzerjun@gmail.com>
      8d066f1f
  11. 26 Nov, 2021 1 commit
  12. 15 Jun, 2021 1 commit
  13. 22 Mar, 2021 1 commit
    • gary rong's avatar
      all: add read-only option to database (#22407) · 0c70b83e
      gary rong authored
      * all: add read-only option to database
      
      * all: fixes tests
      
      * cmd/geth: migrate flags
      
      * cmd/geth: fix the compact
      
      * cmd/geth: fix the format
      
      * cmd/geth: fix log
      
      * cmd: add chain-readonly
      
      * core: add readonly notion to freezer
      
      * core/rawdb: add log
      
      * core/rawdb: fix freezer close
      
      * cmd: fix
      
      * cmd, core: construct db
      
      * core: update tests
      0c70b83e
  14. 29 Oct, 2020 1 commit
    • gary rong's avatar
      core: improve snapshot journal recovery (#21594) · b63e3c37
      gary rong authored
      * core/state/snapshot: introduce snapshot journal version
      
      * core: update the disk layer in an atomic way
      
      * core: persist the disk layer generator periodically
      
      * core/state/snapshot: improve logging
      
      * core/state/snapshot: forcibly ensure the legacy snapshot is matched
      
      * core/state/snapshot: add debug logs
      
      * core, tests: fix tests and special recovery case
      
      * core: polish
      
      * core: add more blockchain tests for snapshot recovery
      
      * core/state: fix comment
      
      * core: add recovery flag for snapshot
      
      * core: add restart after start-after-crash tests
      
      * core/rawdb: fix imports
      
      * core: fix tests
      
      * core: remove log
      
      * core/state/snapshot: fix snapshot
      
      * core: avoid callbacks in SetHead
      
      * core: fix setHead cornercase where the threshold root has state
      
      * core: small docs for the test cases
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      b63e3c37
  15. 20 Aug, 2020 1 commit
    • Péter Szilágyi's avatar
      core: define and test chain rewind corner cases (#21409) · 8cbdc863
      Péter Szilágyi authored
      * core: define and test chain reparation cornercases
      
      * core: write up a variety of set-head tests
      
      * core, eth: unify chain rollbacks, handle all the cases
      
      * core: make linter smile
      
      * core: remove commented out legacy code
      
      * core, eth/downloader: fix review comments
      
      * core: revert a removed recovery mechanism
      8cbdc863