-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - in memory index with atx data for consensus layer #5013
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #5013 +/- ##
=========================================
+ Coverage 77.7% 77.9% +0.1%
=========================================
Files 262 264 +2
Lines 31112 31375 +263
=========================================
+ Hits 24204 24461 +257
- Misses 5403 5410 +7
+ Partials 1505 1504 -1
|
bors try |
tryBuild succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
bors try |
tryBuild failed: |
will create a separate to follow to adjust those places in a different pr where it will be used?
will allow to
|
bors try |
tryBuild succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
6687f4b
to
85e48c8
Compare
25807b0
to
fbf6667
Compare
bors merge |
closes: #4164 this change introduces index with minimal data about identities which is required for consensus. the goal is to have predictable latency on the codepath that are sensitive to it, such as proposals and even more hare messages. the number of issues with that will only grow when sql db size won't fit in page cache (so querying vrf nonce and atx data will hit the disk often). cached data per identity: - weight - height and base height - vrf nonce - malicious boolean the data is added to the cache either on startup or when new atx is received. nonce may be loaded from previous atx if it wasn't included in this one. when block from epoch X is applied, we will evict epochs starting from X-capacity. index is configured to fit same number of epochs that fit in the tortoise window, this enables to self-healing during this period. internally we store data indexed by epoch for simple eviction, and each epoch has an index by atx. memory estimate for 1_000_000 identities is ~140MB
Pull request successfully merged into develop. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page.
|
closes: #4164
this change introduces index with minimal data about identities which is required for consensus. the goal is to have predictable latency on the codepath that are sensitive to it, such as proposals and even more hare messages. the number of issues with that will only grow when sql db size won't fit in page cache (so querying vrf nonce and atx data will hit the disk often).
cached data per identity:
the data is added to the cache either on startup or when new atx is received. nonce may be loaded from previous atx if it wasn't included in this one. when block from epoch X is applied, we will evict epochs starting from X-capacity. index is configured to fit same number of epochs that fit in the tortoise window, this enables to self-healing during this period.
internally we store data indexed by epoch for simple eviction, and each epoch has an index by atx.
memory estimate for 1_000_000 identities is ~140MB