Commit Graph

50 Commits

Author SHA1 Message Date
Aayush Rajasekaran
39755a294a Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
Mike Greenberg
abaef98fd8 fix(chainwatch): Stop SyncIncomingBlocks from leaking into processing
The SQL query was anchoring data from the `blocks` table, which includes
all blocks seen from SyncIncomingBlocks which isn't always available in
the chainstate via the API. In order to prevent these blocks from
leaking into normal processing (which errors anyway), the join was
changed to allow `blocks_synced` to anchor the set as we originally
intended.
2020-09-03 19:15:25 -04:00
Mike Greenberg
ddc5e57d4d fix(chainwatch): Error instead of panic during processing 2020-09-03 19:15:19 -04:00
Mike Greenberg
95a75daf9f fix(chainwatch): Remove useless logging 2020-08-31 22:32:34 -04:00
frrist
0185090cbb perf(chainwatch): parallelize miner processing 2020-08-28 13:26:11 -07:00
Mike Greenberg
9e130af9e7 feat(chainwatch): Add more complete power and reward metrics 2020-08-27 23:00:12 -04:00
frrist
5e40dda3bc fix(chainwatch): fix deadlock in sector deals 2020-08-27 11:47:53 -07:00
frrist
fb8340acb2 polish(chainwatch): clean up logging 2020-08-27 11:47:53 -07:00
Mike Greenberg
80f8f71a96 fix(lint): Cleanup unneeded error returns; go mod tidy 2020-08-23 16:51:12 -04:00
Mike Greenberg
da8dbc8ffe fix(chainwatch): Make processor failures independent of each other 2020-08-23 01:59:15 -04:00
Steven Allen
5733c71c50 Lint everything
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.

There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00
Mike Greenberg
bf10de82df fix(chainwatch): Handle RewardState.EpochSmoothingEstimate == nil 2020-08-20 01:55:17 -04:00
frrist
05f1a23c94 feat(chainwatch): power actor smoothing estimate 2020-08-19 13:34:58 -07:00
frrist
fecaeda382 feat(chainwatch): reward actor smoothing estimate 2020-08-19 13:05:07 -07:00
frrist
3df85ca784 refactor(chainwatch): add new values to sector_info table 2020-08-19 13:05:07 -07:00
Mike Greenberg
8675ca561d fix(api): Filter malformed peer ID before RPC marshaling 2020-08-18 16:29:21 -04:00
Mike Greenberg
fabf26cc21 fix(chainwatch): Actually capture human actor names 2020-08-18 00:22:01 -04:00
Mike Greenberg
94e4f8d116 fix(chainwatch): Ignore blocks missing from local blockstore during processing 2020-08-18 00:22:01 -04:00
Mike Greenberg
6734287789 fix(chainwatch): Change tmp table names to not collide 2020-08-18 00:22:01 -04:00
Łukasz Magiera
2e78ed685f
Merge pull request #3113 from filecoin-project/fix/chainwatch/calibration-improvements
Chainwatch Improvements
2020-08-17 19:06:05 +02:00
Mike Greenberg
0b498d25f6 fix(chainwatch): Actor code are human readable 2020-08-17 11:18:35 -04:00
vyzo
7f27c80a6a move sleep into the select
as it is it simply slows down the writer if there are many messages
2020-08-15 21:20:02 +03:00
frrist
50d4c2e0ac fix: error checking for actor not found 2020-08-13 14:10:05 -07:00
frrist
55f88b46cf fix: best attempt at fixing the id_address_map 2020-08-13 11:14:58 -07:00
Łukasz Magiera
3b23ab952b gofmt 2020-08-13 13:44:43 +02:00
frrist
69a472c4ea bug: fix id_address_map table conflicts on reorg 2020-08-12 16:54:45 -07:00
Steven Allen
9135a5d048 Pass bitfields by-value
This ensures we can't end up decoding nil bitfields from clients when not
expecting them.

Part of https://github.com/filecoin-project/specs-actors/issues/895. Please see
this issue for details and leave any comments there.
2020-08-12 10:32:39 -07:00
Mike Greenberg
4ed968b79c feat(chainwatch): track message size in bytes 2020-08-07 14:25:35 -04:00
Łukasz Magiera
a939c30256 chainwatch: Record parent_base_fee in blocks 2020-08-07 18:38:19 +02:00
Mike Greenberg
79b701d347 fix(chainwatch): gas columns are snake_cased; fix SQL bugs 2020-08-06 18:28:54 -04:00
Jakub Sztandera
ab08858b45
Delete GasPrice from this world
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:08:42 +02:00
frrist
023b2ce126 feat: create relation for dealIDs to sectorID 2020-08-03 16:31:24 -07:00
frrist
b672070ba2 fix(chainwatch): miner processing panics on nil bf 2020-08-03 11:03:17 -07:00
frrist
bc0408b962 refactor: add sector events back and miner info 2020-07-30 14:52:38 -07:00
Łukasz Magiera
2cbe8fd707 gofmt 2020-07-28 16:37:29 +02:00
frrist
ba7eaf3cc7 fix: reward actor processes null round states 2020-07-27 17:04:38 -07:00
Mike Greenberg
718dd26043 fix(chainwatch): Move scheduler-specific schema; Add max_height view 2020-07-24 18:07:12 -04:00
frrist
5a26dba8e5 fix: handle reorgs for id mapping table 2020-07-22 16:47:47 -07:00
frrist
08006bce3d fix: use bigint for gas_used in message receipt
- prevents overflows
2020-07-21 08:49:27 -07:00
Mike Greenberg
cf917fc426 fix(chainwatch): Restore base block reward metric capture 2020-07-20 17:31:27 -04:00
Łukasz Magiera
1a1bd38495 Merge remote-tracking branch 'origin/master' into next 2020-07-18 00:43:08 +02:00
Łukasz Magiera
ee6269756c
Merge pull request #2429 from filecoin-project/frrist/chainwatch-miner-precommit
feat: track miner precommit
2020-07-17 22:51:42 +02:00
frrist
7ff468ce85 feat: track miner precommit
- add materalized view showing all miner sector info
2020-07-17 12:25:54 -07:00
Mike Greenberg
7e46fc1d8f fix: Comment out affected Actor interactions from API shift 2020-07-17 15:19:05 -04:00
Mike Greenberg
18d1ab0cb9 fix(chainwatch): Parallel reward persistence; Tighten rpc logging 2020-07-16 22:58:27 -04:00
Mike Greenberg
c3cc2eea46 feat(chainwatch): Add miner index on top_miners_by_base_reward view 2020-07-16 11:36:52 -04:00
Mike Greenberg
7bfcff2c18 fix(chainwatch): Backoff processor when no work exists to process 2020-07-16 11:36:52 -04:00
Mike Greenberg
f2f797f088 fix(log): Move metrics and stage updates to debug; Add --log-level switch 2020-07-16 11:36:52 -04:00
Mike Greenberg
0cfddae711 feat(chainwatch): Capture base_block_reward per epoch; Top miner by reward view 2020-07-16 11:36:52 -04:00
frrist
41f4f1fd83 refactor: implement processor and syncer
- When chainwatch is ran it will first start a Syncer that continuously collects blocks from the
ChainNotify channel and persists them to the blocks_synced table. Once the Syncer has caught the
blocks_synced table up to the lotus daemons current head a Processor is started. The Processor
selects a batch of contiguous blocks and extracts and stores their data. It attempts to do as much
work as it can in parallel. When the blocks are done being processed their corresponding
processed_at and is_processed fields in the blocks_synced table are filled out.
2020-07-15 11:42:19 -07:00