Reinstate insertion of "Unknown UserUMMAU4" now, as naive removing may be generating too many repeating user requests from other sources.

Leaves in the dropping of the client GUN8 (now 9) uuid binding message, since this was the much more common case from the viewer-side and this can only affect viewers.
varregion
Justin Clark-Casey (justincc) 2013-09-17 01:20:55 +01:00
parent 845d2b193a
commit 1d2466889a
1 changed files with 31 additions and 35 deletions

View File

@ -388,10 +388,10 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
else
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Unable to parse UUI {0}", uInfo.UserID);
}
// else
// {
// m_log.DebugFormat("[USER MANAGEMENT MODULE]: No grid user found for {0}", uuid);
// }
else
{
m_log.DebugFormat("[USER MANAGEMENT MODULE]: No grid user found for {0}", uuid);
}
names[0] = "Unknown";
names[1] = "UserUMMTGUN9";
@ -552,24 +552,24 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
if (oldUser != null)
{
// if (creatorData == null || creatorData == String.Empty)
// {
// //ignore updates without creator data
// return;
// }
//
// //try update unknown users, but don't update anyone else
// if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown"))
// {
// lock (m_UserCache)
// m_UserCache.Remove(id);
// m_log.DebugFormat("[USER MANAGEMENT MODULE]: Re-adding user with id {0}, creatorData [{1}] and old HomeURL {2}", id, creatorData, oldUser.HomeURL);
// }
// else
// {
if (creatorData == null || creatorData == String.Empty)
{
//ignore updates without creator data
return;
}
//try update unknown users, but don't update anyone else
if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown"))
{
lock (m_UserCache)
m_UserCache.Remove(id);
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Re-adding user with id {0}, creatorData [{1}] and old HomeURL {2}", id, creatorData, oldUser.HomeURL);
}
else
{
//we have already a valid user within the cache
return;
// }
}
}
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, id);
@ -605,22 +605,18 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
if (parts.Length >= 2)
user.FirstName = parts[1].Replace(' ', '.');
AddUserInternal(user);
}
else
{
// Temporarily add unknown user entries of this type into the cache so that we can distinguish
// this source from other recent (hopefully resolved) bugs that fail to retrieve a user name binding
// TODO: Can be removed when GUN* unknown users have definitely dropped significantly or
// disappeared.
user.FirstName = "Unknown";
user.LastName = "UserUMMAU4";
}
// To avoid issues with clients, particularly Hypergrid ones, permanently caching
// UUID -> "Unknown User" name bindings, elsewhere we will drop such requests rather than replying.
// This also means that we cannot add an unknown user binding to the cache here.
// else
// {
// // Temporarily add unknown user entries of this type into the cache so that we can distinguish
// // this source from other recent (hopefully resolved) bugs that fail to retrieve a user name binding
// // TODO: Can be removed when GUN* unknown users have definitely dropped significantly or
// // disappeared.
// user.FirstName = "Unknown";
// user.LastName = "UserUMMAU4";
// }
AddUserInternal(user);
}
}