aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/UuidGatherer.cs25
1 files changed, 15 insertions, 10 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index 548aa3a..46ce2ce 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes
66 /// <value>The gathered uuids.</value> 66 /// <value>The gathered uuids.</value>
67 public IDictionary<UUID, sbyte> GatheredUuids { get; private set; } 67 public IDictionary<UUID, sbyte> GatheredUuids { get; private set; }
68 public HashSet<UUID> FailedUUIDs { get; private set; } 68 public HashSet<UUID> FailedUUIDs { get; private set; }
69 69 public int ErrorCount { get; private set; }
70 /// <summary> 70 /// <summary>
71 /// Gets the next UUID to inspect. 71 /// Gets the next UUID to inspect.
72 /// </summary> 72 /// </summary>
@@ -103,7 +103,7 @@ namespace OpenSim.Region.Framework.Scenes
103 /// Asset service. 103 /// Asset service.
104 /// </param> 104 /// </param>
105 /// <param name="collector"> 105 /// <param name="collector">
106 /// Gathered UUIDs will be collected in this dictinaory. 106 /// Gathered UUIDs will be collected in this dictionary.
107 /// It can be pre-populated if you want to stop the gatherer from analyzing assets that have already been fetched and inspected. 107 /// It can be pre-populated if you want to stop the gatherer from analyzing assets that have already been fetched and inspected.
108 /// </param> 108 /// </param>
109 public UuidGatherer(IAssetService assetService, IDictionary<UUID, sbyte> collector, HashSet <UUID> failedIDs) 109 public UuidGatherer(IAssetService assetService, IDictionary<UUID, sbyte> collector, HashSet <UUID> failedIDs)
@@ -114,6 +114,7 @@ namespace OpenSim.Region.Framework.Scenes
114 // FIXME: Not efficient for searching, can improve. 114 // FIXME: Not efficient for searching, can improve.
115 m_assetUuidsToInspect = new Queue<UUID>(); 115 m_assetUuidsToInspect = new Queue<UUID>();
116 FailedUUIDs = failedIDs; 116 FailedUUIDs = failedIDs;
117 ErrorCount = 0;
117 } 118 }
118 119
119 /// <summary> 120 /// <summary>
@@ -232,9 +233,6 @@ namespace OpenSim.Region.Framework.Scenes
232 catch (Exception e) 233 catch (Exception e)
233 { 234 {
234 m_log.ErrorFormat("[UUID GATHERER]: Failed to get part - {0}", e); 235 m_log.ErrorFormat("[UUID GATHERER]: Failed to get part - {0}", e);
235 m_log.DebugFormat(
236 "[UUID GATHERER]: Texture entry length for prim was {0} (min is 46)",
237 part.Shape.TextureEntry.Length);
238 } 236 }
239 } 237 }
240 } 238 }
@@ -286,14 +284,14 @@ namespace OpenSim.Region.Framework.Scenes
286 private void GetAssetUuids(UUID assetUuid) 284 private void GetAssetUuids(UUID assetUuid)
287 { 285 {
288 if(FailedUUIDs.Contains(assetUuid)) 286 if(FailedUUIDs.Contains(assetUuid))
287 {
288 ErrorCount++;
289 return; 289 return;
290 }
290 291
291 // avoid infinite loops 292 // avoid infinite loops
292 if (GatheredUuids.ContainsKey(assetUuid)) 293 if (GatheredUuids.ContainsKey(assetUuid))
293 {
294 FailedUUIDs.Add(assetUuid);
295 return; 294 return;
296 }
297 295
298 AssetBase assetBase; 296 AssetBase assetBase;
299 try 297 try
@@ -303,13 +301,15 @@ namespace OpenSim.Region.Framework.Scenes
303 catch (Exception e) 301 catch (Exception e)
304 { 302 {
305 m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset {0} : {1}", assetUuid, e.Message); 303 m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset {0} : {1}", assetUuid, e.Message);
304 ErrorCount++;
306 FailedUUIDs.Add(assetUuid); 305 FailedUUIDs.Add(assetUuid);
307 return; 306 return;
308 } 307 }
309 308
310 if(assetBase == null) 309 if(assetBase == null)
311 { 310 {
312 m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid); 311// m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid);
312 ErrorCount++;
313 FailedUUIDs.Add(assetUuid); 313 FailedUUIDs.Add(assetUuid);
314 return; 314 return;
315 } 315 }
@@ -318,7 +318,8 @@ namespace OpenSim.Region.Framework.Scenes
318 318
319 if(assetBase.Data == null || assetBase.Data.Length == 0) 319 if(assetBase.Data == null || assetBase.Data.Length == 0)
320 { 320 {
321 m_log.ErrorFormat("[UUID GATHERER]: asset {0}, type {1} has no data", assetUuid, assetType); 321// m_log.ErrorFormat("[UUID GATHERER]: asset {0}, type {1} has no data", assetUuid, assetType);
322 ErrorCount++;
322 FailedUUIDs.Add(assetUuid); 323 FailedUUIDs.Add(assetUuid);
323 return; 324 return;
324 } 325 }
@@ -355,6 +356,7 @@ namespace OpenSim.Region.Framework.Scenes
355 { 356 {
356 m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset with id {0} type {1}: {2}", assetUuid, assetType, e.Message); 357 m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset with id {0} type {1}: {2}", assetUuid, assetType, e.Message);
357 GatheredUuids.Remove(assetUuid); 358 GatheredUuids.Remove(assetUuid);
359 ErrorCount++;
358 FailedUUIDs.Add(assetUuid); 360 FailedUUIDs.Add(assetUuid);
359 } 361 }
360 } 362 }
@@ -363,7 +365,10 @@ namespace OpenSim.Region.Framework.Scenes
363 { 365 {
364 // Here, we want to collect uuids which require further asset fetches but mark the others as gathered 366 // Here, we want to collect uuids which require further asset fetches but mark the others as gathered
365 if(FailedUUIDs.Contains(assetUuid)) 367 if(FailedUUIDs.Contains(assetUuid))
368 {
369 ErrorCount++;
366 return; 370 return;
371 }
367 if(GatheredUuids.ContainsKey(assetUuid)) 372 if(GatheredUuids.ContainsKey(assetUuid))
368 return; 373 return;
369 try 374 try