Skip to content
  • Alin Dima's avatar
    Elastic scaling: runtime dependency tracking and enactment (#3479) · 4842faf6
    Alin Dima authored
    
    
    Changes needed to implement the runtime part of elastic scaling:
    https://github.com/paritytech/polkadot-sdk/issues/3131,
    https://github.com/paritytech/polkadot-sdk/issues/3132,
    https://github.com/paritytech/polkadot-sdk/issues/3202
    
    Also fixes https://github.com/paritytech/polkadot-sdk/issues/3675
    
    TODOs:
    
    - [x] storage migration
    - [x] optimise process_candidates from O(N^2)
    - [x] drop backable candidates which form cycles
    - [x] fix unit tests
    - [x] add more unit tests
    - [x] check the runtime APIs which use the pending availability storage.
    We need to expose all of them, see
    https://github.com/paritytech/polkadot-sdk/issues/3576
    - [x] optimise the candidate selection. we're currently picking randomly
    until we satisfy the weight limit. we need to be smart about not
    breaking candidate chains while being fair to all paras -
    https://github.com/paritytech/polkadot-sdk/pull/3573
    
    Relies on the changes made in
    https://github.com/paritytech/polkadot-sdk/pull/3233 in terms of the
    inclusion policy and the candidate ordering
    
    ---------
    
    Signed-off-by: default avataralindima <[email protected]>
    Co-authored-by: command-bot <>
    Co-authored-by: default avatareskimor <[email protected]>
    4842faf6