1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-11-23 08:47:42 -05:00
forgejo/docs/content/doc
zeripath daa5a23548
Set self-adjusting deadline for connection writing (#16068)
* Set self-adjusting deadline for connection writing

In #16055 it appears that the simple 5s deadline doesn't work for large
file writes. Now we can't - or at least shouldn't just set no deadline
as go will happily let these connections block indefinitely. However,
what seems reasonable is to set some minimum rate we expect for writing.

This PR suggests the following algorithm:

* Every write has a minimum timeout of 5s (adjustable at compile time.)
* If there has been a previous write - then consider its previous
deadline, add half of the minimum timeout + 2s per kb about to written.
* If that new deadline is after the minimum timeout use that.

Fix #16055

* Linearly increase timeout

* Make PerWriteTimeout, PerWritePerKbTimeouts configurable

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: 6543 <6543@obermui.de>
2021-06-11 00:25:25 +03:00
..
advanced Set self-adjusting deadline for connection writing (#16068) 2021-06-11 00:25:25 +03:00
developers Fix typo in hacking-on-gitea.en-us.md (#15918) 2021-05-18 19:35:59 +02:00
features Encrypt LDAP bind password in db with SECRET_KEY (#15547) 2021-05-20 09:29:57 +01:00
help MySQL 5 FAQ (#15729) 2021-05-05 05:39:09 +01:00
installation Bump postgres and mysql versions (#15710) 2021-05-21 18:11:48 -04:00
translation Add german translation guidelines (#14283) 2021-01-22 20:12:50 +01:00
upgrade update branch in CI and docs (#15631) 2021-05-04 12:16:23 -04:00
usage reverse proxy for IIS (#15555) 2021-05-14 00:36:53 -04:00
advanced.en-us.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
advanced.fr-fr.md General documentation cleanup (#3317) 2018-01-08 23:48:42 +01:00
advanced.zh-cn.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
advanced.zh-tw.md [docs] Add zh-tw Translations (#14507) 2021-01-29 01:57:58 +01:00
developers.en-us.md Refactor docs (#13275) 2020-10-23 11:59:45 -04:00
developers.zh-tw.md [docs] Add zh-tw Translations (#14507) 2021-01-29 01:57:58 +01:00
features.en-us.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
features.zh-cn.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
features.zh-tw.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
help.en-us.md Implement documentation search (#8937) 2019-11-13 18:03:18 +00:00
help.fr-fr.md Implement documentation search (#8937) 2019-11-13 18:03:18 +00:00
help.zh-cn.md Implement documentation search (#8937) 2019-11-13 18:03:18 +00:00
help.zh-tw.md [docs] Add zh-tw Translations (#14507) 2021-01-29 01:57:58 +01:00
installation.en-us.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
installation.fr-fr.md General documentation cleanup (#3317) 2018-01-08 23:48:42 +01:00
installation.zh-cn.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
installation.zh-tw.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
translation.de-de.md Add german translation guidelines (#14283) 2021-01-22 20:12:50 +01:00
translation.en-us.md Add german translation guidelines (#14283) 2021-01-22 20:12:50 +01:00
translation.zh-tw.md [docs] Add zh-tw Translations (#14507) 2021-01-29 01:57:58 +01:00
upgrade.en-us.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
upgrade.fr-fr.md General documentation cleanup (#3317) 2018-01-08 23:48:42 +01:00
upgrade.zh-cn.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
upgrade.zh-tw.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
usage.en-us.md Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
usage.zh-cn.md ZH-CN translation of Usage part (#5086) 2018-10-17 14:19:04 -04:00
usage.zh-tw.md [docs] Add zh-tw Translations (#14507) 2021-01-29 01:57:58 +01:00