summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2016-04-13 22:40:49 +0100
committerRider Linden <rider@lindenlab.com>2016-04-13 22:40:49 +0100
commit118e82e4775c88ace273d6012b5def8b9f19d08f (patch)
treef5d1d87e5a41170c0daefaa5c54c4f6b0abfbdb3
parentfe256500341856cce282b020857ebc8d30d05258 (diff)
MAINT-6305: Serialize the AIS calls by reducing the queue size to 1, move the bake request out of the AIS queue.
-rw-r--r--indra/llmessage/llcoproceduremanager.cpp3
-rwxr-xr-xindra/newview/app_settings/settings.xml2
-rwxr-xr-xindra/newview/llappearancemgr.cpp14
-rwxr-xr-xindra/newview/llappearancemgr.h5
-rwxr-xr-xindra/newview/llvoavatar.cpp2
5 files changed, 23 insertions, 3 deletions
diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp
index f0fe1ab01b..d4c0788b7d 100644
--- a/indra/llmessage/llcoproceduremanager.cpp
+++ b/indra/llmessage/llcoproceduremanager.cpp
@@ -36,7 +36,8 @@
static std::map<std::string, U32> DefaultPoolSizes =
boost::assign::map_list_of
(std::string("Upload"), 1)
- (std::string("AIS"), 25);
+ (std::string("AIS"), 1);
+ // *TODO: Rider for the moment keep AIS calls serialized otherwise the COF will tend to get out of sync.
#define DEFAULT_POOL_SIZE 5
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index c4a8fe3532..07569aaaac 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -14446,7 +14446,7 @@
<key>Type</key>
<string>U32</string>
<key>Value</key>
- <integer>25</integer>
+ <integer>1</integer>
</map>
<key>PoolSizeUpload</key>
<map>
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index df56d7403c..be538b3c4c 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -3359,9 +3359,14 @@ void LLAppearanceMgr::requestServerAppearanceUpdate()
{
if (!mOutstandingAppearanceBakeRequest)
{
+#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
mRerequestAppearanceBake = false;
LLCoprocedureManager::CoProcedure_t proc = boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this, _1);
LLCoprocedureManager::instance().enqueueCoprocedure("AIS", "LLAppearanceMgr::serverAppearanceUpdateCoro", proc);
+#else
+ LLCoros::instance().launch("", boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this));
+
+#endif
}
else
{
@@ -3369,8 +3374,17 @@ void LLAppearanceMgr::requestServerAppearanceUpdate()
}
}
+#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter)
+#else
+void LLAppearanceMgr::serverAppearanceUpdateCoro()
+#endif
{
+#ifndef APPEARANCEBAKE_AS_IN_AIS_QUEUE
+ LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter(
+ new LLCoreHttpUtil::HttpCoroutineAdapter("serverAppearanceUpdateCoro", LLCore::HttpRequest::DEFAULT_POLICY_ID));
+#endif
+
mRerequestAppearanceBake = false;
if (!gAgent.getRegion())
{
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 74024abf67..bf181cb4ad 100755
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -228,7 +228,12 @@ public:
private:
+#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
void serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter);
+#else
+ void serverAppearanceUpdateCoro();
+#endif
+
static void debugAppearanceUpdateCOF(const LLSD& content);
std::string mAppearanceServiceURL;
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index f11e69bae6..21c38e9bc1 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7396,7 +7396,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
if( isSelf() )
{
- LL_WARNS("Avatar") << "this_update_cof_version " << this_update_cof_version
+ LL_DEBUGS("Avatar") << "this_update_cof_version " << this_update_cof_version
<< " last_update_request_cof_version " << last_update_request_cof_version
<< " my_cof_version " << LLAppearanceMgr::instance().getCOFVersion() << LL_ENDL;