diff options
author | UbitUmarov | 2017-06-22 19:38:38 +0100 |
---|---|---|
committer | UbitUmarov | 2017-06-22 19:38:38 +0100 |
commit | 66c8b7202bff02753060e093712b7053acaf8358 (patch) | |
tree | 85504bec5fa11ac2084fbe9700da8644c56c5f20 | |
parent | avoid some broken object assets present in osgrid inventories due to past pr... (diff) | |
download | opensim-SC-66c8b7202bff02753060e093712b7053acaf8358.zip opensim-SC-66c8b7202bff02753060e093712b7053acaf8358.tar.gz opensim-SC-66c8b7202bff02753060e093712b7053acaf8358.tar.bz2 opensim-SC-66c8b7202bff02753060e093712b7053acaf8358.tar.xz |
split some asset uuids gather i stages with dif possible errors, and dont let them be fatal
-rw-r--r-- | OpenSim/Region/Framework/Scenes/UuidGatherer.cs | 77 |
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 | ||