60 Commits

Author SHA1 Message Date
1bc8a8b32c chore: remove (deprecated) deps on build/ proxy-constants
This is a large diff, yet should have exactly zero functional changes

Ideally as a result of this some parts of the depchain will become lighter,
with downstream reaping the same benefits as the team that initiated this split.

P.S. work was done while forming better intuition of current dependency graph
2024-07-22 17:36:12 +04:00
9e6e7814ab chore: lint: enable function godoc linting 2024-07-19 11:10:11 +10:00
47910cfe82 chore: remove repetitive words
Signed-off-by: shuangcui <fliter@qq.com>
2024-03-15 13:44:34 +11:00
0ff334912b Address review 2023-08-09 19:28:24 -04:00
2086b219d2 Don't use go-libp2p-core 2022-08-25 14:20:41 -04:00
05cdeb80c3 chore: remove redundant import prefixes 2022-06-15 12:06:22 +02:00
e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
a584fcb935 sync: log a message when there aren't enough peers 2020-12-03 01:27:07 +00:00
7921f8d713 drop a few logs down to debug 2020-11-12 11:25:22 -08:00
1301fd6ddb 2k sync BootstrapPeerThreshold 2020-11-11 12:20:31 +08:00
f6ecff0e26 check recent syncs in selectSyncTarget/selectDeferredSyncTarget 2020-10-30 07:50:26 +02:00
57234d8ef3 fix spelling in comment to satisfy linter
this is ridiculous; since when do linters apply spellchecking on comments???
2020-10-29 19:13:45 +02:00
47830efbf5 set BootstrapPeerThreshold to 4, add env variable to override 2020-10-29 19:08:58 +02:00
a650641813 transition out of initial sync only if sync finishes within 15min 2020-10-29 17:27:13 +02:00
8702ff8b7e rename initialSync to initialSyncDone 2020-10-29 17:12:47 +02:00
a26420f6e8 add missing return for deferrals during initial sync 2020-10-29 09:40:41 +02:00
ad905fc310 Expose WorkerID
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-28 20:22:07 +01:00
ba2512655e track last few worker states for debug purposes 2020-10-28 14:08:06 +02:00
6266bae1d3 log worker spawning from initial sync deferrals 2020-10-28 11:44:16 +02:00
188d1649d3 stop the ticker when done with it 2020-10-28 11:41:40 +02:00
9ddf7bbd15 better handling of initial sync 2020-10-28 11:36:34 +02:00
469666de82 limit max active sync workers 2020-10-28 10:33:22 +02:00
fc1ac3e752 simplify circular buffer code
we don't care about order of checks!
2020-10-28 00:02:08 +02:00
ab7a66b90d track recently synced tipsets to avoid unnecessary worker spawning 2020-10-27 23:48:31 +02:00
2b82e5a118 Fix tipset coalescing in case of repeated blocks
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-27 21:23:16 +01:00
16d2cb6309 Add flag to coalesce Tipsets in pending queue
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-27 18:00:34 +01:00
2fd0d430c8 set BootstrapPeerThreshold to 1, to mimic old code
which incidentally fixes tests
2020-10-26 15:49:24 +02:00
c0a039ee11 fix logging 2020-10-26 15:19:09 +02:00
f26385d0c6 use weight as the sync target selector 2020-10-26 14:51:26 +02:00
af53b72eb8 fix typo 2020-10-26 14:36:34 +02:00
5d34b7d618 rewrite sync manager 2020-10-26 14:11:19 +02:00
580a2f4dc6 Add option to join by common parents
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 01:35:26 +02:00
c8fe21c1ef PopRelated aggretates the bucket
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 01:18:13 +02:00
810feee5a1 PopRelated should pop all
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 00:39:08 +02:00
24fc7d4cbd Add reproduction test and fix the issue
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 00:34:04 +02:00
5edfc527b0 More than one bucket
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 00:34:03 +02:00
febc28f83f Add log and Insert
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-22 23:39:54 +02:00
5c9c08ef85 heaviestTipSet reurning nil is a ok
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-21 22:16:01 +02:00
608010c35d add some extra logging to try and debug sync issues 2020-10-19 19:09:49 -07:00
7245ac2b69 fix a race in the sync manager
1. SyncerState contains a mutex and should never be copied. Honestly, this case
was probably fine but it's just as easy to create a separate snapshot type and
easier to reason about.

2. We need to initialize the syncStates array once at start, before accessing
it. By each syncer state inside each worker, we were racing with calls to
`State()`. Again, this was probably benign, but I don't trust optimizing
compilers.
2020-10-10 08:31:04 -07:00
dd841f32db syncer: make SyncManager an interface. 2020-09-14 21:58:59 +01:00
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
469eef8231 Lotus architecture notes (#1768)
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2020-06-09 20:17:28 -03:00
686c543778 clean up some of the more spammy logs 2020-06-09 12:49:31 -07:00
6e94377469 cache load tipset 2019-12-16 11:22:56 -08:00
f141849df5 fix incoming tipset bucketing 2019-12-11 21:41:24 +01:00
a06c2b15ef remove debug prints 2019-12-08 16:04:44 +01:00
17b0cb1d3d improve bootstrap sync handling 2019-12-08 12:44:47 +01:00
80595e4dd5 remove debug prints 2019-12-07 19:16:17 +01:00
7363fa2e8e fix tests, add tipset expansion to relation criteria 2019-12-07 17:04:04 +01:00