Fridrik Asmundsson
1ea7e05cde
feat: Add small cache to execution traces
...
This PR adds a small cache to calls to ExecutionTrace which helps
improve performance for node operators like exchanges and block
explorers.
If items is in cache calls to this function will be 2-3x faster.
Fixes: https://github.com/filecoin-project/lotus/issues/10504
2023-03-28 12:36:52 +02:00
Mikers
831f8a499d
repub needs Lock not RLock
2023-03-28 08:40:41 +00:00
Alfonso de la Rocha
df82a8240e
add comments
2023-03-28 10:33:26 +02:00
Mikers
e9d2223025
disallow infinite loop, since in testing this only runs once
2023-03-28 08:11:23 +00:00
Mikers
ad81cd18c2
cache the tipset nonce calculation before holding the write lock, and also verify that the the calculation is cached after grabbing the write lock. if it is not cached, give up the lock, calculate, and then grab the write lock again
2023-03-28 08:11:00 +00:00
Alfonso de la Rocha
92f6d3e468
global locking strategy for blockInfo map
2023-03-28 10:01:43 +02:00
Fridrik Asmundsson
90171c8bab
Addressing lint errors
2023-03-25 11:17:54 +00:00
Mike Seiler
6f440a6420
change highly contented message pool locks to RWMutexes for performance
2023-03-24 15:49:02 -10:00
Fridrik Asmundsson
b8137f6b4d
Delete existing message index when loading from snapshot
2023-03-24 16:45:33 +00:00
Fridrik Asmundsson
48c57d394b
Improve performance when populating message indax
2023-03-24 15:36:31 +00:00
vyzo
08134552a4
address review comments
2023-03-24 15:48:58 +02:00
vyzo
4b590e2102
add vm execution metrics
2023-03-24 15:16:22 +02:00
Fridrik Asmundsson
59640a8b22
Populate the index on snapshot import
...
Fixes: https://github.com/filecoin-project/lotus/issues/10537
2023-03-24 11:41:27 +00:00
Mikers
41fce94db4
perf: eth: gas estimate set applyTsMessages false ( #10546 )
...
* have gas estimate call callInternal with applyTsMessages = false and other calls with applyTsMessages=true for gas caclulation optimization
* set applyTsMessages = true in CallWithGas call in shed
* update test with new callwithgas api optimization for eth call
* Update chain/stmgr/call.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change
* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change
* make sure that even if we arent apply ts messages we grab ts messages from the particular user who is requesting gas estimation
---------
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>
2023-03-23 18:27:01 -04:00
Aayush
bc87017ea5
feat: supply: only grab genesis msig locks for writes
2023-03-23 17:04:59 -04:00
Aayush
dcdd1bc214
feat: supply: drop genesis market locked funds
2023-03-23 15:56:59 -04:00
vyzo
f11a7f8940
fix incorrect deferred vm release
2023-03-23 19:51:23 +02:00
vyzo
317a87d669
add some sanity checks for execution concurrency parameters
2023-03-23 18:52:37 +02:00
Aayush
b1669235f7
feat: chainstore: optimize BlockMsgsForTipset
2023-03-23 11:57:43 -04:00
vyzo
2a0660447a
make token.Done idempotent
2023-03-23 17:38:36 +02:00
vyzo
2bb89d9c30
call Executor.Done where appropriate in stmgr uses
2023-03-23 17:34:59 +02:00
vyzo
ee6c0f8570
only call Atoi on non empty strings
2023-03-23 17:28:08 +02:00
vyzo
7362556c02
update VM interface references to use the executor, and call Done where appropriate
2023-03-23 17:17:46 +02:00
vyzo
6550abdfcc
introduce execution lanes
2023-03-23 16:53:50 +02:00
vyzo
8abe0ea608
Merge pull request #10452 from filecoin-project/vyzo/feat/chain/msgindex
...
feat:chain: Message Index
2023-03-22 17:02:34 +02:00
Hector Sanjuan
6942020253
Ignore blockstore.Get errors when the top-level-task is Receipts
2023-03-21 21:25:50 +01:00
Alfonso de la Rocha
90c2f9dbe2
minor fix
2023-03-16 17:17:59 +01:00
Alfonso de la Rocha
8d260d7478
address review
2023-03-16 17:03:25 +01:00
vyzo
883bbf8701
add sanity check in SearchForIndexedMsg call site
...
Check that receipt is non nil, and the message was indeed found.
2023-03-16 17:51:28 +02:00
vyzo
3710768910
add TODO for WaitForMessage to use the index
2023-03-16 17:45:16 +02:00
vyzo
ef2f2b0f89
reword funny comment
2023-03-16 17:43:56 +02:00
vyzo
9c087cc52c
second error variable name to avoid confusing they yushie.
2023-03-16 17:42:09 +02:00
vyzo
1e7f5c6a1e
shut down the index if there is an error during head processing
2023-03-16 17:41:06 +02:00
vyzo
ff22a46253
complain if head change processing is building backlog
2023-03-16 17:38:46 +02:00
vyzo
90c4763e00
fix typos
2023-03-16 17:33:12 +02:00
vyzo
8bceaadda8
chain errors in searchForIndexedMsg
2023-03-16 17:32:06 +02:00
vyzo
91fccc421a
add ON CONFLICT REPLACE clause in messages
2023-03-16 17:25:20 +02:00
adlrocha
f59c246c7a
Update chain/sub/bcast/consistent.go
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-16 16:09:45 +01:00
Hector Sanjuan
4b8442d8b9
Chain export: record epoch for every task.
2023-03-16 15:31:58 +01:00
Hector Sanjuan
a3900caeb0
Improve logging by carrying some more information in tasks
2023-03-16 13:38:40 +01:00
Łukasz Magiera
7e414ac390
Merge remote-tracking branch 'origin/master' into feat/go-data-transfer-v2
2023-03-15 11:37:53 +01:00
Łukasz Magiera
162e07fc95
Merge pull request #10470 from filecoin-project/feat/applyblock-timing-log
...
feat: consensus: log ApplyBlock timing/gas stats
2023-03-14 15:25:31 +01:00
Łukasz Magiera
27e3c0b89f
fix: stmgr: don't attempt to lookup genesis state ( #10472 )
...
* fix: stmgr: don't attempt to lookup genesis state
* stmgr: More correct fix for genesis state compute
2023-03-14 06:45:23 -07:00
Łukasz Magiera
51c6b64c91
feat: consensus: log ApplyBlock timing/gas stats
2023-03-14 13:58:36 +01:00
Steven Allen
dcb49dc8ee
refactor: update cache to the new generic version ( #10463 )
...
- Adds type safety.
- Reduces allocations.
- Fixes the drand cache (was storing by value, but retrieving by pointer)
2023-03-13 15:29:09 -07:00
vyzo
5ade40cbac
increase coalesce delays for test to deflake on CI
2023-03-13 17:27:12 +02:00
vyzo
47646cbd69
add optimization TODO comment
2023-03-13 15:19:07 +02:00
vyzo
1970792445
fix bug in searchForIndexedMsg
...
Need to use and return the execution tipset
2023-03-13 14:56:00 +02:00
vyzo
4b1a405002
basic msgindex itest
2023-03-13 14:55:26 +02:00
vyzo
05cb2428c1
add confidence check for indexed message epoch
2023-03-13 12:33:19 +02:00
vyzo
5e011d536b
enhance comment about lookup cid semantics
2023-03-13 12:14:30 +02:00
vyzo
a11032b10a
adjust coalescer delays
2023-03-13 11:44:10 +02:00
vyzo
bda7ef52da
log rollback errors
2023-03-13 11:41:46 +02:00
vyzo
b90cfff0aa
wire in lifecycle context
2023-03-13 10:42:48 +02:00
vyzo
5461548b7e
fix comment typo
2023-03-13 05:57:26 +02:00
vyzo
4a20c9b60f
cosmetics
2023-03-13 05:54:32 +02:00
vyzo
e7448b1bb5
fix tests
2023-03-13 05:51:33 +02:00
vyzo
df6dfdf8a9
refactor database
...
- drop the execution index; we don't need it
- it is inclusion tipset
- use MessagesForTipset
- hoist db sql stuffs on top for clarity
- add index for tipset on messages
2023-03-13 05:51:24 +02:00
vyzo
88d7a4e610
more lint
2023-03-12 16:13:05 +02:00
vyzo
1415391988
lint
...
lint
lint
2023-03-12 15:50:10 +02:00
vyzo
0077fa2a98
make gen
2023-03-12 15:30:05 +02:00
vyzo
171734ea31
hook the index into the rest of lotus
2023-03-12 15:25:07 +02:00
vyzo
0d274df977
use the transaction Luke!
2023-03-12 13:35:50 +02:00
vyzo
d9ca214309
test test test
2023-03-12 13:21:03 +02:00
vyzo
bf9ae23c98
implement Close
2023-03-11 22:09:31 +02:00
vyzo
b5dd4e31ac
implement reconciliation
2023-03-11 21:26:11 +02:00
Raúl Kripalani
f7a979d825
eth_feeHistory: migrate to using TipSetState.
2023-03-11 17:25:00 +00:00
vyzo
d97c6b2f69
more implementation
2023-03-11 19:11:08 +02:00
vyzo
7fcf228bc4
better logger name
2023-03-11 18:23:05 +02:00
vyzo
3649ae373b
implementation details
2023-03-11 18:21:16 +02:00
vyzo
9144f9cea7
abstract ChainStore interface
2023-03-11 17:56:23 +02:00
vyzo
eab728c4e7
we don't need the block
2023-03-11 17:25:57 +02:00
vyzo
cc83a7cd35
use tipset cid instead of key for posterity.
2023-03-11 17:12:28 +02:00
vyzo
a0e95ebe97
scaffolding
2023-03-11 16:50:29 +02:00
Steven Allen
1cf57ffe2d
feat: eth: optimize receipt reading
...
This optimizes the eth APIs (except the fee history one) to lookup the
tipset state/receipts instead of computing the state.
2023-03-10 15:33:45 -08:00
Steven Allen
92bca485b6
feat: stmgr: skip tipset execution when possible
2023-03-10 13:21:17 -08:00
Steven Allen
f7603f6c13
feat: eth API: reject masked ID addresses embedded in f410f payloads
...
We'll never get an actor/account deployed to one of these
addresses (although we might get a placeholder). However, converting
such an address to an f4 address is definitely wrong.
2023-03-10 10:57:39 -08:00
Alfonso de la Rocha
c11ffa58a8
address review
2023-03-10 09:27:30 +01:00
Steven Allen
58900a7033
feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x ( #10416 )
...
However, we're leaving the default at 1.25x for backwards compatibility, for now.
Also:
1. Actually use the configured replace fee ratio.
2. Store said ratios as percentages instead of floats. 1.25, or 1+1/(2^2),
can be represented as a float. 1.1, or 1 + 1/(2 * 5), cannot.
fixes #10415
2023-03-09 13:17:17 -08:00
Aayush Rajasekaran
b75ebcac81
Merge pull request #10423 from filecoin-project/asr/fast-index
...
feat: chain: make chain tipset fetching 1000x faster
2023-03-09 15:38:55 -05:00
Aayush
90c89288b6
feat: chain: make fetching tipset by height 1000x faster
2023-03-09 15:12:13 -05:00
Travis Person
f641139bf2
Merge pull request #10282 from filecoin-project/feat/cache-migrated-stateroot
...
feat: stmgr: cache migrated stateroots
2023-03-09 11:47:43 -08:00
Travis Person
b4e589a0f7
review comments
2023-03-09 18:54:29 +00:00
Łukasz Magiera
dcfbf7d0a6
fix TestPrintGroupInfo
2023-03-08 18:13:58 +01:00
Łukasz Magiera
d114d8fe7e
deprecate MarketListRetrievalDeals, make gen
2023-03-08 17:15:16 +01:00
Marten Seemann
5b5ea083ce
fix drand test
2023-03-08 17:50:58 +13:00
hannahhoward
7bc6185077
chore(deps): update to get to compile
2023-03-07 11:45:30 -08:00
Aayush
74d94af034
fix: state: short-circuit genesis state computation
2023-03-06 15:39:28 -05:00
Aayush
4e57626e42
feat: update renew-sectors with FIP-0045 logic
2023-03-02 16:38:05 -05:00
Steven Allen
dbbcf4b2ee
feat: vm: switch to the new exec trace format ( #10372 )
...
This is now "FVM" native. Changes include:
1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
2023-03-01 16:02:18 -08:00
Aayush
19f1ad2762
Merge branch 'releases' into asr/merge-release-into-master
2023-03-01 14:18:35 -05:00
Travis Person
814c146626
feat: stmgr: cache migrated stateroots
2023-03-01 16:17:34 +00:00
Steven Allen
68b401a895
fix: cli: better handle sending from EthAccount actors
...
This will make `lotus send` mostly just "do what the user wants" in this
case:
1. The user may not explicitly specify a method number.
2. Parameters are automatically cbor-encoded where applicable.
3. The method number is automatically selected based on the
recipient (CreateExternal if sent to the EAM, InvokeEVM otherwise).
2023-02-24 15:15:41 -08:00
Łukasz Magiera
ea57a1aec3
Merge remote-tracking branch 'origin/master' into hsanjuan/chain-export-range-rebased
2023-02-23 13:08:14 +01:00
Travis Person
bf2ac13609
Merge pull request #10283 from filecoin-project/feat/disable-pre-migrations
...
feat: stmgr: add env to disable premigrations
2023-02-21 09:23:13 -08:00
Travis Person
2dcaddf61d
feat: stmgr: add env to disable premigrations
...
Setting the environment variable `LOTUS_DISABLE_PRE_MIGRATIONS=1` will
discard premigrations for all upgrade.
2023-02-17 23:12:26 +00:00
Aayush Rajasekaran
1ec02c5c95
Merge pull request #10296 from filecoin-project/asr/migration-test
...
feat: shed: test the nv18 migration
2023-02-17 16:20:51 -05:00
Aayush
984b4c78cb
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-17 16:08:22 -05:00
Aayush Rajasekaran
efcdec6517
Merge pull request #10300 from filecoin-project/steb/fix-eth-nonce
...
fix: eth: return the correct nonce from EthGetTransactionCount
2023-02-17 14:45:45 -05:00
Steven Allen
a3bc65ba05
fix: eth: return the correct nonce from EthGetTransactionCount
...
EVM contracts track this number internally.
fixes https://github.com/filecoin-project/lotus/issues/10255
2023-02-17 10:51:42 -08:00