You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules
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>
3 years ago
..
analyze Speed up `enry.IsVendor` (#15213) 3 years ago
auth Add sso.Group, context.Auth, context.APIAuth to allow auth special routes (#16086) 3 years ago
avatar Add Image Diff for SVG files (#14867) 3 years ago
base Fixed assert statements. (#16089) 3 years ago
cache [Vendor] Update go-redis to v8.5.0 (#13749) 3 years ago
charset Refactor renders (#15175) 3 years ago
context Add sso.Group, context.Auth, context.APIAuth to allow auth special routes (#16086) 3 years ago
convert Fix individual tests (addition to #15802) (#15818) 3 years ago
cron add cron job to delete old actions from database (#15688) 3 years ago
csv Refactor renders (#15175) 3 years ago
doctor Add err to log (#15813) 3 years ago
emoji Fix several render issues (#14986) 3 years ago
eventsource Hold the event source when there are no listeners (#15725) 3 years ago
generate Use single shared random string generation function (#15741) 3 years ago
git Fixed assert statements. (#16089) 3 years ago
gitgraph Fix bug on commit graph (#15517) 3 years ago
graceful Set self-adjusting deadline for connection writing (#16068) 3 years ago
hcaptcha hCaptcha Support (#12594) 4 years ago
highlight Allow custom highlight mapping beyond file extensions (#15808) 3 years ago
httpcache Add ETag header (#15370) 3 years ago
httplib fix webhook timeout bug (#15613) 3 years ago
indexer Fixed assert statements. (#16089) 3 years ago
lfs Fixed assert statements. (#16089) 3 years ago
log Fixed assert statements. (#16089) 3 years ago
markup Fix data URI scramble (#16098) 3 years ago
matchlist Add Allow-/Block-List for Migrate & Mirrors (#13610) 4 years ago
metrics Prometheus endpoint (#5256) 6 years ago
migrations Fixed assert statements. (#16089) 3 years ago
nosql Fix setting redis db path (#15698) 3 years ago
notification Don't manipulate input params in email notification (#16011) 3 years ago
options Add StatDir and replace com.StatDir (#14099) 4 years ago
password Fixed assert statements. (#16089) 3 years ago
pprof Add golangci (#6418) 5 years ago
private add a new internal hook to save ssh log (#15787) 3 years ago
process Code Formats, Nits & Unused Func/Var deletions (#15286) 3 years ago
public Improve assets handler middleware (#15961) 3 years ago
queue Fixed assert statements. (#16089) 3 years ago
recaptcha Migrate to use jsoniter instead of encoding/json (#14841) 3 years ago
references Respect default merge message syntax when parsing item references (#15772) 3 years ago
repofiles Code Formats, Nits & Unused Func/Var deletions (#15286) 3 years ago
repository Fixed assert statements. (#16089) 3 years ago
secret Use single shared random string generation function (#15741) 3 years ago
session Migrate to use jsoniter instead of encoding/json (#14841) 3 years ago
setting Set self-adjusting deadline for connection writing (#16068) 3 years ago
ssh Set self-adjusting deadline for connection writing (#16068) 3 years ago
storage Code Formats, Nits & Unused Func/Var deletions (#15286) 3 years ago
structs Add Active and ProhibitLogin to API (#15689) 3 years ago
svg Fix filepath basename on Windows for SVG bindata (#12241) 4 years ago
sync Fix missing unlock in uniquequeue (#9790) 5 years ago
task Encrypt migration credentials at rest (#15895) 3 years ago
templates Fix incorrect asset URL (#15805) 3 years ago
test Move middlewares to web/middleware (#14480) 3 years ago
timeutil Fix display since time round (#14226) 3 years ago
translation Use index of the supported tags to choose user lang (#15452) 3 years ago
typesniffer Add Image Diff for SVG files (#14867) 3 years ago
upload Update golangci-lint to version 1.31.0 (#13102) 4 years ago
uri Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
user Add gitea-vet (#10948) 4 years ago
util Use single shared random string generation function (#15741) 3 years ago
validation Move macaron to chi (#14293) 3 years ago
web Fix setting of SameSite on cookies (#15989) 3 years ago