diff options
author | Cosmic Linden <cosmic@lindenlab.com> | 2022-06-07 11:42:51 -0700 |
---|---|---|
committer | Cosmic Linden <cosmic@lindenlab.com> | 2022-06-07 12:17:15 -0700 |
commit | 7908ae701f245f6c15602b23b2073f6c0fe3fdb8 (patch) | |
tree | a7623d7967114764919729d9ac6d77a8c870693a /indra/newview/llviewertexture.cpp | |
parent | a562f6fe51a527a66884a0919d217ebb42270cc0 (diff) |
SL-17489: Fix map tile log spam and resulting excessive invalid texture requests.
This was affecting map tiles that the agent is not allowed to see (HTTP error: 403 forbidden). The URLs of these map tile requests were then getting cleared, so when these map tiles were re-requested (up to 10 times per second, from LLViewerFetchedTexture::updateFetch), the request would use the wrong URL and get a 404.
Stay in DONE state if there is no new work to do, reducing unneeded requests for textures while leaving open the possibility to re-request a texture at different resolution. Alternatively, we could introduce a new FAILED state here. The current DONE state has nuance, and can either mean "texture loading failed" or "texture successfully loaded at a certain LOD." And a 4xx error is generally irrecoverable. Will strongly consider a FAILED state.
Also, don't clear the map URL, so that any future network requests for the map textures request the correct resource.
Diffstat (limited to 'indra/newview/llviewertexture.cpp')
-rw-r--r-- | indra/newview/llviewertexture.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 0544bceb9f..1deb4b5ca1 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -2192,8 +2192,11 @@ bool LLViewerFetchedTexture::updateFetch() mFetchPriority, mFetchDeltaTime, mRequestDeltaTime, mCanUseHTTP); } - // if createRequest() failed, we're finishing up a request for this UUID, - // wait for it to complete + // If createRequest() failed, that means one of two things: + // 1. We're finishing up a request for this UUID, so we + // should wait for it to complete + // 2. We've failed a request for this UUID, so there is + // no need to create another request } else if (mHasFetcher && !mIsFetching) { |