FIRE-33337/BUG-234770 - Avoid rename issue caused by AIS version mismatch

This is a workaround to a wider problem, but the workaround is valid even when the current cause (too many calls to accountForUpdate)
master
Beq 2023-12-07 17:45:20 +00:00
parent 1cb6cca8c9
commit 430c8a766e
1 changed files with 9 additions and 1 deletions

View File

@ -1378,6 +1378,14 @@ void AISUpdate::parseCategory(const LLSD& category_map, S32 depth)
{
LL_WARNS() << "Got stale folder, known: " << curr_cat->getVersion()
<< ", received: " << version << LL_ENDL;
// <FS:Beq> workaround for rename issue until proper fix is in place
if( version < curr_cat->getVersion() )
{
// AIS version is considered canonical, so we need to refetch
curr_cat->setVersion(LLViewerInventoryCategory::VERSION_UNKNOWN);
curr_cat->fetch();
}
// </FS:Beq>
return;
}
@ -1644,7 +1652,7 @@ void AISUpdate::doUpdate()
checkTimeout();
// Do version/descendant accounting.
for (std::map<LLUUID,S32>::const_iterator catit = mCatDescendentDeltas.begin();
for (std::map<LLUUID,S32>::const_iterator catit = mCatDescendentDeltas.begin();
catit != mCatDescendentDeltas.end(); ++catit)
{
LL_DEBUGS("Inventory") << "descendant accounting for " << catit->first << LL_ENDL;