summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2013-09-12SH-4489 New debug/dev settings for control over new mesh behaviorMonty Brandenberg
While giving myself a full project code review, found a bug in the MeshUseGetMesh1 setting. Mostly defaulted to old configuration but used the GetMesh2 caps which would have been a huge DoS resource sink. Did some documentation maintenance as well while I was in there. More for the to-do list, etc.
2013-09-11SH-4490 More 'humane' error code presentation from llcorehttp callersMonty Brandenberg
Added toTerseString() conversion on HttpStatus to generate a string that's more descriptive than the hex value of the HttpStatus value but still forms a short, searchable token (e.g. "Http_503" or "Core_7"). Using this throughout the viewer now, no live cases of toHex(), I believe.
2013-09-11SH-4489 New debug/dev settings for control over new mesh behaviorMonty Brandenberg
Added 'MeshUseGetMesh1' and 'MeshUseHttpRetryAfter' debug settings to control mesh transport behavior. First forces the use of the legacy mesh fetch style with high concurrency and connection churn. The second, on by default, honors Retry-After values if they are reasonable. If off or unreasonable, internal delay times are used.
2013-09-06SH-4478 Corrected/updated error handling for all retrieval operations.Monty Brandenberg
In case of HTTP errors or parsing/processing errors, fail the fetch request rather than do a retry spin. Add logging for all such failure paths. Added a development/debug flag to create probabilistic failures to test these modes and general error recovery by higher-level layers.
2013-08-29Document the fast timer testing apparatus a bit.Monty Brandenberg
2013-08-29Merge. Pull in monty/viewer-drano-metrics. This will likely beMonty Brandenberg
the last time and that repo can soon be abandoned (QA function only).
2013-08-28Add conditional LLFastTimer blocks to stallable main thread methodsMonty Brandenberg
2013-08-26Merge. Pull in viewer-release after SSA merge.Monty Brandenberg
2013-08-26Merge. Refresh from viewer-release after SSA.Monty Brandenberg
2013-08-26increment viewer version to 3.6.5Oz Linden
2013-08-19merge changes for DRTVWR-285Oz Linden
2013-08-19merge changes for 3.6.3-releaseOz Linden
2013-08-19increment viewer version to 3.6.4Oz Linden
2013-08-19Add 'internal'/'external' token to DEBUG retry message so that dev/QAMonty Brandenberg
can know exactly where a retry value was sourced.
2013-08-16SH-4407 Tuning to get new code working as well.Monty Brandenberg
Do some runtime code avoidance and skip unnecessary libcurl and syscall invocations.
2013-08-15SH-4410 Internal Documentation. Update and correct the mutex/dataMonty Brandenberg
lists to reflect current. Describe the functional flow of things for a single LOD request. Put together to-do list for follow on work. Knock down the low/high water limits for GetMesh a bit, 100/200 too high, 75/150 should be better, vis-a-vis pathological failures.
2013-08-15MAINT-2938 FIXED [CHUI] crash in LLFloaterConversationPreview::showHistory()maksymsproductengine
2013-08-15MAINT-3012 FIXED Don't show Destination Guide by default on first run.Mnikolenko ProductEngine
2013-08-14BUG-3605 / CHUIBUG-197 Don't create excessive amounts of string objects in ↵Nicky
LLNormalTextSegment::getNumChars.
2013-08-13MAINT-2937 FIXED [CHUI] crash in LLToastIMPanelmaksymsproductengine
2013-08-07Create separate high/low water level limits for GetMesh andMonty Brandenberg
GetMesh2 capabilities. They should be independent now.
2013-08-07merge changes for DRTVWR-333Oz Linden
2013-08-06SH-4411 Thread/mutex rework between main and worker threadMonty Brandenberg
Have the ::notifyLoadedMeshes() method doing correct locking and stall avoidance at the same time. This method now does lazy mutex lock acquisition (trylock()) and if it fails on either, it gives up and comes back later. Capture the maximum number of sequential failures and report this at the end of the run in the log. (So far, with big mesh regions, I've only seen 1s and 2s.) Locking/mutex requirements sorted in other locations as well. LLMutex gets trylock() method as well as new LLMutexTrylock scoped locking class. Clean up some documentation, more to do.
2013-08-05Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2013-08-05CHOP-951, IQA-1477: Validate args for numeric command-line switches.Nat Goodspeed
The logic in llcommandlineparser.cpp's setControlValueCB() callback function for converting command-line switch argument values from string to the actual type of the map-to settings variable had a couple special cases for boolean and LLSD array. But for S32, U32 and F32, it simply used default LLSD string-to-numeric conversion. LLSD's string-to-numeric conversion is a bit lame: for non-numeric strings, it shrugs and returns 0. Introduce onevalue() and badvalue() helper functions that, like certain errors during command-line parsing, throw LLCLPError. Use them to streamline certain redundancies in setControlValueCB(). Introduce convertTo<T>() helper function that uses boost::lexical_cast() for slightly more stringent conversions. Add cases for U32, S32 and F32 targets. setControlValueCB() is actually called only by LLControlGroupCLP::notify(), not during actual command-line parsing. Make LLControlGroupCLP::notify() return bool. Make it catch LLCLPError, set the error for getErrorMessage() and return false on that exception. Package LLAppViewer::initConfiguration()'s response to initParseCommandLine() returning false as a new handleCommandLineError() function; invoke it both there and when LLControlGroupCLP::notify() returns false.
2013-08-05Added some simple counters to the mesh repository code and thenMonty Brandenberg
added a Mesh status line to the texture fetch console. Mesh is often in competition with textures and so the mesh information seems appropriate there. Do get a nice feel for progress and you definitely see when the throttles kick in.
2013-08-05Pull merge from lindenlab/viewer-releaseMerov Linden
2013-08-05Merge viewer-release with Vivox codesimon
2013-08-05merge changes for 3.6.2-releaseOz Linden
2013-08-05increment viewer version to 3.6.3Oz Linden
2013-08-05Change the setting for GetMesh2 meshes to Mesh2MaxConcurrentRequests.Monty Brandenberg
While linking GetMesh2 to the old setting was simpler from a user point-of-view, they really shouldn't be linked and the old one will go away. This one may be renamed to AssetMaxConcurrentRequests or something similar if we get to the mesh/texture unification step.
2013-08-02CHOP-959: merge --graphicslevel fix up to tipNat Goodspeed
2013-08-02CHOP-959: Honor --graphicslevel switch even on first viewer run.Nat Goodspeed
Previous CHOP-959 logic set a flag to remember that settings variable RenderQualityPerformance was set (by --graphicslevel), so it could be applied once LLViewerWindow is constructed. But on first viewer run, LLViewerWindow constructor calls LLFeatureManager::applyRecommendedSettings(), which resets that settings variable! So don't just set a flag, actually capture the requested RenderQualityPerformance value for later.
2013-08-01MAINT-2958 : "Mute Particle Owner" should be "Block Particle Owner"simon
2013-08-01MAINT-2949 : Objects across the sim border do not render when approached. Addedsimon
missing code block from previous change as per Dave P's advice
2013-07-30MAINT-2913: crash in LLCamera::AABBInFrustum. Tried to make array indexessimon
bullet-proof. Reviewed by Kelly
2013-07-30SH-4371 Reduce 22mS inter-connection latency.Monty Brandenberg
This really extended into the client-side request throttling. Moved this from llmeshrepository (which doesn't really want to do connection management) into llcorehttp. It's now a class option with configurable rate. This still isn't the right thing to do as it creates coupling between viewer and services. When we get to pipelining, this notion becomes invalid.
2013-07-30MAINT-2939 FIXED [CHUI] On Windows machine location address bar in viewer ↵maksymsproductengine
goes blank if location is selected and a menu item is seleted
2013-07-30Adding a non-code change to force a rebuild of the CHUI RC to avoid CHOP-100Steven Harrison (steven)
2013-07-29Slowest debug in the west.Aura Linden
2013-07-29I love issues that only reproduce via teamcityAura Linden
2013-07-29Reduce HTTP request retry log spam. Thought I'd done this in anMonty Brandenberg
earlier maintenance branch but the code never showed up. I'll do it again. Spam is still available by bumping 'CoreHttp' tag up to DEBUGS level logging. Needed for QA. Can also get this data from tracing.
2013-07-29SH-4371 Reduce 22mS inter-conenction latency on HTTP operations.Monty Brandenberg
Simple change dropped this value by 7-10mS or so. Any time we complete an operation on a transport pass, arrange to skip the run-loop sleep so that we fill a possible empty slot as quickly as possible. With pipelining, this kind of thing should become unnecessary but for now, we'll do this to increase throughput.
2013-07-29SH-4368 Adjust upload timeout parameters for slow networks.Monty Brandenberg
Generally sorted the mesh timeout parameters for maximum transport time (staying with default 30 for connect). 60S for normal meshes, 600S for large. Also documented default option values in httpoptions.h. Useful to have these. In the future, the timeouts might go into standard llsd options where they can be tracked a bit more.
2013-07-26CHOP-955: merge viewer_manifest.py file_list fixNat Goodspeed
2013-07-26CHOP-955: Include app_settings/settings_install.xml in file_list.Nat Goodspeed
viewer_manifest.py uses its base-class llmanifest.LLManifest.put_in_file() method to create several different files in the install image being marshalled. I based the logic to create settings_install.xml on that example. Unfortunately I failed to notice that after every existing call, the script also explicitly appended the newly-created file to self.file_list... which only matters on Windows. file_list is fed to the NSIS installer. Change put_in_file() method to implicitly append to self.file_list. Change every existing viewer_manifest.py call to pass new put_in_file(src=) param instead of explicitly appending to self.file_list.
2013-07-26Automated merge with ssh://hg.lindenlab.com/nat/viewer-chop-951Nat Goodspeed
2013-07-26CHOP-962: merge code-review fixes with viewer-releaseNat Goodspeed
2013-07-26CHOP-962: per code review, comment that other code relies on "Global".Nat Goodspeed
The comment advises grepping for "Global" rather than specifically pointing to llcontrol.cpp because that's NOT the only place that relies on the name "Global"! Besides, by the time someone does want to change the name, still other such dependencies could've crept in.
2013-07-25SH-4365 SH-4367 Conversion of mesh uploaders to llcorehttp.Monty Brandenberg
With this checkin, legacy LLCurl is out of the mesh code. Uploaders and responders are converted and functioning. Logging has been cleaned up throughout the code to use the macro form with tag/subtag capability. DEBUGS-level logging added for some upload path milestones. Better error information flow from failed responses to viewer alert boxes but I'd really, really like to do better here. Mesh upload problems are completely opaque as a user. Minor cleanups (removed dead members, method signatures tidied, less data conversion). Could almost call this complete, will likely have platform cleanups, however.