Commit Graph

1120 Commits

Author SHA1 Message Date
Raúl Kripalani
3795cc2bd2 segregate chain and state blockstores.
This paves the way for better object lifetime management.

Concretely, it makes it possible to:
- have different stores backing chain and state data.
- having the same datastore library, but using different parameters.
- attach different caching layers/policies to each class of data, e.g.
  sizing caches differently.
- specifying different retention policies for chain and state data.

This separation is important because:
- access patterns/frequency of chain and state data are different.
- state is derivable from chain, so one could never expunge the chain
  store, and only retain state objects reachable from the last finality
  in the state store.
2021-02-28 22:49:44 +00:00
Jakub Sztandera
ccebc4f53c
Fix riceing by importing the main package
Go 1.16 elides dependencies from go.sum when you don't use a package
which has these dependencies.

This means dependencies for the `rice` command where not in our
`go.sum`.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-02-24 15:58:40 +01:00
Łukasz Magiera
35759fa07e
Merge pull request #5635 from filecoin-project/deps/cbg-soft-map
Update markets, cbor-gen with soft map decoding
2021-02-22 18:27:38 +01:00
Dirk McCormick
a8b40b77fa update to go-fil-markets v1.1.9 2021-02-22 17:01:28 +01:00
Dirk McCormick
7046e2721a feat: update go-fil-markets version 2021-02-22 14:25:29 +01:00
Steven Allen
b177e67a7a chore: normalize deps 2021-02-19 15:27:38 -08:00
Aayush Rajasekaran
df32f5d060 Update actors to v3.0.2 2021-02-19 15:08:30 -05:00
Łukasz Magiera
26399dba70 Update markets, cbor-gen with soft map decoding 2021-02-19 20:11:43 +01:00
Łukasz Magiera
d12545af6f
Merge pull request #5469 from filecoin-project/feat/faucet-captcha
Add spam protection to fountain
2021-02-17 20:17:28 +01:00
Łukasz Magiera
5f998038c7 Update go-jsonrpc 2021-02-17 18:59:31 +01:00
Łukasz Magiera
5ad4d72fe0 Update go-jsonrpc fixing websocket reconnecting 2021-02-16 21:16:13 +01:00
Dirk McCormick
a6e3856776 Revert "feat: deals - show data transfer %"
This reverts commit b6c9ddccff.
2021-02-16 12:32:45 +01:00
Steven Allen
6b6f0acaf0 update go-bitfield
optimizes subtract operations
2021-02-15 13:14:13 -08:00
Łukasz Magiera
95e47cf998
Merge pull request #5553 from filecoin-project/feat/data-xfer-percent
show data transfer % for storage deals
2021-02-11 13:29:43 +01:00
Dirk McCormick
b6c9ddccff feat: deals - show data transfer % 2021-02-10 09:56:23 +01:00
Anton Evangelatov
307fc14093 go.mod: do not depend on gocheck 2021-02-09 17:08:19 +01:00
Dirk McCormick
e7a63b7dd5 feat: updated to go-fil-markets@1.1.7 2021-02-05 12:12:48 +01:00
Dirk McCormick
6baddccff2 feat: update to go-fil-markets v1.1.6 2021-02-05 09:41:42 +01:00
Dirk McCormick
fc8ee481a8 refactor: move waiting for publish deals from markets into lotus 2021-02-03 10:36:38 +01:00
Dirk McCormick
a19d6ce8a3 fix: zero price-per-byte retrieval 2021-02-01 16:55:18 +01:00
Steven Allen
e9eecad2c5 fix verified registry migration 2021-01-28 16:14:38 -08:00
Jakub Sztandera
ba94f271db
Add spam protection to fountain
Uses reCAPTCHAv3, `RECAPTCHA_SITE_KEY` and `RECAPTCHA_SECRET_KEY` need to be
set in env.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-01-28 19:58:09 +01:00
Steven Allen
997e7d18d9 fix: update specs-actors to fix a bug in the migration logic 2021-01-27 21:53:11 -08:00
Steven Allen
7905c3bbd8 update deps
Most changes are just tagging deps. However,

* Updates go-ipld-hamt to fix a bug in the new V3 HAMT.
* Updates bitfield to save ~10% for some operations.
2021-01-27 11:52:32 -08:00
Steven Allen
94089a6a15 remove todos 2021-01-22 11:15:43 -08:00
Steven Allen
c27ec4ed22 latest specs actors master 2021-01-21 15:21:20 -08:00
Steven Allen
fb5f3c5703 update specs actors 2021-01-21 15:21:19 -08:00
Steven Allen
dffa514518 update specs-actors for h/amt interface refactor 2021-01-21 15:21:19 -08:00
Steven Allen
64e805926f update specs-actors for migration name change
Actors v3 is network version 10.
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
aa9eef48f0 Use temp commit of actors 2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ba3b32cfe7 Pull in actors v3 2021-01-21 15:21:18 -08:00
Raúl Kripalani
931cfe1ed1 upgrade to raulk/go-watchdog@v1.0.1
This pulls in the improvements introduced in:
  - https://github.com/raulk/go-watchdog/releases/tag/v1.0.0
  - https://github.com/raulk/go-watchdog/releases/tag/v1.0.1

Lotus tries to initialize the watchdog in the following order of precedence:
  1. If a max heap limit has been provided, initialize a heap-driven watchdog.
  2. Else, try to initialize a cgroup-driven watchdog.
  3. Else, try to initialize a system-driven watchdog.
  4. Else, log a warning that the system is flying solo, and return.

This PR also enabled automatic heap profile capture when memory usage
surpasses 90% of the limit. Profiles are written to <LOTUS_HOME>/heapprof.
A single heap profile is captured per episode, with a max of 10 episodes
captured during the lifetime of the process. Episode = instance of usage
climbing above the 90% threshold.
2021-01-20 18:09:19 +00:00
Dirk McCormick
1206154718 feat: update to go-fil-markets v1.1.0 for better retry config 2021-01-20 10:00:02 +01:00
Dirk McCormick
835fd4b23c feat: markets - miner should not dial client on restart 2021-01-14 16:38:56 +01:00
vyzo
62e76bbcab update go-libp2p-pubsub to v0.4.1 2021-01-12 17:24:15 +02:00
Łukasz Magiera
594737ff6c Upgrade specs-actors 2020-12-19 21:34:57 +01:00
Dirk McCormick
72cb130e17 feat: show data transfer ID in list-deals 2020-12-08 15:23:26 +01:00
Raúl Kripalani
e8a5e0d2fe integrate memory watchdog; impose limits on badger caches. 2020-12-02 16:40:28 +00:00
Łukasz Magiera
354b5af55a
Merge pull request #5032 from filecoin-project/fix/cancel-transfer
Cancel transfer cancels storage deal
2020-12-01 14:57:58 +01:00
Dirk McCormick
c5a8b7076c feat: go-fil-markets v1.0.9 2020-12-01 11:58:28 +01:00
Dirk McCormick
7bab281449 feat: go-data-transfer v1.2.2 / go-fil-markets v1.0.8 2020-12-01 11:12:41 +01:00
Dirk McCormick
c66e594046 fix: cancel transfer cancels storage deal 2020-11-27 15:37:22 +01:00
Łukasz Magiera
3672053ae9 worker: Support setting task types at runtime 2020-11-26 17:33:34 +01:00
Łukasz Magiera
41d370557f Merge remote-tracking branch 'origin/master' into feat/deal-await-precommit 2020-11-26 12:09:52 +01:00
Łukasz Magiera
fcec665267 Merge remote-tracking branch 'origin/master' into feat/deal-await-precommit 2020-11-26 11:51:36 +01:00
Łukasz Magiera
506624f509 Update go-jsonrpc to v0.1.2 2020-11-26 11:42:31 +01:00
Dirk McCormick
97a76a4b9a feat: update to go-graphsync v0.5.1 2020-11-25 13:18:41 +01:00
hannahhoward
694834e8d5 feat(graphsync): configure simultaneous requests
allow configuration of the number of simultaneous requests graphsync will process at once
2020-11-24 14:32:30 -08:00
hannahhoward
47a4128311 feat(markets): update to tagged go-fil-markets 2020-11-24 13:26:14 -08:00
Dirk McCormick
239e180683 feat: markets - separate watching for pre-commit from prove-commit 2020-11-24 13:24:41 -08:00
Łukasz Magiera
9cef300535
Merge pull request #4971 from filecoin-project/chore/new_sr2_deal_rollup_cmd
New SR-specific lotus-shed cmd
2020-11-24 17:50:10 +01:00
Lucas Molas
8b8449faee update jsonrpc with max req size 2020-11-24 16:46:35 +01:00
Peter Rabbitson
2609342356 New SR-specific lotus-shed cmd 2020-11-23 05:41:14 +00:00
hannahhoward
218f7c2c5d feat(markets): update markets, extract commp 2020-11-20 13:29:14 -08:00
Dirk McCormick
e7b8511622 feat: upgrade to go-fil-markets 1.0.5 2020-11-19 10:16:49 +01:00
Aayush Rajasekaran
8575f5518c Merge branch 'master' into release/v1.2.0 2020-11-17 19:49:46 -05:00
Aayush Rajasekaran
52d34c8a5e Update to ipfs-blockstore 1.0.3 2020-11-17 19:43:20 -05:00
Aayush Rajasekaran
68a16afeda Merge branch 'master' into release/v1.2.0 2020-11-17 19:40:05 -05:00
Łukasz Magiera
50146fb9b9
Merge pull request #4872 from filecoin-project/raulk/fix-blockstore-import
fix badger double open on daemon --import-snapshot; chainstore lifecycle
2020-11-18 01:36:16 +01:00
Jakub Sztandera
7ce4e5342b
Upgrade actors to v2.3.2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:43:32 +01:00
hannahhoward
a2abeef727 feat(markets): upgrade to fix cid recording issue 2020-11-16 17:57:57 -08:00
Łukasz Magiera
8db9c19e1c mod tidy 2020-11-16 19:19:17 +01:00
Łukasz Magiera
444239a643 update ffi 2020-11-16 19:17:07 +01:00
Steven Allen
638900f97f Remove static proof type configuration from market subsystem
Instead, use proof type from miner actor. This will, in turn, use the upgraded
proof type if/when it's switched at runtime.

TODO: Consider making this some form of config option instead?
2020-11-16 19:04:17 +01:00
Steven Allen
d7c2c073a3 update specs-storage to fix build 2020-11-16 19:03:30 +01:00
Łukasz Magiera
6bea9dd178 Making sealing logic work with multiple seal proof types 2020-11-16 19:03:30 +01:00
Raúl Kripalani
b13a41a44d go mod tidy. 2020-11-16 16:30:17 +00:00
Raúl Kripalani
87d6daf745 fix blockstore double open issue on --import-snapshot.
Fixes https://github.com/filecoin-project/lotus/issues/4850.
2020-11-16 15:21:47 +00:00
Aayush Rajasekaran
6d0b3978b9 Merge branch 'master' into release/v1.2.0 2020-11-15 19:03:18 -05:00
Steven Allen
ae76711ab4 chore(dep): update bitswap to fix an initialization race that could panic
In rare cases, if bitswap receives a message before it finishes starting up, it
could panic. This release fixes that.
2020-11-13 14:11:29 -08:00
Steven Allen
5f1737379a update libp2p for stream interface changes 2020-11-12 13:57:19 -08:00
Aayush Rajasekaran
5d9c79811f
Update to actors v2.3.0
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-12 18:49:11 +01:00
Aayush Rajasekaran
90dd39d581
Merge pull request #4787 from filecoin-project/refactor/fund-mgr-integ
refactor: integrate new FundManager
2020-11-11 03:58:59 -05:00
Dirk McCormick
9011e88f9f fix: go mod tidy 2020-11-11 09:45:32 +01:00
Dirk McCormick
0e20a65a0b feat: upgrade markets to v1.0.4 2020-11-11 09:41:27 +01:00
Aayush Rajasekaran
029c516cbc Update to latest go-address 2020-11-11 00:46:02 -05:00
hannahhoward
ebd6b0da49 fix(deps): update to tagged go-graphsync 2020-11-10 21:18:29 -08:00
hannahhoward
9f7204ee26 feat(builder): finish new FundManager setup
Finish setup of new FundManager and provide a migration for previously reserved funds
2020-11-10 21:11:05 -08:00
Aayush Rajasekaran
1323dbddfe
Merge pull request #4793 from filecoin-project/asr/bitfield-update
Update to latest go-bitfield
2020-11-10 20:36:08 -05:00
Aayush Rajasekaran
735c04f999
Merge pull request #4681 from filecoin-project/badger-viewable
move to native badger blockstore; leverage zero-copy View() to deserialize in-place
2020-11-10 18:08:12 -05:00
Aayush Rajasekaran
075297d8ad Update to latest go-bitfield 2020-11-10 17:43:50 -05:00
Raúl Kripalani
379dd02fb6 upgrade dependencies. 2020-11-10 16:32:23 +00:00
Raúl Kripalani
577476b8fe import Viewable non-terminal blockstores. 2020-11-10 13:16:24 +00:00
hannahhoward
ea726c9f17 feat(markets): update to 1.0.1
update to tagged 1.0.1 release & also fix lint error
2020-11-09 20:02:02 -08:00
hannahhoward
7519bdde42 feat(markets): check deal equality
in OnDealSectorCommitted, verify that deals looked up match the deal proposals which were made
2020-11-09 18:48:28 -08:00
hannahhoward
09a0d6e607 style(lint): fix lint issues 2020-11-09 18:48:28 -08:00
hannahhoward
d2acc78787 feat(markets): handle deal ID changes
make OnDealSectorCommitted handle changes to deal ids
2020-11-09 18:48:28 -08:00
Steven Allen
4a3ff8ff9e update yamux
This new release:

* Ensures we send window updates on-time to avoid sawtooth bandwidth utilization.
* Limits the number of outgoing pings to 1 (no need to send any more at a time).
* Limits the number of buffered pongs to 32 (there should never be more than 1,
  maybe 2, at a time).
* Fast-tracks outgoing pings so they don't get stuck behind large queued writes.
2020-11-06 12:51:50 -08:00
Jakub Sztandera
258cc0067b
Update go-bitfield v0.2.2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-06 20:16:05 +01:00
Raúl Kripalani
809111336a Merge branch 'master' into badger-viewable 2020-11-03 18:29:10 +00:00
hannahhoward
af1743f9f3 fix(datatransfer): update with memory leak fixes 2020-11-02 17:25:02 -08:00
Raúl Kripalani
634467d24b go mod tidy. 2020-11-01 17:38:38 +00:00
Raúl Kripalani
95f512aa69 update/add dependencies. 2020-11-01 13:05:07 +00:00
Łukasz Magiera
843c0719e0 Update FFI 2020-10-27 15:37:11 +01:00
Łukasz Magiera
c81db5a21c
Merge pull request #4420 from filecoin-project/deps/drand-v1.2.0
Chore: update drand to v1.2.0
2020-10-23 18:25:00 +02:00
Jakub Sztandera
0341944350 Inject prometheus
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-22 14:57:05 +02:00
whyrusleeping
00d1e6b549 add measure datastore wrapper around bench chain datastore 2020-10-22 14:57:04 +02:00
Will Scott
9dc9bf5eb0 go mod tidy 2020-10-21 19:49:38 -07:00
Will Scott
035a762358 update drand to v1.2.1
* stop autowatching
* set user-agent
2020-10-21 16:49:59 -07:00
Łukasz Magiera
c767399fc6
Merge pull request #4504 from filecoin-project/feat/clientdeal-miner-picker
Miner finder for interactive client deal CLI
2020-10-21 05:46:07 +02:00
Aayush Rajasekaran
556f92a823 Update to actors v2.2.0 at PostLiftoff epoch 2020-10-20 17:23:35 -04:00
hannahhoward
e08032da93 feat(markets): update markets v1.0.0 2020-10-20 13:56:13 -07:00
Łukasz Magiera
dc40469cb3 Miner finder for interactive client deal CLI 2020-10-20 21:54:39 +02:00
Łukasz Magiera
955d7f9c54
Merge pull request #4393 from filecoin-project/vectors/support-multiple-versions
conformance: support multiple protocol versions.
2020-10-15 14:29:23 +02:00
Raúl Kripalani
7e6ede7563 update schema; test-vectors submodule. 2020-10-15 12:49:23 +01:00
Hector Sanjuan
925606ff26 Chore: update drand to v1.2.0 2020-10-15 12:02:12 +02:00
hannahhoward
8df58064e3 feat(markets): update to 0.9.1 bugfix release 2020-10-14 13:20:18 -07:00
Raúl Kripalani
45cd510da1 conformance: support multiple protocol versions.
This PR introduces support for running multiple variants of a vector,
each of which targets a unique protocol version.

tvx tooling has been adapted to produce and parse the new version
of the schema.
2020-10-14 14:39:43 +01:00
hannahhoward
58662b79b3 fix(deps): use tagged go-fil-markets 0.9.0 2020-10-13 19:50:13 -07:00
hannahhoward
4edebcec2b feat(markets): update markets 0.9.0 and add data transfer restart command 2020-10-13 03:41:08 -07:00
Łukasz Magiera
65883cbb6b
Merge pull request #4290 from filecoin-project/feat/ledger-integration
adding in ledger support
2020-10-12 15:09:27 +02:00
Steven Allen
92177b5738 implement tape upgrade
Upgrade to specs-actors v2.1 and network version 5. This fixes the bug where
prove commits were not accepted.
2020-10-12 02:00:27 -04:00
Jakub Sztandera
fda8b932ba
Ask for confirmation when creating a key
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-12 01:27:15 +02:00
whyrusleeping
b35f9b56b4
WIP: adding in ledger support
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-12 00:07:40 +02:00
Steven Allen
10d464a1eb upgrade to specs-actors v2.0.3 2020-10-09 21:52:01 -07:00
Łukasz Magiera
597d065e05 Update go-jsonrpc with http(s) client support 2020-10-09 01:39:06 +02:00
hannahhoward
c60d13ee56 feat(markets): update markets v0.7.1 2020-10-08 13:52:39 -07:00
Raúl Kripalani
21de538d09 upgrade go-libp2p-noise to v0.1.2.
Improves throughput in large and/or fast transfers
and reduces syscalls when data is queued in receive
buffer, by using bufio.Reader.
2020-10-08 21:19:09 +01:00
vyzo
8a175a7465 update go-libp2p-pubsub and go-libp2p-quic-transport 2020-10-08 21:32:10 +03:00
Raúl Kripalani
8d2d74438b
Merge pull request #4221 from filecoin-project/conformance/randomness 2020-10-08 15:16:32 +01:00
Raúl Kripalani
1f9446f91f upgrade to test vectors schema v0.0.4. 2020-10-08 15:00:35 +01:00
Raúl Kripalani
5bd6a3cdad conformance: record randomness in tvx; replay in driver. 2020-10-07 19:57:42 +01:00
Aayush Rajasekaran
839d1121ce Update to actors v2.0.1 2020-10-06 20:37:54 -04:00
Steven Allen
00187d4aa8 update the AMT implementation
This change ensures the bitmap is reset on flush.
2020-10-06 17:43:45 -04:00
Steven Allen
b6500beaab Merge branch 'master' into asr/spec-v1 2020-10-05 10:29:09 -07:00
Jakub Sztandera
feb85a272c
Update go-bitfield
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-05 19:14:21 +02:00
Steven Allen
8292d60196 Merge branch 'master' into asr/spec-v1 2020-10-02 18:03:03 -07:00
Steven Allen
c5de617af6 decouple network version and upgrades
Not all upgrades require network version bumps.
2020-10-02 17:10:57 -07:00
Steven Allen
1cc0f74744 make the upgrade schedule fully configurable
This should help with testing.
2020-10-01 15:02:40 -07:00
Aayush Rajasekaran
3d91633699 Update to v2/actors master 2020-10-01 05:07:00 -04:00
Aayush Rajasekaran
7699f195f1
Merge pull request #4108 from filecoin-project/feat/nice-sectorslist
Improve miner sectors list UX
2020-09-30 19:07:23 -04:00
Steven Allen
941c1947be Merge branch 'master' into asr/spec-v1 2020-09-30 13:03:58 -07:00
Łukasz Magiera
feecee310d
Merge pull request #4089 from filecoin-project/feat/update-markets-0.7.0
Markets 0.7.0 with updated data stores
2020-09-30 21:49:14 +02:00
hannahhoward
be884e27be feat(markets): update markets 0.7.0 2020-09-30 10:26:50 -07:00
Steven Allen
724306c110 update specs-actors 2020-09-30 09:23:04 -07:00
Steven Allen
4989b1cc90 Merge branch 'master' into asr/spec-v1 2020-09-30 09:19:12 -07:00
Łukasz Magiera
5bffea6f54
Merge pull request #4064 from filecoin-project/tvx
tvx: a test vector extraction and execution tool
2020-09-30 17:22:42 +02:00
Łukasz Magiera
4d4bab12eb Improve miner sectors list UX 2020-09-30 13:34:05 +02:00
Raúl Kripalani
eb6191d0ff tvx: precursor selection modes; canonical message fetching; basefee. 2020-09-30 11:02:10 +01:00
Jakub Sztandera
247a5e2c49
Go mod tidy
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:50:08 +02:00
Jakub Sztandera
7e8c6e5070
Remove statediff, fix lint, go mod tidy
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
76db65b1af
Update pebble
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
0771c23fb0
Use pebble
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:46 +02:00
Jakub Sztandera
1c6214b76d
Usage go-bitfield with buffer pool
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:45 +02:00
Jakub Sztandera
f21c5cbbe2
Add start-at
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Steven Allen
c0e190344d check state invariants after upgrade 2020-09-28 17:42:29 -07:00
Raúl Kripalani
4b3b35c9de conformance: record and feed circulating supply. 2020-09-28 23:04:52 +01:00
Steven Allen
947d1e2902 Merge branch 'master' into asr/spec-v1 2020-09-28 12:53:40 -07:00
Steven Allen
5f3160cf5b continue expanding vm abstraction layer 2020-09-28 12:48:08 -07:00
Raúl Kripalani
e5c56da321 move conformance tvx tool to lotus. 2020-09-27 20:10:05 +01:00