diff options
author | UbitUmarov | 2017-06-24 02:01:48 +0100 |
---|---|---|
committer | UbitUmarov | 2017-06-24 02:01:48 +0100 |
commit | 191661b51d31254419e9b442ec12953772821ac3 (patch) | |
tree | 41e32cf5889e96e6284677809ca2230b8066fdad /OpenSim/Region/CoreModules/World | |
parent | code actually has no ideia if a id is a asset or not and does try to handle ... (diff) | |
download | opensim-SC-191661b51d31254419e9b442ec12953772821ac3.zip opensim-SC-191661b51d31254419e9b442ec12953772821ac3.tar.gz opensim-SC-191661b51d31254419e9b442ec12953772821ac3.tar.bz2 opensim-SC-191661b51d31254419e9b442ec12953772821ac3.tar.xz |
a few more changes to iar/oar assets save error/warning to show problems known to be asset errors
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 0ed3399..11c53d7 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | |||
@@ -182,11 +182,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
182 | 182 | ||
183 | Dictionary<UUID, sbyte> assetUuids = new Dictionary<UUID, sbyte>(); | 183 | Dictionary<UUID, sbyte> assetUuids = new Dictionary<UUID, sbyte>(); |
184 | HashSet<UUID> failedIDs = new HashSet<UUID>(); | 184 | HashSet<UUID> failedIDs = new HashSet<UUID>(); |
185 | HashSet<UUID> uncertainAssetsUUIDs = new HashSet<UUID>(); | ||
185 | 186 | ||
186 | scenesGroup.ForEachScene(delegate(Scene scene) | 187 | scenesGroup.ForEachScene(delegate(Scene scene) |
187 | { | 188 | { |
188 | string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; | 189 | string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; |
189 | ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs); | 190 | ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs, uncertainAssetsUUIDs); |
190 | }); | 191 | }); |
191 | 192 | ||
192 | // Archive the assets | 193 | // Archive the assets |
@@ -217,7 +218,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
217 | } | 218 | } |
218 | } | 219 | } |
219 | 220 | ||
220 | private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary<UUID, sbyte> assetUuids, HashSet<UUID> failedIDs) | 221 | private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary<UUID, sbyte> assetUuids, |
222 | HashSet<UUID> failedIDs, HashSet<UUID> uncertainAssetsUUIDs) | ||
221 | { | 223 | { |
222 | m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); | 224 | m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); |
223 | 225 | ||
@@ -253,24 +255,28 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
253 | 255 | ||
254 | if (SaveAssets) | 256 | if (SaveAssets) |
255 | { | 257 | { |
256 | UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs); | 258 | UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs, uncertainAssetsUUIDs); |
257 | int prevAssets = assetUuids.Count; | 259 | int prevAssets = assetUuids.Count; |
258 | 260 | ||
259 | foreach (SceneObjectGroup sceneObject in sceneObjects) | 261 | foreach (SceneObjectGroup sceneObject in sceneObjects) |
260 | { | 262 | { |
261 | int curErrorCntr = assetGatherer.ErrorCount; | 263 | int curErrorCntr = assetGatherer.ErrorCount; |
264 | int possible = assetGatherer.possibleNotAssetCount; | ||
262 | assetGatherer.AddForInspection(sceneObject); | 265 | assetGatherer.AddForInspection(sceneObject); |
263 | assetGatherer.GatherAll(); | 266 | assetGatherer.GatherAll(); |
264 | curErrorCntr = assetGatherer.ErrorCount - curErrorCntr; | 267 | curErrorCntr = assetGatherer.ErrorCount - curErrorCntr; |
265 | if(curErrorCntr > 1) | 268 | possible = assetGatherer.possibleNotAssetCount - possible; |
269 | if(curErrorCntr > 0) | ||
266 | { | 270 | { |
267 | m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains {3} references to possible missing or damaged assets", | 271 | m_log.ErrorFormat("[ARCHIVER]: object {0} '{1}', at {2}, contains {3} references to missing or damaged assets", |
268 | sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), curErrorCntr); | 272 | sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), curErrorCntr); |
273 | if(possible > 0) | ||
274 | m_log.WarnFormat("[ARCHIVER Warning]: object also contains {0} references that may be to missing or damaged assets or not a problem", possible); | ||
269 | } | 275 | } |
270 | else if(curErrorCntr == 1) | 276 | else if(possible > 0) |
271 | { | 277 | { |
272 | m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains a reference to a possible missing or damaged assets", | 278 | m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains {3} references that may be to missing or damaged assets or not a problem", |
273 | sceneObject.UUID, sceneObject.Name, sceneObject.AbsolutePosition.ToString()); | 279 | sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), possible); |
274 | } | 280 | } |
275 | } | 281 | } |
276 | 282 | ||