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/setting
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
..
attachment.go Provide self-registering storage system (#12978) 4 years ago
cache.go Ensure memcache TTL cannot be over 30 days (#14592) 3 years ago
cors.go Movde dependents on macaron from modules/setting (#10050) 4 years ago
cron.go Allow extended config on cron settings (#12939) 4 years ago
cron_test.go Allow extended config on cron settings (#12939) 4 years ago
database.go When reinitialising DBConfig reset the database use flags (#13796) 4 years ago
database_sqlite.go Move database settings from models to setting (#7806) 5 years ago
database_test.go Move database settings from models to setting (#7806) 5 years ago
git.go Add pager to the branches page (#14202) 3 years ago
indexer.go Use filepath.ToSlash and Join in indexer defaults and queues (#15971) 3 years ago
indexer_test.go Restrict repository indexing by glob match (#7767) 5 years ago
lfs.go Unified custom config creation (#16012) 3 years ago
log.go add a new internal hook to save ssh log (#15787) 3 years ago
mailer.go Sendmail should create a process on the gitea system and have a default timeout (#11256) 4 years ago
markup.go Fix regression of renderer (#16091) 3 years ago
migrations.go Add Allow-/Block-List for Migrate & Mirrors (#13610) 4 years ago
mime_type_map.go Add mimetype mapping settings (#15133) 3 years ago
oauth2_client.go OAuth2 login: Set account link to "login" as default behavior (#15768) 3 years ago
picture.go add `/assets` as root dir of public files (#15219) 3 years ago
project.go Kanban board (#8346) 4 years ago
queue.go Use filepath.ToSlash and Join in indexer defaults and queues (#15971) 3 years ago
repository.go Disable Stars config option (#14653) 3 years ago
service.go Allow only internal registration (#15795) 3 years ago
session.go Add SameSite setting for cookies (#14900) 3 years ago
setting.go Set self-adjusting deadline for connection writing (#16068) 3 years ago
setting_test.go Migrate to use jsoniter instead of encoding/json (#14841) 3 years ago
storage.go more test case for STORAGE_TYPE overrides (and fixes) (#14096) 4 years ago
storage_test.go more test case for STORAGE_TYPE overrides (and fixes) (#14096) 4 years ago
task.go Avoid setitng the CONN_STR in queues unless it is meant to be set (#13025) 4 years ago
webhook.go Add Matrix webhook (#10831) 4 years ago