Peter Rabbitson
c340750672
Nerpa reset backport/cherry-pick from 73eabc310f
2021-03-18 20:55:15 +01:00
Aayush Rajasekaran
707219b7a1
Disable the Calico migration on not-mainnet
2021-03-17 20:46:00 -04:00
Aayush Rajasekaran
fe473e111c
Fix creation of remainder account when it's not a multisig
2021-03-12 17:12:41 -05:00
zl
6f64d5db6f
bugfix: StateManager.Replay
2021-03-13 00:12:37 +08:00
whyrusleeping
e0b650d4ec
make rpcstatemanager its own package, for easy reuse
2021-03-11 18:21:18 -08:00
Łukasz Magiera
58d7627168
Merge pull request #5730 from filecoin-project/asr/genesis-rootkey
...
Customize verifreg root key and remainder account when making genesis
2021-03-08 22:42:09 +01:00
Aayush Rajasekaran
fc03a0773b
gen/genesis: Allow remainder to be either account or msig
2021-03-06 01:43:48 -05:00
Aayush Rajasekaran
279f9e6fec
gen/genesis: Allow verifreg rootkey to be either account or msig
2021-03-06 01:43:48 -05:00
Raúl Kripalani
b1b452bc0f
remove dependency from blockstore/splitstore => chain/store.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1a804fbdec
move splitstore into blockstore package.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1b51c10d78
split off lmdb support to a different branch.
2021-03-05 14:46:18 +02:00
vyzo
0fc2f3a26f
fix post-rebase compilation errors
2021-03-05 14:46:18 +02:00
vyzo
3282f856ec
fix tests
2021-03-05 14:46:18 +02:00
vyzo
99c6e4f48f
adjust min bloom filter size
2021-03-05 14:46:18 +02:00
vyzo
cae5ddce88
dynamically size bloom filters
2021-03-05 14:46:18 +02:00
vyzo
5639261e44
make compaction parameters variable
2021-03-05 14:46:18 +02:00
vyzo
7587ab6234
quiet the stupid linter
2021-03-05 14:46:18 +02:00
vyzo
05fee27840
remove stale references to lmdb from splitstore implementation
2021-03-05 14:46:18 +02:00
vyzo
f62999d2b8
use named constants for bloom filter parameters
2021-03-05 14:46:18 +02:00
vyzo
44aadb931a
rehash salted keys in bloom filter
2021-03-05 14:46:17 +02:00
vyzo
88849201ff
fix tests
2021-03-05 14:46:17 +02:00
vyzo
f5ce7957f3
size bloom filter for 50M objects
2021-03-05 14:46:17 +02:00
vyzo
f4c6bc6a86
comment nomenclature
2021-03-05 14:46:17 +02:00
vyzo
4cc672d0c5
batch move objects from coldstore to hotstore
2021-03-05 14:46:17 +02:00
vyzo
97abbe1eca
add (salted) bloom filter liveset
2021-03-05 14:46:17 +02:00
vyzo
aba6530411
batch deletion for purging the tracking store
2021-03-05 14:46:17 +02:00
vyzo
09cd1175a1
structured log for beginning of compaction
2021-03-05 14:46:17 +02:00
vyzo
e52c709d8a
more accurate setting of skip params
2021-03-05 14:46:17 +02:00
vyzo
2426ffb277
better logging plus moving some code around
2021-03-05 14:46:17 +02:00
vyzo
2f26026991
compactSimple should walk the cold epoch at depth 1
...
So that it finds reachable objects that should stay in the hotstore
2021-03-05 14:46:17 +02:00
vyzo
783dcda19c
add Sync to the tracking store
2021-03-05 14:46:17 +02:00
vyzo
364076c1ea
set NoSync option for bolt livesets
2021-03-05 14:46:17 +02:00
vyzo
73259aa350
add configuration for splitstore and default to a simple compaction algorithm
2021-03-05 14:46:17 +02:00
vyzo
2e4d45ef07
test for bolt backed tracking store
2021-03-05 14:46:17 +02:00
vyzo
f1c61c4753
implement bolt backed tracking store
2021-03-05 14:46:17 +02:00
vyzo
2c1a9781cf
add test for bolt liveset
2021-03-05 14:46:17 +02:00
vyzo
27a9b974db
implement bolt-backed liveset
2021-03-05 14:46:17 +02:00
vyzo
68b6f913c7
propagate useLMDB option to splitstore through DI
2021-03-05 14:46:17 +02:00
vyzo
923a3db4b0
abstract tracking store and live set construction
2021-03-05 14:46:17 +02:00
vyzo
8f0ddac41a
add comment
2021-03-05 14:46:17 +02:00
vyzo
e79445123f
handle MDB_KEY_EXIST in tracking store Puts
2021-03-05 14:46:17 +02:00
vyzo
9977f5c3ec
rewrite sweep logic to avoid doing writes/deletes nested in a read txn
2021-03-05 14:46:17 +02:00
vyzo
ee751f88cd
refactor lmdb specific snoop/liveset code into their own files
...
paves the way for different back ends
2021-03-05 14:46:17 +02:00
vyzo
8e12377e69
handle consistency edge case
2021-03-05 14:46:17 +02:00
vyzo
31268ba685
walk snapshot the same way snapshot exporting does; skip old msgs and receipts by default.
...
so that we don't panic with missing blocks in non-archival nodes
2021-03-05 14:46:17 +02:00
vyzo
5068d51ac3
use CompactionCold epochs for delinating the cold epoch cliff
...
this allows us to change the thresholds for testing.
2021-03-05 14:46:17 +02:00
vyzo
d44719dbd3
amend confusing comment
2021-03-05 14:46:17 +02:00
vyzo
842ec43c2f
get rid of goroutine iteration in tracking store; long live ForEach
2021-03-05 14:46:17 +02:00
vyzo
a586d42c3b
make hot store DI injectable in the split store, default to badger.
2021-03-05 14:46:17 +02:00
vyzo
7044e623f9
flag to enable GC during compaction, disabled for now
2021-03-05 14:46:17 +02:00
vyzo
f6c930d0aa
crank up blockstore max readers to 16K, reduce retry delays to 10us
2021-03-05 14:46:17 +02:00
vyzo
95befa1e41
set lmdb max readers retry delay to 1ms
2021-03-05 14:46:17 +02:00
vyzo
874ecd3573
adjust hot store options, redux.
2021-03-05 14:46:17 +02:00
vyzo
ca8a673b5f
adjust hot store options
2021-03-05 14:46:17 +02:00
vyzo
69a88d41b6
fix snoop test
2021-03-05 14:46:17 +02:00
vyzo
cdf5bd0500
return annotated xerrors where appropriate
2021-03-05 14:46:17 +02:00
vyzo
ea05fd9d86
use xerrors instead of fmt.Errorf
2021-03-05 14:46:17 +02:00
vyzo
d91b60df91
fix potential panic with max readers retry and cursor channel
2021-03-05 14:46:17 +02:00
vyzo
b9f8a3d587
log MDB_READERS_FULL retries
2021-03-05 14:46:17 +02:00
vyzo
c89ab1a990
retry on MDB_READERS_FULL errors
2021-03-05 14:46:17 +02:00
vyzo
2080e467ba
don't set MaxReaders for tracking store
2021-03-05 14:46:17 +02:00
Raúl Kripalani
877ecab960
update go-bs-lmdb and migrate to ledgerwatch/lmdb-go.
2021-03-05 14:46:17 +02:00
vyzo
5b4e6b7b26
don't set max readers for livesets
2021-03-05 14:46:17 +02:00
vyzo
58a8434825
temporary log level for splitstore to DEBUG
2021-03-05 14:46:17 +02:00
vyzo
8b0087524f
adjust walk boundaries for marking
2021-03-05 14:46:17 +02:00
vyzo
76d6edbb52
fix max readers for tracking store
2021-03-05 14:46:17 +02:00
vyzo
1a23b1f6af
make CompactionThreshold a var to fix lotus-soup build
...
finality is not a constant there!
2021-03-05 14:46:17 +02:00
vyzo
6e51e6db9a
better handling of MDB_KEYEXIST in Put
2021-03-05 14:46:17 +02:00
vyzo
ce41e394dc
handle MDB_KEYEXIST in liveset marking
2021-03-05 14:46:17 +02:00
vyzo
843fd09a62
deal with MDB_KEY_EXIST errors
2021-03-05 14:46:17 +02:00
vyzo
f44cf0f2c4
appease linter
2021-03-05 14:46:17 +02:00
vyzo
facdc555b1
add nil check for curTs -- some tests don't have chain state
2021-03-05 14:46:17 +02:00
vyzo
e07c6c71c0
splitstore constructor
2021-03-05 14:46:17 +02:00
vyzo
b0f48b500f
use CAS for compacting state
2021-03-05 14:46:17 +02:00
vyzo
0af7b16ad5
simplify Has
2021-03-05 14:46:17 +02:00
vyzo
37e391f133
add TODO note about map size
2021-03-05 14:46:17 +02:00
vyzo
5db314f422
fallback to coldstore if snooping fails.
2021-03-05 14:46:17 +02:00
vyzo
d20cbc0c28
protect against potential data races
...
overkill, but let's not have race detectors scream at us.
2021-03-05 14:46:17 +02:00
vyzo
da478832cb
quiet linter
2021-03-05 14:46:17 +02:00
vyzo
4763397281
add tracking store test
2021-03-05 14:46:17 +02:00
vyzo
0d7476c5b2
implement LMDB-backed tracking store
2021-03-05 14:46:17 +02:00
vyzo
83f8a0ab12
quiet linter
2021-03-05 14:46:17 +02:00
vyzo
5043f31adf
liveset unit test
2021-03-05 14:46:17 +02:00
vyzo
3f92a000c7
implement lmdb-backed LiveSet
2021-03-05 14:46:17 +02:00
vyzo
0bf1a78b39
stubs for tracking store and live set
2021-03-05 14:46:17 +02:00
vyzo
17bc5fcd85
move splitstore implementation to its own directory
2021-03-05 14:46:17 +02:00
vyzo
2c9b58aaec
add some logging
2021-03-05 14:46:17 +02:00
vyzo
c1b1a9ce2a
avoid race with compacting state variable
2021-03-05 14:46:17 +02:00
vyzo
3083d80f5e
no need to import go-ipfs-blockstore, lib/blockstore will do
2021-03-05 14:46:17 +02:00
vyzo
101e5c6540
close keys channel when dome emitting keys
2021-03-05 14:46:17 +02:00
vyzo
b945747eb2
satisfy linter
2021-03-05 14:46:17 +02:00
vyzo
2bed6c94cd
use dual live set marking algorithm to keep all hotly reachable objects in the hotstore
2021-03-05 14:46:17 +02:00
vyzo
c2cc198316
fix off by 1 in marking
2021-03-05 14:46:17 +02:00
vyzo
fd08786048
track base epoch in metadata ds
2021-03-05 14:46:17 +02:00
vyzo
b192adfd2e
trigger compaction from head changes
2021-03-05 14:46:17 +02:00
vyzo
c8f1139e0d
compaction algorithm
2021-03-05 14:46:17 +02:00
vyzo
6577cc8ea6
splitstore struct and Blockstore interface implementation
2021-03-05 14:46:17 +02:00
Łukasz Magiera
d53c700d18
Merge pull request #5704 from filecoin-project/asr/log-large-delay
...
Log block CID in the large delay warning
2021-03-05 13:19:03 +01:00
Aayush Rajasekaran
374bd9b578
Update chain/sub/incoming.go
...
Co-authored-by: raulk <raul@protocol.ai>
2021-03-05 01:09:07 -05:00
Aayush Rajasekaran
22e465ba9c
log block cid in the large delay warning
2021-03-02 16:46:10 -05:00
Raúl Kripalani
1ac0c9a926
address review comments.
2021-03-02 21:29:24 +00:00
Raúl Kripalani
2047a74958
implement blockstore.Union, a union blockstore.
...
The union blockstore takes a list of blockstores. It returns the first
satisfying read, and broadcasts writes to all stores.
It can be used for operations that require reading from any two blockstores,
for example WalkSnapshot.
2021-03-02 17:03:11 +00:00
Raúl Kripalani
b1c348b4a7
address review comments.
2021-03-02 16:31:01 +00:00
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
Raúl Kripalani
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00: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
Aayush Rajasekaran
60b7f56297
Code review
2021-02-19 15:10:56 -05:00
Łukasz Magiera
26399dba70
Update markets, cbor-gen with soft map decoding
2021-02-19 20:11:43 +01:00
Aayush Rajasekaran
96b4b828f7
Remove the null bls actor from the init actor state
2021-02-18 19:01:28 -05:00
Aayush Rajasekaran
a0fedf8bdb
Only delete the zero BLS actor on mainnet
2021-02-18 19:01:21 -05:00
Aayush Rajasekaran
2ca70e600d
Move the zero bls actor creation check into the VM
2021-02-18 19:01:11 -05:00
Aayush Rajasekaran
5aff54161a
Delete the null-bls actor
2021-02-18 19:01:03 -05:00
Łukasz Magiera
0c6aef221d
Fix error logging format strings
2021-02-11 12:00:26 +01:00
Łukasz Magiera
fcbd9950ca
Merge pull request #5507 from filecoin-project/fix/coalescer
...
refactor coalescing logic into its own function, take both cancellation sets into account
2021-02-10 17:40:47 +01:00
Łukasz Magiera
9f546c2d1c
Merge pull request #5540 from austinabell/austin/beyondmaxio
...
Remove unnecessary database reads in validation check
2021-02-05 22:40:32 +01:00
austinabell
3228ae5672
Remove unnecessary database reads in validation check
2021-02-05 15:46:46 -05:00
Łukasz Magiera
8f603717a6
Merge remote-tracking branch 'origin/master' into steb/refactor-consistent-tipset-methods
2021-02-05 13:08:49 +01:00
Łukasz Magiera
06d3892e38
lotus-wallet: Add interactive mode
2021-02-05 12:44:01 +01:00
He Weidong
0e2e1125d3
fix precommit ticket expiration handling
2021-02-05 10:45:15 +08:00
vyzo
5c6988a7c1
refactor coalescing logic into its own function, take both cancellation sets into account
2021-02-02 21:26:50 +02:00
Łukasz Magiera
c59e2fea5b
Use correct contexts in storageadapter
2021-02-02 18:43:49 +01:00
Łukasz Magiera
56a9d05491
Merge remote-tracking branch 'origin/master' into steb/refactor-consistent-tipset-methods
2021-01-30 12:05:21 +01:00
Łukasz Magiera
a541a2500a
Merge pull request #5282 from filecoin-project/chore/snake_context_through_blockstore_init
...
Snake a context through the Chain-blockstore creation
2021-01-30 11:55:17 +01:00
Łukasz Magiera
7c7301f701
Merge pull request #5350 from GFZRZK/GFZRZK/optmize/avoid_race_in_mpool_cfg
...
avoid use mp.cfg directly to avoid race
2021-01-30 11:31:56 +01:00
Łukasz Magiera
5cfae0f1e8
Merge pull request #5449 from filecoin-project/chore/document_blockheader_fields
...
Better document the block-header fields
2021-01-30 11:26:56 +01:00
Raúl Kripalani
d1104fec4c
rename blockstores for consistency.
2021-01-29 23:17:25 +00:00
Raúl Kripalani
af429dba0f
Merge branch 'master' into chore/snake_context_through_blockstore_init
2021-01-29 21:21:46 +00:00
Raúl Kripalani
e02fdf5064
Merge branch 'master' into refactor/lib/blockstore
2021-01-29 21:21:31 +00:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
Steven Allen
53271729b6
tweak migration perf
2021-01-28 16:15:23 -08:00
Steven Allen
2f3c912ad9
improve upgrade logging
2021-01-28 16:15:23 -08:00
Steven Allen
a9a65e05d8
feat: avoid computing the tip-set state when looking up addresses
2021-01-27 17:54:42 -08:00
Steven Allen
4890d83acb
test: assert that pre-migrations are actually run
2021-01-27 16:12:08 -08:00
Steven Allen
39d4f6780d
pre-migration: refactor timing specification
...
There are now three times:
1. StartWithin: start within X epochs of the upgrade.
2. DontStartWithin: don't start within X epochs of the upgrade.
3. StopWithin: stop within X epochs of the upgrade.
2021-01-27 16:09:07 -08:00
Steven Allen
bceb246080
set worker counts for pre-migrations
2021-01-27 15:47:51 -08:00
Steven Allen
cffeb1a590
fix doc comments
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2021-01-27 15:41:26 -08:00
Steven Allen
9574db6d0a
log in migration
2021-01-27 15:05:00 -08:00
Steven Allen
9a03c003fe
fix sorted test
2021-01-27 13:05:14 -08:00
Steven Allen
56054b0ad3
sort pre-migrations
2021-01-27 12:57:47 -08:00
Steven Allen
854385168d
add additional pre-migration validations
2021-01-27 12:57:47 -08:00
Steven Allen
716f10e570
remove unnecessary wrapper store in tests
...
This was causing a lot of warnings about not implementing View.
2021-01-27 12:57:47 -08:00
Steven Allen
35d6a40071
cleanup pre-migration code a bit
2021-01-27 12:57:17 -08:00
Steven Allen
4072f24bf2
test pre-migrations
2021-01-27 12:57:17 -08:00
Steven Allen
ed3e0869c3
register tipsets with the chainstore when testing
2021-01-27 12:57:17 -08:00
Steven Allen
05026a23b9
actually use the temp cache for pre-migrations
2021-01-27 12:57:17 -08:00
Steven Allen
32059d0cbf
stmgr: only persist the migration cache on success
...
Otherwise, we may end up referencing blocks we never wrote to disk.
2021-01-27 12:56:47 -08:00
Steven Allen
b08abc12ba
fix error message
2021-01-27 12:55:56 -08:00
Steven Allen
6362887ce3
rename Upgrade to Migration where applicable
...
This was really confusing.
2021-01-27 12:55:56 -08:00
Steven Allen
77117a0be5
wait for pre-upgrades to exit on stop
2021-01-27 12:55:56 -08:00
Steven Allen
f65d179f2c
make pre-migrations async
2021-01-27 12:55:56 -08:00
Steven Allen
8d05c5d62c
validate pre-migrations
2021-01-27 12:55:56 -08:00
Steven Allen
8986a2002d
wire up re-migration logic for nv10
2021-01-27 12:55:56 -08:00
Steven Allen
8d3cc632ac
add support for running pre-migrations and caching their results
...
This can significantly speedup state migrations.
2021-01-27 12:55:53 -08:00
Peter Rabbitson
ac616eb340
Better document the block-header fields
2021-01-27 20:52:18 +01:00
Raúl Kripalani
a1da1dab85
add context to LockedRepo#Datastore().
2021-01-26 11:01:43 +00:00
Łukasz Magiera
fabcbb621d
Merge remote-tracking branch 'origin/master' into next
2021-01-26 00:47:22 +01:00
Aayush Rajasekaran
29d3d746a3
Build a WindowPoSt disputer
2021-01-25 17:26:09 -05:00
Łukasz Magiera
260908015f
Merge pull request #5393 from filecoin-project/feat-refactor-bls
...
refactor: switch to filecoin-ffi bls api for bls signatures
2021-01-25 20:56:18 +01:00
Raúl Kripalani
ce3af308ed
Merge branch 'master' into chore/snake_context_through_blockstore_init
2021-01-25 19:31:41 +00:00
Łukasz Magiera
e4f4fa2c7d
Update FFI more, fix zero aggregate sigs
2021-01-25 20:05:03 +01:00
Łukasz Magiera
bd6321d2c0
Fix lint
2021-01-25 15:35:00 +01:00
wangchao
ff62b64b4d
avoid use mp.cfg directly to avoid race
2021-01-25 10:13:31 +08:00
Steven Allen
7c9b9e3657
explicitly check miner address protocol
...
This is implicitly checked when verifying the miner signature, but
explicitly checking it here makes it clear that this is a protocol
requirement, and reduces the chances that it will be accidentally
"refactored out".
2021-01-22 18:04:07 -08:00
Steven Allen
94089a6a15
remove todos
2021-01-22 11:15:43 -08:00
Steven Allen
cc423ee4d2
fix seal types length
2021-01-22 08:30:58 -08:00
Steven Allen
0ba1306969
test prove then dispute
2021-01-21 19:48:34 -08:00
Steven Allen
f10b13ff32
register v3 methods
2021-01-21 15:21:20 -08:00
Steven Allen
5a5e49dcd7
support paych v3 messages
2021-01-21 15:21:20 -08:00
Steven Allen
c5d3b979cb
fix constructing new actors
2021-01-21 15:21:20 -08:00
Steven Allen
6ce5f2736e
update policy for v3
2021-01-21 15:21:20 -08:00
Steven Allen
fe5b5702f9
fix data race in test
2021-01-21 15:21:20 -08:00
Steven Allen
f1719d1e23
mark v3 as expensive
2021-01-21 15:21:20 -08:00
Steven Allen
bf48728875
move winning post proof type logic into a helper
2021-01-21 15:21:20 -08:00
Steven Allen
03cd3760bb
correctly pick the seal type based on the network version
...
Of course, we should really just run all of our tests post actors v2.
2021-01-21 15:21:20 -08:00
Steven Allen
82eee15955
fix state tree version comment
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
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
95f68d0161
Register the v3 actor CIDs in the actor registry
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
f6a0da3751
Add the migrationLogger struct
2021-01-21 15:21:19 -08:00
Steven Allen
99ea5b62ea
wire up v3 migration
2021-01-21 15:21:19 -08:00
Steven Allen
1f62c07789
add back logging
2021-01-21 15:21:19 -08:00
Steven Allen
1a790f5ee3
use actors state-tree abstraction
...
Well, not fully, but this is enough to ensure we use the correct bitwidth and such.
2021-01-21 15:21:19 -08:00
Steven Allen
9d2c430138
remove abstract map constructor/loader
...
Different maps have different parameters now so we just construct/load them manually where needed.
2021-01-21 15:21:19 -08:00
Steven Allen
8dc49db30d
window <-> winning
2021-01-21 15:21:19 -08:00
Steven Allen
c05df6dc1d
fix: use the correct proof type in winning proofs
2021-01-21 15:21:19 -08:00
Steven Allen
7882b0163b
update actor "is" functions for v3
2021-01-21 15:21:19 -08:00
Steven Allen
c31f5130e3
update imports to v3
2021-01-21 15:21:19 -08:00
Steven Allen
95c57d0ce3
and actually hook up loading logic
2021-01-21 15:21:19 -08:00
Steven Allen
be1f15052c
register remaining state decoders
2021-01-21 15:21:19 -08:00
Steven Allen
9ce63c1211
simplify v3 claims map access
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
06f13f8e00
Add v3 actors support for verifreg
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
76abbb8938
Add v3 actors support for reward
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ee99e68614
Add v3 actors support for power
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
abb388512e
Add v3 actors support for paych
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
9d06a8b116
Add v3 actors support for multisig
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
0bb3aed53c
Add v3 actors support for miner
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ab90a3b2bc
Actors update: MinerInfo.SealProofType has been removed
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
82635f2515
Rename Deadline.PoStSubmissions to PartitionsPoSted
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
b4f479affd
Add v3 actors support for market
2021-01-21 15:21:18 -08:00
Aayush Rajasekaran
378f169f14
Add v3 actors support for init
2021-01-21 15:21:18 -08:00
Aayush Rajasekaran
3961e3daf8
Add v3 actors support for account
2021-01-21 15:21:18 -08:00
Aayush Rajasekaran
ba3b32cfe7
Pull in actors v3
2021-01-21 15:21:18 -08:00
Steven Allen
4cdb7ba1d3
fix a flake in the sync manager edge case test
...
Depending on scheduling, we may see c2 before we see c1.
2021-01-20 16:08:29 -08:00
dignifiedquire
3d9eb226fa
refactor: switch to filecoin-ffi bls api for bls signatures
2021-01-20 16:19:07 +01:00
Dirk McCormick
827a473391
feat: expose StateSearchMessage on gateway
2021-01-19 11:27:43 +01:00
Łukasz Magiera
2b3d66da3b
Merge pull request #5362 from filecoin-project/feat/fullnode-restore
...
Implement full-node restore option
2021-01-18 23:42:20 +01:00
Lucas Molas
69eb2163d2
fix(sync): enforce fork len when changing head ( #5244 )
2021-01-18 12:34:25 -03:00
Łukasz Magiera
38f9559080
Implement full-node restore option
2021-01-15 20:57:32 +01:00
Łukasz Magiera
476df99179
Merge pull request #5341 from filecoin-project/feat/sectors-terminate
...
Sector termination support
2021-01-14 22:00:18 +01:00
Łukasz Magiera
80b8d4b9d7
Address review
2021-01-14 20:27:15 +01:00
Łukasz Magiera
49abdd7d7d
Sector termination support - address review
2021-01-14 15:46:57 +01:00
Ian Davis
7d2adc383f
chore: export vm.ShouldBurn
2021-01-14 11:29:57 +00:00
Łukasz Magiera
b0bb36909b
Merge pull request #4192 from filecoin-project/schomatis/sync/remove-self-bypass
...
fix(sync): remove checks bypass when we submit the block
2021-01-12 14:52:50 +01:00
He Weidong
ab9b3b6851
enable parse and shorten negative FIL values
2021-01-09 17:48:36 +08:00
Łukasz Magiera
32dcfb4842
Merge pull request #5303 from filecoin-project/feat/wallet-market-info
...
Better CLI for wallet market withdraw and client info
2021-01-08 22:54:12 +01:00
Dirk McCormick
c58086ee27
feat: better CLI for wallet market withdraw and client info
2021-01-07 10:18:29 +01:00
Łukasz Magiera
72871597cd
Merge pull request #5293 from filecoin-project/fix/fund-mgr-nice-err
...
Better error message when withdrawing funds
2021-01-06 20:23:50 +01:00
Dirk McCormick
e8e4b559e9
fix: format fund manager message fil amounts
2021-01-06 09:23:54 +01:00
Dirk McCormick
3287c621ad
fix: better withdrawal error message
2021-01-05 16:58:12 +01:00
Peter Rabbitson
446a24ef3f
Fix forgotten test-call
2021-01-04 15:46:09 +01:00
Peter Rabbitson
9334e73396
Snake a context through the Chain-blockstore creation
2021-01-04 15:27:52 +01:00
Frank
7e0a2ca46e
use deal duration from actor
2020-12-30 16:02:53 +08:00
Ruslan Tushov
f9aca39caf
Buffered stream for chainxchg response
2020-12-25 16:03:46 +03:00
Lucas Molas
461a3cdebc
fix(sync): enforce ForkLengthThreshold for synced chain ( #5182 )
2020-12-22 12:29:36 -03:00
Jakub Sztandera
c7e3e9fa7f
Add IsNearUpgrade
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-19 21:51:07 +01:00
Łukasz Magiera
c1aafb7b71
Add missing v9 to chain/actors/version
2020-12-19 21:29:12 +01:00
Jakub Sztandera
a3b325db5d
Disable consensus faults during upgrade orange
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-19 21:00:12 +01:00
Łukasz Magiera
24dd6e01d7
disable SF for finality epochs
2020-12-19 20:53:08 +01:00
Łukasz Magiera
22884f18f1
define v9 upgrade
2020-12-19 20:44:21 +01:00
Steven Allen
1f754bdb78
disable gas burning for window post messages
...
While over-estimation fees and miner tips are still paid, gas is no longer burnt
for direct, successful window PoSt messages.
Usually, gas is burnt to prevent an attacker from spamming the network and to
allow clients to "price" messages (using the base fee cap) based on how urgently
they need them to be processed. However:
1. Window PoSt is already a "proof of work".
2. Miners need to submit WindowedPoSts on-time so all window post messages are urgent.
3. Work is already under way to move window post verification off-chain (making
it effectively free). This change simply introduces the "free" part a bit earlier.
2020-12-16 00:10:25 -05:00
Łukasz Magiera
4767773d1b
Merge pull request #5171 from filecoin-project/raulk/block-delay-metric
...
add metrics for delayed blocks.
2020-12-10 17:12:12 +01:00
vyzo
e07059e73d
fix PushUntrusted publishing -- the message is local
2020-12-10 17:26:41 +02:00
Raúl Kripalani
0570306bb6
add metrics for delayed blocks.
2020-12-10 14:52:05 +00:00
Steven Allen
a47b063a24
Fix duplicate nonce test
...
StateGetActor now gets the actor at the tipset parent state.
2020-12-09 11:29:41 -08:00
Steven Allen
b8e3808c4f
Make state tipset usage consistent in the API
...
_Always_ (almost) use the tipset's parent state, instead of computing.
Exceptions:
* MinerGetBaseInfo. Fixing this would break things so we need to be
careful (although we could bump the API version, fix it, then fix the call
sites).
* StateReplay. This is replaying a message on top of the given tipset.
* GasEstimateGasLimit. This executes the message on-top-of the tipset's
computed state (unlike call which executes it on the tipset's parent state).
* Having this method and Call apply the message at different heights is really
weird.
2020-12-09 11:29:40 -08:00
Łukasz Magiera
e1be89b442
Merge pull request #5159 from iand/fix/event-hang
...
fix(events): avoid potential hang when starting event listener
2020-12-09 19:40:02 +01:00
Łukasz Magiera
bc9b5cb5fc
Merge pull request #5160 from iand/fix/unlock-event-mutex
...
fix(events): unlock mutex before error returns
2020-12-09 19:25:07 +01:00
Ian Davis
c6f5214657
fix(events): unlock mutex before error returns
2020-12-09 13:37:56 +00:00
Ian Davis
696469aae7
fix: avoid potential hang when starting event listener
...
It was possible for NewEvents to never return, blocked on waiting for a WaitGroup to be done.
The call to Done was in a goroutine that could exit before reaching the Done call.
Replace the WaitGroup with a channel that is closed to signal that initialisation is complete.
Also, while we are waiting on the channel, wait on the context so we can exit clealy if the
context is canceled.
2020-12-09 11:29:48 +00:00
Jakub Sztandera
6ca5caef31
Refactor DefaultMessageSendSpec
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-08 20:51:27 +01:00
Jakub Sztandera
689b93dc0e
messagepool: small refactor
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-08 20:07:13 +01:00
Łukasz Magiera
b190c3492a
Merge pull request #5099 from zgfzgf/feat-chain-gen
...
delete repeat call func
2020-12-03 13:23:39 +01:00
Travis Person
a584fcb935
sync: log a message when there aren't enough peers
2020-12-03 01:27:07 +00:00
zgfzgf
a415e49fdb
delete repeat call func
2020-12-02 20:05:01 +08:00
Łukasz Magiera
bc14d0820f
fix lint
2020-12-01 20:00:55 +01:00
Łukasz Magiera
b28ed5887c
gofmt
2020-12-01 19:23:43 +01:00
Łukasz Magiera
be9f7b88b2
uint64 is too small
2020-12-01 19:15:39 +01:00
Łukasz Magiera
00e5ace818
Print basefee in miner info
2020-12-01 18:56:43 +01:00
Łukasz Magiera
82b5cb89cd
Merge pull request #5061 from filecoin-project/fix/err-late-deals
...
Error out deals that are not activated by proposed deal start epoch
2020-12-01 17:02:06 +01:00
Jakub Sztandera
f1291f137c
Enable Callers tracing when GasTracing is enabled
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-01 13:53:30 +01:00
Dirk McCormick
e02a366419
feat: error out deals that are not activated by proposed deal start epoch
2020-11-30 15:27:40 +01:00
Jakub Sztandera
13ff98416f
Fix cs.tipsets being unbounded
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-26 23:37:59 +01:00
zgfzgf
32c159fa3a
fix lint check
2020-11-26 21:36:40 +08:00
zgfzgf
fad250058d
fix wallet delete address where address is default
2020-11-26 20:55:29 +08:00
zgfzgf
15aa8e5253
fix wallet dead lock
2020-11-25 12:58:17 +08:00
Łukasz Magiera
a63ef1dcd5
Merge pull request #4984 from yaohcn/fix-log-warn
...
fix log format
2020-11-24 18:01:56 +01:00
Łukasz Magiera
5ed79fa73e
Merge pull request #4987 from zgfzgf/feat-batch-verify-seal-print
...
update index to sectorNumber
2020-11-24 17:55:34 +01:00
Łukasz Magiera
eb2be69ace
events: use %v to log errors
2020-11-24 17:51:19 +01:00
Łukasz Magiera
f850d77f1e
Merge pull request #4904 from filecoin-project/asr/genesis-remainder
...
Setup remainder msig signers when parsing genesis template
2020-11-24 17:06:17 +01:00
zgfzgf
1f9c0f8040
update index to sectorNumber
2020-11-24 20:27:35 +08:00
yaohcn
7c0b6f41d8
fix log format
2020-11-24 19:09:48 +08:00
zgfzgf
c13ade3fbf
Downgrade duplicate nonce logs to debug ( #4933 )
...
* add messagepool duplicate nonce print info
* update log.Info to log.debug and go fmt
* recover the grouping of imports
* update print from info to debug
* print format %w to %s
2020-11-23 13:03:41 +01:00
Łukasz Magiera
3113b15217
Merge pull request #4754 from filecoin-project/fix/issue-92
...
emit events for peer disconnections and act upon them in the blocksync tracker
2020-11-20 18:45:35 +01:00
Łukasz Magiera
34bca28416
Merge pull request #4943 from zgfzgf/fix-policy-v7-len
...
change typeV7 make len
2020-11-20 18:11:19 +01:00
Łukasz Magiera
91a3d1d34a
Merge pull request #4919 from zgfzgf/fix-incoming-validateblock-record
...
bug:replace with func recordFailure
2020-11-20 16:57:07 +01:00
Łukasz Magiera
e9fae0425f
Merge pull request #4915 from filecoin-project/asr/predicate-message
...
Improve error for ActorsVersionPredicate
2020-11-20 16:49:51 +01:00
Łukasz Magiera
9613acd46b
Merge pull request #4913 from zgfzgf/feat-forks-schedule
...
optimize code UpgradeTapeHeight and go fmt
2020-11-20 16:45:09 +01:00
Łukasz Magiera
54637d5093
Merge pull request #4767 from zgfzgf/feat-print-multiple-blocks
...
print multiple blocks from miner cid
2020-11-20 16:14:37 +01:00
vyzo
ef444676c2
combine add and remove evts and use a single emitter
...
to reduce likelihood of races
2020-11-20 16:15:44 +02:00
vyzo
7aec500384
emit event for peer disconnectionsa and act upon them in the blocksync peer tracker
2020-11-20 15:58:27 +02:00
zgfzgf
463a647118
change typeV7 make len
2020-11-20 17:24:52 +08:00
Aayush Rajasekaran
526cd739f6
Return total power when GetPowerRaw doesn't find miner claim
2020-11-20 00:31:04 -05:00
zgfzgf
de9cef62f7
replace code with func
2020-11-19 20:46:40 +08:00
Aayush Rajasekaran
b1afa2022b
Improve error for ActorsVersionPredicate
2020-11-19 02:27:35 -05:00
zgfzgf
7b39c3a907
optimize code UpgradeTapeHeight and go fmt
2020-11-19 14:47:13 +08:00
vyzo
452c85de98
cap maximum number of messages per block in selection
2020-11-18 12:25:26 +02:00
Aayush Rajasekaran
adee4b2a5e
Setup remainder msig signers when parsing genesis template
2020-11-18 02:56:30 -05:00
Aayush Rajasekaran
322f34c6c6
Tweak handling of bad beneficaries in DeleteActor
2020-11-18 01:52:46 -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
Łukasz Magiera
c5470ee17e
Merge pull request #4830 from filecoin-project/time/vm-flush
...
Gas Balancing
2020-11-18 01:34:08 +01:00
vyzo
8191654089
track oversize block errors in metrics
2020-11-17 17:18:49 -05:00
vyzo
e23170d194
add sanitcy check for maximum block size
2020-11-17 17:18:49 -05:00
Łukasz Magiera
c8d985b5c7
Merge pull request #4885 from filecoin-project/asr/worker-key
...
Speed up worker key retrieval
2020-11-17 20:57:35 +01:00
Jakub Sztandera
f580892e9e
Disable gas tracing
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:34 +01:00
Aayush Rajasekaran
080a1165ee
create vm-flush key
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:34 +01:00
Jakub Sztandera
1413d6d4b7
Adjust gas values
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:34 +01:00
Jakub Sztandera
9b64dba4a1
Add background flushing
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:34 +01:00
Jakub Sztandera
f9771c67fb
Fix gas multi error in virtual gas
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:34 +01:00
Jakub Sztandera
238174cfca
Adapt virtual gas
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:33 +01:00
Jakub Sztandera
f130cd6fca
Adjust virtual gas
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:33 +01:00
Jakub Sztandera
336aa95ab5
Add metrics for VM flush duration and obj count
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-17 20:41:33 +01:00
Aayush Rajasekaran
c40c513508
Merge pull request #4862 from filecoin-project/asr/circ-supply
...
Modify vesting schedule post-calico
2020-11-17 13:32:55 -05:00
Łukasz Magiera
425ad9c5fa
Merge pull request #4888 from filecoin-project/asr/zero-address
...
Avoid sending messages to the zero BLS address
2020-11-17 11:57:47 +01:00
Łukasz Magiera
693bbee953
Merge pull request #4873 from filecoin-project/feat/sdr-upgrade
...
Support seal proof type switching
2020-11-17 10:57:28 +01:00
Aayush Rajasekaran
7838752352
Avoid sending messages to the zero BLS address
2020-11-17 01:42:11 -05:00
Aayush Rajasekaran
596b31fb9e
Speed up worker key retrieval
2020-11-17 00:53:26 -05:00
Aayush Rajasekaran
2219bff1c9
SerializeParams should return ErrSerialization
2020-11-17 00:28:27 -05:00
Aayush Rajasekaran
5c791cd93b
Check parent runtime allowInternal when making a new Runtime
2020-11-17 00:22:50 -05:00
Aayush Rajasekaran
ce9146916a
fix: actor method params deserialization error exit code
2020-11-17 00:22:50 -05:00
Aayush Rajasekaran
dff88b63b2
fix: guard against self beneficiary when deleting actor
2020-11-17 00:22:50 -05:00
Raúl Kripalani
0c6072a1a0
chainstore lifecycle: close via Close() instead of context.
2020-11-16 22:28:59 +00:00
frrist
d25e5d1c08
polish: add DeffAddressMap method to init wrapper
...
- replace logic in predicates
2020-11-16 11:45:25 -08:00
Steven Allen
1f91e7267d
correctly set seal proof types from tests
2020-11-16 19:04:17 +01:00
Steven Allen
4f33c91f81
fix calico upgrade logic
2020-11-16 19:04:17 +01:00
Steven Allen
423ff0631d
fix genesis
2020-11-16 19:04:17 +01:00
Steven Allen
948ee53080
add upgrade height where SDR is required
2020-11-16 19:04:13 +01:00
Łukasz Magiera
4d8327c29a
Fix miners with no sectors in node tests
2020-11-16 19:03:30 +01:00
Łukasz Magiera
2a7e4af5ee
Fix lotus-miner/lotus-worker 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
Łukasz Magiera
470538b082
Merge pull request #4770 from filecoin-project/fix/winpost-sset
...
Don't use terminated sectors for winning PoSt
2020-11-16 17:16:08 +01:00
Raúl Kripalani
bac51dd4e3
daemon --import-snapshot: force head silently, without triggering reorg.
2020-11-16 16:03:47 +00:00
Raúl Kripalani
d7b4f92f1f
add context to ChainStore.
2020-11-16 15:52:19 +00:00
Aayush Rajasekaran
96d56ec096
Modify vesting schedule post-calico
2020-11-15 19:27:45 -05:00
Aayush Rajasekaran
6d0b3978b9
Merge branch 'master' into release/v1.2.0
2020-11-15 19:03:18 -05:00
Aayush Rajasekaran
1af1ceb1e0
Merge pull request #3646 from filecoin-project/feat/delayed-pubsub-subscribe
...
delayed pubsub subscribe for messages topic
2020-11-13 17:44:32 -05:00
Łukasz Magiera
6742a74260
Merge pull request #4814 from filecoin-project/feat/rw-close
...
update libp2p for stream interface changes
2020-11-13 00:23:29 +01:00
Łukasz Magiera
961a25298b
predicates: Fast StateGetActor wrapper
2020-11-12 23:45:06 +01:00
Steven Allen
5f1737379a
update libp2p for stream interface changes
2020-11-12 13:57:19 -08:00
Łukasz Magiera
d3d5f8d7f0
Merge branch 'master' into fix/logging-quieter
2020-11-12 20:45:41 +01:00
Łukasz Magiera
99031bae17
Merge pull request #4709 from filecoin-project/feat/mute-logs
...
Make some logs quieter
2020-11-12 20:40:10 +01:00
whyrusleeping
7921f8d713
drop a few logs down to debug
2020-11-12 11:25:22 -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
Dirk McCormick
f3922e7485
test: for FundManager panic to ensure it is fixed
2020-11-12 15:35:43 +01:00
Łukasz Magiera
d525acdeda
Merge pull request #4797 from zgfzgf/fix-2k-chain-syn
...
2k sync BootstrapPeerThreshold
2020-11-12 10:33:04 +01:00
Dirk McCormick
6184d228c1
fix: panic in FundManager
2020-11-11 20:32:26 +01: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
Dirk McCormick
0d243bb824
refactor: integrate new FundManager
2020-11-10 21:11:05 -08:00
zgfzgf
1301fd6ddb
2k sync BootstrapPeerThreshold
2020-11-11 12:20:31 +08:00
Dirk McCormick
0101436933
fix: flaky TestFundManagerWithdrawalLimit test
2020-11-10 19:44:26 -08:00
Dirk McCormick
0e0ffc9c10
refactor: remove FundManager.Wait
2020-11-10 19:44:26 -08:00
Dirk McCormick
a51a62cb42
fix: batch withdrawal requests by wallet
2020-11-10 19:44:26 -08:00
Dirk McCormick
86c204d8a8
refactor: improve FundManager naming and docs
2020-11-10 19:44:26 -08:00
Dirk McCormick
1182927fe5
refactor: add wallet param to FundManager methods
2020-11-10 19:44:26 -08:00
Dirk McCormick
4d3cd7dcb8
refactor: FundManager
2020-11-10 19:44:26 -08: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
Raúl Kripalani
8f5847b8e3
fix condition.
2020-11-10 22:34:13 +00:00
Łukasz Magiera
2ae0edc4df
Merge pull request #4688 from filecoin-project/feat/head-change-coalscer
...
head change coalescer
2020-11-10 19:40:54 +01:00
Raúl Kripalani
38c404e04e
vm: construct CBOR store properly.
2020-11-10 15:49:33 +00:00
Raúl Kripalani
af7236f7e7
migrate direct usages blockstore.{Get=>View}.
2020-11-10 13:35:36 +00:00
Raúl Kripalani
54bf7c99d7
add the viewable trait to our gazillion blockstores.
2020-11-10 12:40:32 +00:00
Lucas Molas
3ec25cbece
restrict parse fil string length ( #4780 )
2020-11-09 22:12:32 -03:00
Łukasz Magiera
3a3270b37c
nv7 upgrade: Don't use terminated sectors for winning PoSt
2020-11-09 18:52:10 +01:00
Łukasz Magiera
290414e935
wallet: Don't return null from WalletList
2020-11-09 18:42:43 +01:00
vyzo
185653f85a
improve coalescing
2020-11-09 13:35:42 +02:00
zgfzgf
8c8396af59
print multiple blocks from miner
2020-11-09 10:57:36 +08:00
Aayush Rajasekaran
7b8158b1af
Update to actors v2.3.0
2020-11-08 16:00:22 -05:00
vyzo
378d7a1ad9
stupid linter
2020-11-06 22:26:47 +02:00
vyzo
9a76c648f1
unit test for head change coalescer
2020-11-06 22:26:47 +02:00
vyzo
84c9d1dbb7
hook head change coalescer to mpool
2020-11-06 22:26:24 +02:00
vyzo
08aab1c48a
make Close satisfy io.Closer
2020-11-06 22:26:24 +02:00