split some asset uuids gather i stages with dif possible errors, and dont let them be fatal

0.9.0-post-fixes
UbitUmarov 2017-06-22 19:38:38 +01:00
parent 11d3860781
commit 66c8b7202b
1 changed files with 45 additions and 32 deletions

View File

@ -284,15 +284,30 @@ namespace OpenSim.Region.Framework.Scenes
if (GatheredUuids.ContainsKey(assetUuid)) if (GatheredUuids.ContainsKey(assetUuid))
return; return;
AssetBase assetBase;
try try
{ {
AssetBase assetBase = GetAsset(assetUuid); assetBase = GetAsset(assetUuid);
}
if (null != assetBase) catch (Exception e)
{ {
m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset id {0} : {1}", assetUuid, e.Message);
GatheredUuids.Remove(assetUuid);
return;
}
if(assetBase == null)
{
m_log.ErrorFormat("[UUID GATHERER]: asset id {0} not found", assetUuid);
GatheredUuids.Remove(assetUuid);
return;
}
sbyte assetType = assetBase.Type; sbyte assetType = assetBase.Type;
GatheredUuids[assetUuid] = assetType; GatheredUuids[assetUuid] = assetType;
try
{
if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType) if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType)
{ {
RecordWearableAssetUuids(assetBase); RecordWearableAssetUuids(assetBase);
@ -318,11 +333,9 @@ namespace OpenSim.Region.Framework.Scenes
RecordSceneObjectAssetUuids(assetBase); RecordSceneObjectAssetUuids(assetBase);
} }
} }
} catch (Exception e)
catch (Exception)
{ {
m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset id {0}", assetUuid); m_log.ErrorFormat("[UUID GATHERER]: Failed to uuids for asset id {0} type {1}: {2}", assetUuid, assetType, e.Message);
throw;
} }
} }