aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2017-06-22 19:38:38 +0100
committerUbitUmarov2017-06-22 19:38:38 +0100
commit66c8b7202bff02753060e093712b7053acaf8358 (patch)
tree85504bec5fa11ac2084fbe9700da8644c56c5f20 /OpenSim/Region
parent avoid some broken object assets present in osgrid inventories due to past pr... (diff)
downloadopensim-SC_OLD-66c8b7202bff02753060e093712b7053acaf8358.zip
opensim-SC_OLD-66c8b7202bff02753060e093712b7053acaf8358.tar.gz
opensim-SC_OLD-66c8b7202bff02753060e093712b7053acaf8358.tar.bz2
opensim-SC_OLD-66c8b7202bff02753060e093712b7053acaf8358.tar.xz
split some asset uuids gather i stages with dif possible errors, and dont let them be fatal
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/UuidGatherer.cs77
1 files changed, 45 insertions, 32 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index bac069b..3ba67eb 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -284,45 +284,58 @@ namespace OpenSim.Region.Framework.Scenes
284 if (GatheredUuids.ContainsKey(assetUuid)) 284 if (GatheredUuids.ContainsKey(assetUuid))
285 return; 285 return;
286 286
287 AssetBase assetBase;
287 try 288 try
288 { 289 {
289 AssetBase assetBase = GetAsset(assetUuid); 290 assetBase = GetAsset(assetUuid);
291 }
292 catch (Exception e)
293 {
294 m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset id {0} : {1}", assetUuid, e.Message);
295 GatheredUuids.Remove(assetUuid);
296 return;
297 }
290 298
291 if (null != assetBase) 299 if(assetBase == null)
292 { 300 {
293 sbyte assetType = assetBase.Type; 301 m_log.ErrorFormat("[UUID GATHERER]: asset id {0} not found", assetUuid);
294 GatheredUuids[assetUuid] = assetType; 302 GatheredUuids.Remove(assetUuid);
303 return;
304 }
295 305
296 if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType) 306 sbyte assetType = assetBase.Type;
297 { 307 GatheredUuids[assetUuid] = assetType;
298 RecordWearableAssetUuids(assetBase); 308
299 } 309 try
300 else if ((sbyte)AssetType.Gesture == assetType) 310 {
301 { 311 if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType)
302 RecordGestureAssetUuids(assetBase); 312 {
303 } 313 RecordWearableAssetUuids(assetBase);
304 else if ((sbyte)AssetType.Notecard == assetType) 314 }
305 { 315 else if ((sbyte)AssetType.Gesture == assetType)
306 RecordTextEmbeddedAssetUuids(assetBase); 316 {
307 } 317 RecordGestureAssetUuids(assetBase);
308 else if ((sbyte)AssetType.LSLText == assetType) 318 }
309 { 319 else if ((sbyte)AssetType.Notecard == assetType)
310 RecordTextEmbeddedAssetUuids(assetBase); 320 {
311 } 321 RecordTextEmbeddedAssetUuids(assetBase);
312 else if ((sbyte)OpenSimAssetType.Material == assetType) 322 }
313 { 323 else if ((sbyte)AssetType.LSLText == assetType)
314 RecordMaterialAssetUuids(assetBase); 324 {
315 } 325 RecordTextEmbeddedAssetUuids(assetBase);
316 else if ((sbyte)AssetType.Object == assetType) 326 }
317 { 327 else if ((sbyte)OpenSimAssetType.Material == assetType)
318 RecordSceneObjectAssetUuids(assetBase); 328 {
319 } 329 RecordMaterialAssetUuids(assetBase);
330 }
331 else if ((sbyte)AssetType.Object == assetType)
332 {
333 RecordSceneObjectAssetUuids(assetBase);
320 } 334 }
321 } 335 }
322 catch (Exception) 336 catch (Exception e)
323 { 337 {
324 m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset id {0}", assetUuid); 338 m_log.ErrorFormat("[UUID GATHERER]: Failed to uuids for asset id {0} type {1}: {2}", assetUuid, assetType, e.Message);
325 throw;
326 } 339 }
327 } 340 }
328 341