Commit Graph

90 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
6c312bce7f minor: Lower flotsam asset cache warning about not having a FlotsamCache.ini to debug
It's perfectly okay not to have this section.
2012-06-20 01:30:20 +01:00
Justin Clark-Casey (justincc)
e18686528e Use the more efficient HashSet instead of List for FlotasmAssetCache.m_CurrentlyWriting 2012-05-04 23:03:33 +01:00
Justin Clark-Casey (justincc)
dec6ad2933 Don't try and update the access time of a file that is actively being cached.
This may cause IOErrors on Windows.
Aims to help with http://opensimulator.org/mantis/view.php?id=6003
2012-05-04 22:57:33 +01:00
Justin Clark-Casey (justincc)
07e62df558 Add regression test for teleporting an agent between separated regions on the same simulator.
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Justin Clark-Casey (justincc)
749c3fef8a Change "help" to display categories/module list then "help <category/module>" to display commands in a category.
This is to deal with the hundred lines of command splurge when one previously typed "help"
Modelled somewhat on the mysql console
One can still type help <command> to get per command help at any point.
Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet).
Does not affect command parsing or any other aspects of the console apart from the help system.
Backwards compatible with existing modules.
2012-03-08 01:51:37 +00:00
Justin Clark-Casey (justincc)
9b3bbedeea refactor: rename some AssetHelpers.CreateAsset() methods to CreateNotecardAsset() 2011-10-22 00:13:46 +01:00
Justin Clark-Casey (justincc)
fd3a7ab70c minor: change some comment text in flotsam asset cache 2011-08-16 21:31:17 +01:00
Justin Clark-Casey (justincc)
8c95c83562 On Flotsam asset cache, go back to moving the file from the temporary location rather than copying.
Copying doesn't prevent IOExceptions on Windows due to file locking. (e.g. Mantis 5642, 5630).
So instead go back to moving the file, swallowing IOExceptions that occur just for the move due to competing caching threads or even different opensimulator instances.
2011-08-16 21:03:43 +01:00
Justin Clark-Casey (justincc)
dcb4b2de09 Fix a problem in the Flotsam asset cache where assets were being put into the memory cache even when it wasn't enabled.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5634
This is the most probable cause of the memory problems that people have been seeing in the past month.
This bug has been around since commit 5dc785b (4th July 2011).  Doh!  This is why regressions tests are such a good idea... :)
Many thanks to Nebadon for using git bisect to track down this bug, which made it a 5 minute fix.
2011-08-13 15:21:03 +01:00
Justin Clark-Casey (justincc)
dad1d6df18 rename TestHelper => TestHelpers for consistency 2011-08-06 00:31:03 +01:00
Justin Clark-Casey (justincc)
bda1a4be45 rename test SceneSetupHelpers -> SceneHelpers for consistency 2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc)
7d35bf8193 refactor: remove a sliver of unnecessary code 2011-08-05 22:45:42 +01:00
Justin Clark-Casey (justincc)
1a2518d19b Instead of moving the file to its final place when FlotsamCache writes to disk, copy it instead.
This is to eliminate IOException where two threads compete to cache the same file.
2011-08-05 19:57:47 +01:00
Robert Adams
74b23210a7 Fix Flotsam cache so it will use the disk cache if the memory cache is enabled 2011-08-02 23:44:40 +01:00
Justin Clark-Casey (justincc)
7791c1fd1e Replace the generic exception logging in flotsam asset cache with more specific stuff to return more information. 2011-07-30 01:35:22 +01:00
Justin Clark-Casey (justincc)
c4c6b457c3 correct misleading "fcache status" text - deep scans are not performed when this command is invoked. 2011-07-30 01:16:10 +01:00
Justin Clark-Casey (justincc)
af8773d6d0 Add TestClearCache() 2011-07-04 23:05:31 +01:00
Justin Clark-Casey (justincc)
cb02fc44f5 add TestExpireAsset() 2011-07-04 23:03:05 +01:00
Justin Clark-Casey (justincc)
f58de55c84 refactor: Move test setup code into setup method 2011-07-04 22:59:36 +01:00
Justin Clark-Casey (justincc)
bebc51a6e0 Make it possible to disable the file part of the flotsam asset cache
This matches the ability to disable the memory part
This is controlled through the FileCacheEnabled parameter in FlotsamCache.ini
Default is true, so existing installations are not affected.
Improved fcache command feedback when various caches are disabled.
Re-enabled test for flotsam cache with file caching disabled.
2011-07-04 22:51:47 +01:00
Justin Clark-Casey (justincc)
5dc785bbf2 refactor: Split file cache manipulation code into separate methods, as has already been done for the memory cache 2011-07-04 22:30:18 +01:00
Justin Clark-Casey (justincc)
46f5893d55 Add basic flotsam asset cache test for retrieved cached asset.
Disabled temporarily since file system caching disrupts subsequent test runs
2011-07-04 21:35:15 +01:00
Justin Clark-Casey (justincc)
9a62bfab0e If the flotsam asset cache console command "fcache clear" is specified on its own, clear both memory and file caches 2011-06-11 00:50:20 +01:00
Justin Clark-Casey (justincc)
b13b54c526 Make the internal flotsam asset cache defaults match config-include/FlotsamCache.ini.example. Enable the flotsam console commands even if FlotsamCache.ini isn't present.
For the most part, defaults are made to match those already in FlotsamCache.ini.example.
The one exception is that the 48 hour file timeout from the code is used instead of the 0 hours that was in the example file.  This can be tweaked if necessary.
Most importantly, the default cache directory is now ./assetcache (as in FlotsamCache.ini.example) rather than ./FlotsamAssetCache (as was the internal code default).
Therefore, if you were using flotasm without using the config file, then please rename your cache directory or start using the ini file and change the default there if you want to keep using your existing cache.
2011-06-11 00:04:21 +01:00
Justin Clark-Casey (justincc)
0f545abfc1 Make the file expiration defaults the same whether the whole [FLOTSAM ASSET CACHE] section is missing or just the particular config values 2011-02-25 01:31:38 +00:00
Justin Clark-Casey (justincc)
939c47ac52 instead of using different default memory expiration depending on whether there is a [FLOTSAM ASSET CACHE] section present at all, use the same default all the time
this simplifies the code
2011-02-25 01:25:38 +00:00
Justin Clark-Casey (justincc)
beff0ac32f log actual cache directory for FlotsamAssetCache instead of always logging the default 2011-02-25 01:18:43 +00:00
Justin Clark-Casey (justincc)
197cc3883f Fix bug where having no maximum memory cache timeout would cause the flotsam asset cache to try using Double.MaxValue, which would cause the underlying OpenMetaverse.ExpiringCache to choke.
There is probably an underlying bug to fix in ExpiringCache.
2011-02-25 01:16:47 +00:00
Melanie
766ce9a141 Add linden prim renderer and update libOMV 2010-10-04 00:10:08 +01:00
John Hurliman
3f6c4c150e * Adds IAssetService.GetCached() to allow asset fetching from the local cache only
* Adds GetTextureModule that implements the "GetTexture" capability, aka HTTP texture fetching. This is a significantly optimized path that does not require any server-side JPEG2000 decoding, texture priority queue, or UDP file transfer
* Sanity check for null reference in LLClientView.RefreshGroupMembership()
2010-04-08 12:31:44 -07:00
John Hurliman
33f5d0d1e9 * UuidGatherer now tracks asset types for assets it discovers. The asset types are inferred from context
* OAR saving will attempt to correct unknown asset types before writing broken assets to the OAR file
2010-03-15 14:17:17 -07:00
Justin Clark-Casey (justincc)
214b1351fb minor: Make FlotsamAssetCache default loglevel 0 to match that given in bin/config-include/FlotsamCache.ini.example 2010-02-19 21:18:03 +00:00
Jeff Ames
af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Justin Clark-Casey (justincc)
802a969267 Fix http://opensimulator.org/mantis/view.php?id=4224
This resolves the problem where eyes and hair would turn white on standalone configurations
When a client receives body part information, for some insane reason or other it always ends up uploading this back to the server and then immediately re-requesting it.
This should have been okay since we stored that asset in cache.  However, the standalone asset service connector was not checking this cache properly, so every time the client made the request for the asset it has just loaded it would get a big fat null back in the face, causing it to make clothes and hair white.
This bug did not affect grids since they use a different service connector.
2010-02-12 21:32:03 +00:00
Justin Clark-Casey (justincc)
68bb2dac45 Revert "Old OpenSim installations may have no AssetCaching setting in config-include/StandaloneCommon.ini [Modules] (or no [Modules] at all)"
This will be replaced by a better solution where an enabled baking module will fail if no cache is in place (same for dynamic texture modules)

This reverts commit 7058a4c259.
2010-02-05 19:21:27 +00:00
Justin Clark-Casey (justincc)
7058a4c259 Old OpenSim installations may have no AssetCaching setting in config-include/StandaloneCommon.ini [Modules] (or no [Modules] at all)
If this is the case, this patch makes CenomeAssetCache the default cache (which matches that selected in StandaloneCommon.ini.example)
Not having an asset cache may lead to a continual loop of appearance baking failures and cause dynamic textures not to work, among other effects
2010-02-05 18:09:27 +00:00
Justin Clark-Casey (justincc)
7b53067d6d Apply http://opensimulator.org/mantis/view.php?id=4548
Fix command params check on fcache expire <datetime>
Thanks coyled
2010-01-29 21:52:13 +00:00
Justin Clark-Casey (justincc)
a7af92d5d0 minor: remove some mono compiler warnings 2009-11-09 16:03:15 +00:00
John Hurliman
32ccd5bb40 * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to Util.FireAndForget()
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
2009-10-21 23:03:18 -07:00
John Hurliman
9a5e7222ce * Removing cruft left over from the conversion to the new texture sending and UDP code
* Changing the cache modules to only initialize the caches if they are actually enabled. Should save a bit of resources from unused cache systems
2009-10-20 10:33:23 -07:00
John Hurliman
fdce1be3db * Removed OpenSim.Data.NHibernate
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
Jeff Ames
0d29614ca1 Formatting cleanup. 2009-10-19 08:58:03 +09:00
Melanie
bf68dad643 0004246: [Patch] FlotsamAssetCache deep scan & cache
Thank you, mcortez.
2009-10-12 23:21:32 +01:00
Justin Clark-Casey (justincc)
2a19187e01 * minor: tweak asset cache logging levels downwards 2009-10-05 18:32:19 +01:00
Diva Canto
fe9cca64de Stream needs to be closed before the file can be moved... 2009-10-04 09:56:54 -07:00
Diva Canto
b803d5ab9b Make sure to close the file streams on the FlotsamCache, even if something fails. 2009-10-04 09:44:04 -07:00
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Diva Canto
eed8a61559 More small changes to FlotsamAssetCache as per mcortez' request. 2009-09-25 08:47:45 -07:00
Teravus Ovares (Dan Olivares)
dc3798ddc3 * Another Timer lock 2009-09-10 00:31:14 -04:00
Teravus Ovares (Dan Olivares)
df9f80aabd Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-09-09 16:20:46 -04:00