feat/core: split up large and deduplicate group messages #1038
Conversation
|
@afck: no appropriate reviewer found, use r? to override |
|
Review status: 0 of 14 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed. src/core.rs, line 277 [r2] (raw file):
why 20mins for this btw? to be consistent with src/stats.rs, line 62 [r2] (raw file):
ouch. could we maybe look at these stats now getting updated at Comments from Reviewable |
This splits up requests and responses into chunks of at most 20 kB to reduce network latency. The caching functionality is removed, since hop nodes now only get to see parts of `GetSuccess` responses.
|
Review status: 0 of 15 files reviewed at latest revision, 2 unresolved discussions. src/core.rs, line 277 [r2] (raw file):
|
If the source authority is a group, every member used to send the whole message, which is wasteful for large messages. With this change, all but one group member will only send a hash instead of the message itself.
|
Reviewed 2 of 12 files at r1, 2 of 2 files at r2, 1 of 3 files at r3, 2 of 6 files at r5. src/core.rs, line 197 [r5] (raw file):
why not make src/core.rs, line 877 [r5] (raw file):
am prolly missing something here, but this fn can when called at src/core.rs, line 883 [r5] (raw file):
why even choose to add Comments from Reviewable |
Messages critical to data relocation have a high priority to prevent data loss. Messages that mutate data have a medium priority to protect consensus. Client `Get` requests have the lowest priority. This means that under extreme load, if network bandwidth is insufficient, the network will become temporarily unresponsive instead of breaking consensus or losing data.
|
Reviewed 3 of 12 files at r1, 2 of 6 files at r5, 3 of 3 files at r6. Comments from Reviewable |
This splits up requests and responses into chunks of at most 20 kB to
reduce network latency.
The caching functionality is removed, since hop nodes now only get to
see parts of
GetSuccessresponses.This change is