Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Auto-updater improvements #7272

Closed
2 tasks done
andresilva opened this issue Dec 12, 2017 · 4 comments
Closed
2 tasks done

Auto-updater improvements #7272

andresilva opened this issue Dec 12, 2017 · 4 comments
Labels
F1-security 🛡 The client fails to follow expected, security-sensitive, behaviour. M4-core ⛓ Core client code / Rust. P2-asap 🌊 No need to stop dead in your tracks, however issue should be addressed as soon as possible.

Comments

@andresilva
Copy link
Contributor

andresilva commented Dec 12, 2017

  • A random delay should be added before starting an auto-update. This is necessary to make sure that all existing nodes don't trigger an auto-update and restart at the same time.
  • When there is a failure in downloading the binary (hash mismatch, eg) the time between next attempt should increase exponentially.
@5chdn 5chdn added F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon. labels Dec 12, 2017
@5chdn 5chdn added this to the 1.9 milestone Dec 12, 2017
@andresilva
Copy link
Contributor Author

#7348 (comment)

@rphmeier
Copy link
Contributor

wouldn't this random delay be encapsulated by the differences in time to receive the block that triggers the update?

@tomusdrw
Copy link
Collaborator

tomusdrw commented Dec 28, 2017

That's not enough. For Kovan block time is 3seconds, and if every authority runs with auto-updated we are basically killing the entire network.
The second issue is potential database migrations that might happen right after upgrade (they can take up to 30 minutes). See the linked comment for proposed solution.

@5chdn 5chdn added F1-security 🛡 The client fails to follow expected, security-sensitive, behaviour. P2-asap 🌊 No need to stop dead in your tracks, however issue should be addressed as soon as possible. and removed F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. P5-sometimesoon 🌲 Issue is worth doing soon. labels Jan 3, 2018
@5chdn 5chdn mentioned this issue Jan 5, 2018
64 tasks
@lght
Copy link

lght commented Jan 9, 2018

For Kovan block time is 3seconds, and if every authority runs with auto-updated we are basically killing the entire network.

Maybe if we have default threshold based on time and block height.

For example, set a time minimum randomly selected from a range (1-12hrs?), and compare to a minimum block height delta (500-1K blocks?), using whichever results in longer delay? Potentially, could also set different defaults for setups that would require different recovery times (e.g.archive vs light nodes).

Different default thresholds would help with archive nodes taking 48hrs to sync (#7438 proposed solution)[https://github.com//pull/7348#issuecomment-353059939]. Their default time delay could be a randomized value in 48-96hr range.

@5chdn 5chdn modified the milestones: 1.9, 1.10 Jan 23, 2018
@5chdn 5chdn mentioned this issue Jan 26, 2018
46 tasks
@tomusdrw tomusdrw changed the title Auto-update should have a random delay Auto-updater improvements Feb 27, 2018
@5chdn 5chdn modified the milestones: 1.10, 1.11 Mar 1, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F1-security 🛡 The client fails to follow expected, security-sensitive, behaviour. M4-core ⛓ Core client code / Rust. P2-asap 🌊 No need to stop dead in your tracks, however issue should be addressed as soon as possible.
Projects
None yet
Development

No branches or pull requests

5 participants