diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 761fece..9500eb6 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | |||
@@ -181,11 +181,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
181 | // Archive the regions | 181 | // Archive the regions |
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 | 185 | ||
185 | scenesGroup.ForEachScene(delegate(Scene scene) | 186 | scenesGroup.ForEachScene(delegate(Scene scene) |
186 | { | 187 | { |
187 | string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; | 188 | string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; |
188 | ArchiveOneRegion(scene, regionDir, assetUuids); | 189 | ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs); |
189 | }); | 190 | }); |
190 | 191 | ||
191 | // Archive the assets | 192 | // Archive the assets |
@@ -196,6 +197,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
196 | 197 | ||
197 | AssetsRequest ar = new AssetsRequest( | 198 | AssetsRequest ar = new AssetsRequest( |
198 | new AssetsArchiver(m_archiveWriter), assetUuids, | 199 | new AssetsArchiver(m_archiveWriter), assetUuids, |
200 | failedIDs.Count, | ||
199 | m_rootScene.AssetService, m_rootScene.UserAccountService, | 201 | m_rootScene.AssetService, m_rootScene.UserAccountService, |
200 | m_rootScene.RegionInfo.ScopeID, options, null); | 202 | m_rootScene.RegionInfo.ScopeID, options, null); |
201 | ar.Execute(); | 203 | ar.Execute(); |
@@ -215,7 +217,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
215 | } | 217 | } |
216 | } | 218 | } |
217 | 219 | ||
218 | private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary<UUID, sbyte> assetUuids) | 220 | private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary<UUID, sbyte> assetUuids, HashSet<UUID> failedIDs) |
219 | { | 221 | { |
220 | m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); | 222 | m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); |
221 | 223 | ||
@@ -251,7 +253,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
251 | 253 | ||
252 | if (SaveAssets) | 254 | if (SaveAssets) |
253 | { | 255 | { |
254 | UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids); | 256 | UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs); |
255 | int prevAssets = assetUuids.Count; | 257 | int prevAssets = assetUuids.Count; |
256 | 258 | ||
257 | foreach (SceneObjectGroup sceneObject in sceneObjects) | 259 | foreach (SceneObjectGroup sceneObject in sceneObjects) |
@@ -259,12 +261,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
259 | 261 | ||
260 | assetGatherer.GatherAll(); | 262 | assetGatherer.GatherAll(); |
261 | 263 | ||
262 | m_log.DebugFormat( | ||
263 | "[ARCHIVER]: {0} scene objects to serialize requiring save of {1} assets", | ||
264 | sceneObjects.Count, assetUuids.Count - prevAssets); | ||
265 | int errors = assetGatherer.FailedUUIDs.Count; | 264 | int errors = assetGatherer.FailedUUIDs.Count; |
265 | m_log.DebugFormat( | ||
266 | "[ARCHIVER]: {0} region scene objects to save reference {1} assets", | ||
267 | sceneObjects.Count, assetUuids.Count - prevAssets + errors); | ||
266 | if(errors > 0) | 268 | if(errors > 0) |
267 | m_log.DebugFormat("[ARCHIVER]: aditional {0} assets have problems and will be ignored", errors); | 269 | m_log.DebugFormat("[ARCHIVER]: {0} of this assets have problems and will be ignored", errors); |
268 | } | 270 | } |
269 | 271 | ||
270 | if (numObjectsSkippedPermissions > 0) | 272 | if (numObjectsSkippedPermissions > 0) |