Skip to content

RFC: Chunking for rpc in protocol

Context

Fixes #1478 (closed)
TL;DR: currently all protocol RPCs are answered chunk because some protocol RPCs benefit from it; this MR gives more granularity.

Open questions:

  • Should the default be chunked (?(chunked = true)) and then we use ~chunked:false?
    • It should default to false because for most of the entry points that's the least expensive of the two (in terms of performance) but it should default to true because that's the form with the least degenerate case performance. Basically, false is better in most cases but it can be much much worse in a few cases.
    • The protocol becomes set in stone once injected. Consequently, it's ok if we have a few true where we should have false (it's a small performance cost when performing protocol-related RPCs) but it's not ok to have a false where we need a true (it's a significant performance cost). If we forget a true then we might need to override everything to true at the environment level.
  • Is the current set of chunked/non-chunked RPCs correct?

Manually testing the MR

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, the Development Version section of CHANGES.md for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Raphaël Proust

Merge request reports