Commit Graph

105 Commits (3aae1d0918e5d9fe29c213cd05df3e95cd6e3c0e)

Author SHA1 Message Date
Melanie 0fd17c08ae Massive console refactor. Greatly simplify interface. 2019-08-20 23:28:59 +01:00
UbitUmarov 31633699cf mantis 8327: refix minor typos 2018-06-16 16:01:09 +01:00
UbitUmarov c3d2f2d119 mantis 8327: fix minor typos 2018-06-16 14:18:05 +01:00
UbitUmarov a22606a89f do not timeout floatsam assets caching thread 2018-02-02 11:47:19 +00:00
UbitUmarov f69e48bedc make SendCoarseLocations async, since it is http. Make some actions use thread from pool and not a new one. Threading does need a deep cleanup one of this days. This stops mantis 8183 warnings, but as side effect only 2017-06-09 17:32:07 +01:00
UbitUmarov 8f10db0a6a mantis 8181: don't try to delete contents of a non exitent folder 2017-05-26 05:32:59 +01:00
Melanie Thielker caaf9f7fc1 Squelch an error that happens when the asset cache was mounted RO.
Nothing we can do about that, blame Docker.
2017-03-31 14:38:40 +01:00
Melanie Thielker a5151bb337 Refactor asset handling as per Ubit's suggestion 2017-02-01 16:31:01 +00:00
Melanie Thielker 5a18ea31cf Make negative asset caching actually work
Also fixes some merge artefacts in HGAssetBroker where cached assets
were requested but not actually used and completely squelch a materials
debug message because there is nothing the user can do to fix it anyway.
2017-01-30 13:59:05 +00:00
Melanie Thielker b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
Melanie Thielker 07b48fd58c Add negative caching to flotsam cache. Prevents scripts from hammering the asset server 2016-12-29 15:47:46 +00:00
Melanie Thielker f021c64eb0 Refactor: Rename IImprovedAssetCache to IAssetCache as the old IAssetCache is long gone. 2016-12-29 12:34:09 +00:00
Melanie Thielker feca9fd153 Add an option to update the file access time even when an asset is found in cache.
When the cache is shared between multiple sims, it is often more
efficient to have a single expire job run from cron. Updating
file access times is vital to the functioning of such setups.
2016-12-29 11:53:38 +00:00
UbitUmarov c78da183b2 expire also from weak references 2016-12-29 03:25:12 +00:00
UbitUmarov 1ffcc59818 gc is also a unwanted cache, so use it. With this, memcache with short expires is no longer needed 2016-12-29 03:10:10 +00:00
UbitUmarov 293b65ac82 FloatSamCache: dont use slideexpire on current libovm expirecache. Change example settings to use memory cache with short expire time. ( 20% to 40% mem cache hit rates observed 2016-12-25 05:46:16 +00:00
UbitUmarov 2020cafc30 fix null ref on m_CacheCleanTimer control, add a gc.collect on manual floatsam fcache assets comand 2016-11-30 09:22:47 +00:00
UbitUmarov 1863bb29df slow down automatic floatsamAssetCache CleanupExpiredFiles LOT to reduce impact on simulation and to give GC more changes of preventing it from eating up all avaialble physcical memory on loaded machines. 2016-11-30 07:43:17 +00:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
Justin Clark-Casey (justincc) 08606ae409 Make the IteratingUuidGatherer the only UuidGatherer.
This UUID gatherer provides a superset of the previous gatherer's functionality
as it also allows the caller to control gathering iterations for load purposes.
2015-01-08 20:21:40 +00:00
Diva Canto 89c1ac4cff Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do. 2014-12-29 15:05:44 -08:00
Justin Clark-Casey (justincc) b0ff3236be Make "fache assets" console command more efficient by only updating access times on each cached asset once, not for every reference. 2014-12-05 00:09:01 +00:00
Justin Clark-Casey (justincc) 9dbe99af0f If "fcache assets" is executed, don't stop with an exception if there's an access violation if another thread is operating on the file at the same time.
Resolves one issue from http://opensimulator.org/mantis/view.php?id=7271
2014-12-04 01:53:42 +00:00
Justin Clark-Casey (justincc) ad91143880 refactor: breakout flotasm cache last file access time to separate UpdateFileLastAccessTime() method for imminent reuse. 2014-12-04 01:51:01 +00:00
Justin Clark-Casey (justincc) c36bfdc60f Don't worry about checking FlotsamAssetCache.m_CurrentlyWriting when updating access time.
The majority of updates won't be for anything currently writing and any sharing exception from an actual clash can be caught and ignored anyway.
2014-12-04 01:46:00 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 41f2f3132b For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
Melanie Thielker 4f7acc4c2c Expect a missing directory, the asset cache is shared. Prevent spew if
two nodes run cleanup at the same time.
2014-08-18 17:14:51 +02:00
Oren Hurvitz d1c3f8eef5 Added assets service method AssetsExist(), which returns whether the given list of assets exist.
This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
2014-04-02 06:30:57 +01:00
Oren Hurvitz 7a47c15edb - Increased the threadpool timeout to 10 minutes
- Changed a few places that launch long-lasting threads to skip the timeout altogether
2014-03-26 20:34:55 +01:00
Oren Hurvitz 3018b2c5d7 Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default
Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'.
2014-01-20 00:38:42 -08:00
Justin Clark-Casey (justincc) 0cbe5f8424 Remove redundant methods in FlotsamAssetCache 2014-01-18 00:55:49 +00:00
Justin Clark-Casey (justincc) ee8ba1ab9a Simplify FlotsamAssetCache.CheckFromMemoryCache() 2014-01-18 00:21:53 +00:00
Justin Clark-Casey (justincc) 97fbb8ed45 Elminate some copy/paste in FlotsamAssetCache.CheckFromFileCache() and use using() construct to ensure filestream is always closed 2014-01-18 00:12:12 +00:00
Justin Clark-Casey (justincc) 12bfce7b9f elminate unnecessary asset != null check in FlotsamAssetCache.UpdateFileCache()
Passed in asset is always not null
2014-01-18 00:06:12 +00:00
Melanie 5b73b9c4a8 Committing the Avination Scene Presence and related texture code
- Parts of region crossing code
- New bakes handling code
- Bakes now sent from sim to sim without central storage
- Appearance handling changes
- Some changes to sitting
- A number of unrelated fixes and improvements
2013-12-11 01:39:56 +00:00
Justin Clark-Casey (justincc) fdd1c63c3c Make "fcache status" command also display information on disk/mem cache hit rate that is currently only displayed if LogLevel >=1 in [AssetCache] config 2013-10-30 18:57:51 +00:00
Justin Clark-Casey (justincc) 28f36d8db5 Put fcache commands output to console, not log 2013-10-30 18:32:53 +00:00
Justin Clark-Casey (justincc) 9fee431cc8 In the flotasm asset cache, if we get a request for a file that we're actively writing, simply return null instead of first logging an exception. 2013-03-30 01:21:16 +00:00
Justin Clark-Casey (justincc) b08977ea7d Don't allow exceptions to propogate from FlotsamAssetCache which may occur when deleting expired files or stamping the region status file.
Changes various error level log lines to warn since these are not fatal to the operation of OpenSimulator
2013-02-08 21:21:20 +00:00
Justin Clark-Casey (justincc) 9822bb664b Log missing assets on "fcache assets" found. This ignores references found by scanning LSL/notecard files since these are the source of false positives.
This also changes UuidGatherer to reutn an AssetType.Unknown for embedded script/lsl references instead of Texture, since these are often not textures.
This is added to help people in determining when they have missing assets such as textures, etc.
In this case, one wants to run "fcache clear" first.
2013-02-02 02:57:38 +00:00
Diva Canto c88e6fb445 Possibly fixes mantis #6429 (Flotsam cache having a null ref to the asset service) 2012-11-14 07:50:19 -08:00
Diva Canto 86903f23dd Cleanup on region modules: gave short node id's to all of them. 2012-11-12 18:08:02 -08:00
Diva Canto 5fb5758103 Cleaning up some confusion with Addin names introduced in a prior commit. Also the Flotsam cache module was being given a different Addin name, I removed that. 2012-11-10 15:54:11 -08:00
Justin Clark-Casey (justincc) d5c8c6bc12 For FlotsamAssetCache, always update access times of cached scene assets before looking for files to expire.
This is to resolve a problem where an asset marked as local but not temporary but still used in the scene would be removed.
The timed expiry scan no longer tries to refetch assets from the scene that are not currently in the cache - this is not helpful since it just drags a lot of data into the cache that may never be referenced.
This removes the DeepScanBeforePurge option since setting this to false will introduce the above problem.  This previously had a default of true.
2012-09-15 01:08:15 +01:00
BlueWall bf56b30024 Adjust namespce of FlotsamCache
Place FloatsamCache in the same namespace as our other core asset caches
2012-09-09 14:35:48 -04:00
BlueWall 8321ecb7a2 Revert "Move addin information to CoreModulePlugin.addin.xml"
This reverts commit 2ec34580ce.

  Moving the attributes for mono addins back to the source file - this also fixes http://opensimulator.org/mantis/view.php?id=6278.
2012-09-09 13:50:44 -04:00
BlueWall 2ec34580ce Move addin information to CoreModulePlugin.addin.xml
Move the addin information from attributes in the source file to the CoreModulePlugin.xml, which is the standard. This will help us automate addin version dependency information when we make new OpenSim releases.
2012-09-07 10:18:00 -04:00
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