diff options
author | Justin Clark-Casey (justincc) | 2013-06-28 19:11:44 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-06-28 19:11:44 +0100 |
commit | dc0455e217b8da3fc8bd49e959b57d6021312b77 (patch) | |
tree | 43d40dbb2cd9f7e685d967a740d7c102b433af3d /OpenSim | |
parent | Reinsert code for gathering uuids reference by materials back directly into U... (diff) | |
download | opensim-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Services/AssetService/XAssetService.cs | 7 |
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 |