Commit Graph

417 Commits

Author SHA1 Message Date
Julien Robert
e4c0788bf2
docs: update docs links to v0.47 (#14572) 2023-01-12 11:57:53 +00:00
Noel Ukwa
c822836501
refactor: migrate calls from alias file to appropriate store/types (#14455)
Co-authored-by: Marko <marbar3778@yahoo.com>
Closes https://github.com/cosmos/cosmos-sdk/issues/14406
2023-01-10 15:31:06 +00:00
yihuang
88623edb7c
remove sdk import from store package (#14456) 2023-01-01 21:54:52 +00:00
Marko
f3dd51029a
refactor: remove global metrics in store (#14439) 2022-12-30 14:46:29 +01:00
Jacob Gadikian
1bb0629846
chore: iavl-v0.20-alpha1 and cosmos-db (#14411)
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2022-12-28 21:42:00 +01:00
khanh-notional
829c487de8
chore: Enforce order of store commits in root store (#14385)
Co-authored-by: Marko <marbar3778@yahoo.com>
2022-12-28 15:52:34 +00:00
Marko
7d2ba36357
refactor: pass logger to store (#14438) 2022-12-28 13:20:44 +01:00
Daniel Gushchyan
741f4ae0b3
docs: Spec on current cachekv implementation (#13977)
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2022-12-28 10:12:52 +00:00
Marko
1fab762175
refactor: remove base app from store (#14417)
## Description

This pr removes base app from the store package. This is un order to decouple store from the sdk. There are a few things we can clean up but the telemetry package may be difficult with how it's done. 

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-12-27 23:00:44 +00:00
yihuang
f1ee974ec8
refactor: make cachekv store thread-safe again (#14378)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2022-12-21 14:58:18 -05:00
Jacob Gadikian
be8c5a09c2
chore: lint tests (#14268) 2022-12-18 23:48:31 +00:00
dependabot[bot]
0fd03e8c31
build(deps): Bump github.com/tidwall/btree from 1.5.2 to 1.6.0 (#14345)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-12-16 16:28:52 +00:00
yihuang
cbee1b3ea1
perf: optimize iteration on nested cache context (#13881)
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Closes https://github.com/cosmos/cosmos-sdk/issues/10310
2022-12-16 02:52:44 +00:00
Julien Robert
ce167a2074
test: rename e2e tests (#13913) 2022-12-15 10:55:01 +01:00
Daniel Wedul
aba4e6efb3
fix(store): Fix the TestFileStreamingService unit test. (#14305) 2022-12-14 22:17:39 +00:00
Marko
ce8c96bbf5
chore: clean up sdk dependencies from store package (#14245) 2022-12-10 22:56:36 +00:00
Aleksandr Bezobchuk
ae2c762bd3
chore: audit store/streaming/file/service.go (#14234) 2022-12-10 17:15:29 +01:00
Marko
f08ba9eafa
refactor: don't rely on sdk/codec in streaming (#14155) 2022-12-09 16:35:13 +00:00
Marko
f3be41836f
refactor: remove store kv dependency (#14144) 2022-12-07 20:57:47 +00:00
Emmanuel T Odeke
0115f88ebc
perf: store/cachekv: preallocate kvL in dirtyItems which gets appended too (#14168) 2022-12-07 09:00:02 +00:00
Marko
14c9dc6b7f
refactor: undo sdk/types import in store. (#14096)
* Move snapshotstore under store

* add changelog entry

* errors store

* remove dep on sdk/types/errors

* clean up

* fix var

* reduce further reliance on sdk

* import fixes

* rename based off comments
2022-12-06 15:19:37 +00:00
Marko
390262f56b
refactor: remove reliance on sdk/types/errors from store (#14090)
* Move snapshotstore under store

* add changelog entry

* errors store

* remove dep on sdk/types/errors

* clean up

* fix var

* undo some changes, clean up fmt.Errorf usage

* remove pkg/errors
2022-12-03 13:11:33 +00:00
yihuang
1f91ee2ee9
fix: state listener observe writes at wrong time (#13516)
* fix: state listener observe writes at wrong time

Closes: #13457

Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design.
The solution (as discussed in the issue) is to listen state writes on rootmulti store only.

It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events.

It adds new config items for file streamer:
- streamers.file.output-metadata
- streamers.file.stop-node-on-error
- streamers.file.fsync

* synchronous abci call, and format doc

* fix comment

* update file streamer readme and fix typos

* typo

* fix: state listener observe writes at wrong time

Closes: #13457

Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design.
The solution (as discussed in the issue) is to listen state writes on rootmulti store only.

It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events.

It adds new config items for file streamer:
- streamers.file.output-metadata
- streamers.file.stop-node-on-error
- streamers.file.fsync

synchronous abci call, and format doc

fix comment

update file streamer readme and fix typos

typo

* improve UX of file streamer, make it immediately usable after enabled

- set default value to write_dir.
- make write_dir based on home directory by default.
- auto-create the directory if not exists.

* get homePage from opts

Co-authored-by: Marko <marbar3778@yahoo.com>
2022-12-02 15:43:21 +01:00
Marko
2e3d38f01c
refactor: move snapshotstore under store (#14048)
* Move snapshotstore under store

* add changelog entry

* fix build

* move snapshot proto package

* make proto-gen

* Update CHANGELOG.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2022-11-29 23:40:14 +00:00
Matt Kocubinski
8c6181aacf
reuse helper fn and add comment (#14075) 2022-11-29 20:37:31 +00:00
Emmanuel T Odeke
5a1fa2ee02
fix: store/rootmulti: correctly dispatch exporter closing while in a loop (#14027) 2022-11-29 17:45:56 +00:00
Marko
b25908b964
refactor: use go context instead of sdk.Context (#14050)
* rely on context.Context instead of homegrown

* changelog entry

* wrap before calling
2022-11-29 11:59:54 +00:00
Aleksandr Bezobchuk
c6189bb630
refactor: cleanup store/streaming/constructor.go #14044 2022-11-28 15:43:49 +00:00
Aleksandr Bezobchuk
2c0d445ad3
refactor: State Streaming Docs + Explicit Config Support (#13894) 2022-11-17 18:48:44 +00:00
yihuang
22f3261285
refactor: add error log when iavl set failed (#13803)
* add error log when iavl set failed

Ref: #12012

* Update CHANGELOG.md

* play safe
2022-11-09 14:53:53 +08:00
Facundo Medica
0d288e935c
test: Add some tests and remove dead code in store (#13614) 2022-11-08 20:20:18 +00:00
Julien Robert
97bd2ab792
refactor: remove unused code (#13725) 2022-11-02 11:50:47 +01:00
mmsqe
b63adac6f4
fix: app-hash mismatch if upgrade migration commit is interrupted (#13530)
* avoid append commit when upgrade get interrupted

* add commitStores test

* add change doc

* Update store/rootmulti/store.go

Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2022-10-24 16:02:51 +00:00
Marko
04db139e8a
chore: move pruning to store (#13609)
* move pruning to store

* add changelog entry

Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-10-24 14:02:17 +02:00
Julien Robert
7d6601e1fb
refactor: clean-up SDK tools (#13603) 2022-10-21 15:15:20 +00:00
yihuang
15accd76fc
feat: support alternative query multistore (#13529)
* support customize query multistore

* Update CHANGELOG.md

* fix test

* Update baseapp/abci.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update baseapp/baseapp.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update baseapp/options.go

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2022-10-17 23:40:28 +08:00
yihuang
bb54c597de
fix: state listener could observe discarded writes (#13459)
* fix: state listener could observe uncommitted writes

Closes: #13457

don't pass listeners to nested cached store,
only the most inner layer's cache writes should be observed.

* Update CHANGELOG.md

* add unit test

* rename

Co-authored-by: Marko <marbar3778@yahoo.com>
2022-10-06 11:41:56 +00:00
Amaury
90bd3161a1
refactor: Improve and clarify API around AccountAddressById (#13460)
* Revert "chore: change id to use uint64 in `AccountAddressByID` (#13411)"

This reverts commit 3d0e214446.

* Add since

* Update CLI command

* make proto-gen

* id->accNum

* No API breaking changes

* improve err msg

* Update CHANGELOG.md

Co-authored-by: Julien Robert <julien@rbrt.fr>

* Update CHANGELOG.md

Co-authored-by: Julien Robert <julien@rbrt.fr>

Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-10-06 11:05:25 +00:00
Facundo Medica
87e46b2f51
refactor: remove dead code in cacheMergeIterator Domain() (#13433) 2022-10-05 08:46:41 +02:00
Julien Robert
c3887986ff
chore(deps): bump github.com/cosmos/cosmos-sdk from 0.46.1 to 0.46.2 (#13447) 2022-10-04 16:18:37 +02:00
Julien Robert
9bae8a817f
build(deps): bump go minimum version to go 1.19 (#13397) 2022-09-27 21:02:02 +02:00
Julien Robert
53519ea5b3
refactor: simplify hooks implementation (#13396) 2022-09-27 20:37:26 +02:00
mmsqe
dcb0c9c04c
fix: double close (#13400) 2022-09-27 18:16:13 +00:00
Facundo Medica
35e5a3dc2d
chore: add cachekv tests (#13385) 2022-09-26 08:26:43 +00:00
Emmanuel T Odeke
abdf61e292
fix: all: remove map iteration non-determinism with keys + sorting (#13377) 2022-09-24 16:20:54 +00:00
Jacob Gadikian
b10097fdcf
refactor: remove storev2alpha1 (#13371) 2022-09-23 21:53:58 +00:00
Aleksandr Bezobchuk
b853d3fe8f
chore: store package specification (#13209)
* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

Co-authored-by: Marko <marbar3778@yahoo.com>
2022-09-23 16:46:28 +00:00
Marko
107ffee28e
chore: upstream error on empty version (#13355)
* upstream error on empty version

* fix tests

* revert change
2022-09-21 18:31:19 +02:00
Emmanuel T Odeke
9c2aef342d
chore: all: use golang.org/x/exp/maps.(Keys, Values) where necessary (#13349)
Uses golang.org/x/exp/maps.(Keys, Values) to sort out flagged
potential non-determinism issues due to map iteration which is
randomized in maps.

These were flagged by cosmos/gosec in

* https://github.com/cosmos/cosmos-sdk/security/code-scanning/724
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/725
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/726
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/727
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/728
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/729
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/782
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/813
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/814
* https://github.com/cosmos/cosmos-sdk/security/code-scanning/816

which complained about potential non-determinism in
map iteration in which we only want appends in map iteration loops,
this change instead uses golang.org/x/exp/maps.Keys to retrieve
the keys then sort.Strings which simplifies the helper code.

This change fixes issues in:
* orm/model/ormdb: non-determinism in ExportJSON
* store/internal/proofs
* types/module
* x/auth/keeper
* x/bank
* x/genutil/client/cli

Fixes #13348
2022-09-21 02:08:13 +00:00
Marko
412e2fc86e
feat: configurable fastnode (#13321) 2022-09-20 08:49:18 +00:00