Up the transfer timeout of small meshes to 120S. This matches

the change made for MAINT-2347.  Large transfers are still
10 minutes.  Add/update to-do list and add some more info to
the FAQ in the Readme.
master
Monty Brandenberg 2013-09-27 17:22:31 -04:00
parent 200bea5b41
commit 56e2f11417
3 changed files with 23 additions and 3 deletions

View File

@ -653,4 +653,19 @@ HttpOperation::addAsReply: TRACE, ToReplyQueue, Handle: 086D3148
Q2. How's that data sharing with refcounts working for you?
A2. Meh.
A2. Meh. It does reduce memory churn and the frequency at which
free blocks must be moved between threads. But it's also a design
for static configuration and dynamic reconfiguration (not
requiring a restart) is favored. Creating new options for every
request isn't too bad, it a sequence of "new, fill, request,
release" for each requested operation. That in contrast to doing
the "new, fill, release" at startup. The bad comes in getting at
the source data. One rule in this work was "no new thread
problems." And one source for those is pulling setting values out
of gSettings in threads. None of that is thread safe though we
tend to get away with it.
Q3. What needs to be done?
A3. There's a To-Do list in _httpinternal.h. It has both large
and small projects here if someone would like to try changes.

View File

@ -66,6 +66,12 @@
// This won't help in the face of the router problems we've looked
// at, however. Detect starvation due to UDP activity and provide
// feedback to it.
// - Change the transfer timeout scheme. We're less interested in
// absolute time, in most cases, than in continuous progress.
// - Many of the policy class settings are currently applied to the
// entire class. Some, like connection limits, would be better
// applied to each destination target making multiple targets
// independent.
//
// Integration to-do list
// - LLTextureFetch still needs a major refactor. The use of
@ -75,7 +81,6 @@
// the main source file.
// - Expand areas of usage eventually leading to the removal of LLCurl.
// Rough order of expansion:
// . Mesh fetch [Underway]
// . Avatar names
// . Group membership lists
// . Caps access in general

View File

@ -351,7 +351,7 @@ const S32 REQUEST2_HIGH_WATER_MAX = 80;
const S32 REQUEST2_LOW_WATER_MIN = 16;
const S32 REQUEST2_LOW_WATER_MAX = 40;
const U32 LARGE_MESH_FETCH_THRESHOLD = 1U << 21; // Size at which requests goes to narrow/slow queue
const long SMALL_MESH_XFER_TIMEOUT = 60L; // Seconds to complete xfer, small mesh downloads
const long SMALL_MESH_XFER_TIMEOUT = 120L; // Seconds to complete xfer, small mesh downloads
const long LARGE_MESH_XFER_TIMEOUT = 600L; // Seconds to complete xfer, large downloads
// Maximum mesh version to support. Three least significant digits are reserved for the minor version,