aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-03-10 02:03:07 +0000
committerJustin Clark-Casey (justincc)2012-03-10 02:03:07 +0000
commit16937996231aef5efa4c12fa51b84bc8273c76f7 (patch)
treea37b733462c546d1eacec389a743585fe0cbb1f7 /OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
parentAdd satguru and Fernando to contributors (diff)
downloadopensim-SC_OLD-16937996231aef5efa4c12fa51b84bc8273c76f7.zip
opensim-SC_OLD-16937996231aef5efa4c12fa51b84bc8273c76f7.tar.gz
opensim-SC_OLD-16937996231aef5efa4c12fa51b84bc8273c76f7.tar.bz2
opensim-SC_OLD-16937996231aef5efa4c12fa51b84bc8273c76f7.tar.xz
On OAR saving, try fetch assets serially rather than firing all the requests at the asset service at once.
This may (or may not) improve reliability for http://opensimulator.org/mantis/view.php?id=5898 Quick tests show that save time is the same.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs17
1 files changed, 12 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
index ffcf063..aef3ad3 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
@@ -219,12 +219,19 @@ namespace OpenSim.Region.CoreModules.World.Archiver
219 m_log.InfoFormat("[ARCHIVER]: Added control file to archive."); 219 m_log.InfoFormat("[ARCHIVER]: Added control file to archive.");
220 220
221 if (SaveAssets) 221 if (SaveAssets)
222 new AssetsRequest( 222 {
223 new AssetsArchiver(archiveWriter), assetUuids, 223 AssetsRequest ar
224 m_scene.AssetService, m_scene.UserAccountService, 224 = new AssetsRequest(
225 m_scene.RegionInfo.ScopeID, options, awre.ReceivedAllAssets).Execute(); 225 new AssetsArchiver(archiveWriter), assetUuids,
226 m_scene.AssetService, m_scene.UserAccountService,
227 m_scene.RegionInfo.ScopeID, options, awre.ReceivedAllAssets);
228
229 Util.FireAndForget(o => ar.Execute());
230 }
226 else 231 else
227 awre.ReceivedAllAssets(new List<UUID>(), new List<UUID>()); 232 {
233 Util.FireAndForget(o => awre.ReceivedAllAssets(new List<UUID>(), new List<UUID>()));
234 }
228 } 235 }
229 catch (Exception) 236 catch (Exception)
230 { 237 {