diff options
author | Justin Clark-Casey (justincc) | 2012-03-10 02:03:07 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-03-10 02:03:07 +0000 |
commit | 16937996231aef5efa4c12fa51b84bc8273c76f7 (patch) | |
tree | a37b733462c546d1eacec389a743585fe0cbb1f7 /OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs | |
parent | Add satguru and Fernando to contributors (diff) | |
download | opensim-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 'OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs | 17 |
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 | { |