aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-06-28 19:11:44 +0100
committerJustin Clark-Casey (justincc)2013-06-28 19:11:44 +0100
commitdc0455e217b8da3fc8bd49e959b57d6021312b77 (patch)
tree43d40dbb2cd9f7e685d967a740d7c102b433af3d /OpenSim
parentReinsert code for gathering uuids reference by materials back directly into U... (diff)
downloadopensim-SC_OLD-dc0455e217b8da3fc8bd49e959b57d6021312b77.zip
opensim-SC_OLD-dc0455e217b8da3fc8bd49e959b57d6021312b77.tar.gz
opensim-SC_OLD-dc0455e217b8da3fc8bd49e959b57d6021312b77.tar.bz2
opensim-SC_OLD-dc0455e217b8da3fc8bd49e959b57d6021312b77.tar.xz
In XAssetService, on a delete asset request also delete the asset in any chained service.
This eliminates the async migration since it causes a race condition with the "delete asset" console command
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/MySQL/MySQLXAssetData.cs2
-rw-r--r--OpenSim/Services/AssetService/XAssetService.cs7
2 files changed, 6 insertions, 3 deletions
diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs
index 8c93825..91389ce 100644
--- a/OpenSim/Data/MySQL/MySQLXAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs
@@ -199,6 +199,8 @@ namespace OpenSim.Data.MySQL
199 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks> 199 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks>
200 public void StoreAsset(AssetBase asset) 200 public void StoreAsset(AssetBase asset)
201 { 201 {
202// m_log.DebugFormat("[XASSETS DB]: Storing asset {0} {1}", asset.Name, asset.ID);
203
202 lock (m_dbLock) 204 lock (m_dbLock)
203 { 205 {
204 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) 206 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
diff --git a/OpenSim/Services/AssetService/XAssetService.cs b/OpenSim/Services/AssetService/XAssetService.cs
index 8a2ca7c..6047616 100644
--- a/OpenSim/Services/AssetService/XAssetService.cs
+++ b/OpenSim/Services/AssetService/XAssetService.cs
@@ -205,15 +205,16 @@ namespace OpenSim.Services.AssetService
205 if (!UUID.TryParse(id, out assetID)) 205 if (!UUID.TryParse(id, out assetID))
206 return false; 206 return false;
207 207
208 // Don't bother deleting from a chained asset service. This isn't a big deal since deleting happens 208 if (HasChainedAssetService)
209 // very rarely. 209 m_ChainedAssetService.Delete(id);
210 210
211 return m_Database.Delete(id); 211 return m_Database.Delete(id);
212 } 212 }
213 213
214 private void MigrateFromChainedService(AssetBase asset) 214 private void MigrateFromChainedService(AssetBase asset)
215 { 215 {
216 Util.FireAndForget(o => { Store(asset); m_ChainedAssetService.Delete(asset.ID); }); 216 Store(asset);
217 m_ChainedAssetService.Delete(asset.ID);
217 } 218 }
218 } 219 }
219} \ No newline at end of file 220} \ No newline at end of file