Skip to content

Add delay when modifying huge storage obligations

Christopher Schinnerl requested to merge huge-contract-failsafe into master

MERGE REQUEST

Overview

Modifying huge contracts on the host is very disk i/o heavy. So we add a delay for contracts of a certain size until the host is optimized to deal with contracts of that size without issues.

The delay happens while the contract is locked to prevent the renter from rapidly updating the storage obligation. Since the delay is only applied on large storage obligations, renter with small contracts won't be affected by the delay. Unfortunately this significantly slows down renters with large contracts but that way renters with smaller contracts won't suffer from the disk i/o caused by rapidly updating large contracts.

Example for Visual changes (ie Screenshot)

Issues Closed

Checklist

Review and complete the checklist to ensure that the MR is complete before assigned to an approver.

  • All new methods, or updating methods have clear docstrings
  • Testing added or updated for new methods
  • Any new packages are added to Makefile and .gitlab-ci.yml
  • API documentation updated for API updates
  • Module README.md updated for changes to work flow
  • Issue added to Sia-UI repo for new supporting features
  • Changelog updated
Edited by Matthew Sevey

Merge request reports