Commit Graph

162 Commits

Author SHA1 Message Date
UbitUmarov
7ef69edf33 flotsam: also expire weakreferences 2020-06-04 19:52:34 +01:00
UbitUmarov
301f28cfd4 add some heap variation to floatsam optional cache expire log 2020-06-03 14:34:11 +01:00
UbitUmarov
4fa8e20aab add more cooldown to flotsam cache files expire 2020-05-18 00:20:28 +01:00
UbitUmarov
c63fabe054 well and it does get all assets, grrr 2020-05-12 04:19:45 +01:00
UbitUmarov
48df8869e8 duuhh windows does not update lastaccesstime 2020-05-12 03:03:31 +01:00
UbitUmarov
6a4564869b flotsam file touch before expire: gatherer.GatherAll already touchs and tries to fecth all assets. This is nasty to use anyway.. avoid it 2020-05-12 00:56:47 +01:00
UbitUmarov
b292950b1c fix a lock i missed.. 2020-03-11 16:04:02 +00:00
UbitUmarov
e4f7a1c07a a few missing files 2020-03-07 21:13:42 +00:00
UbitUmarov
033f6f889d a few changes to flotsam asset cache 2020-03-07 20:34:56 +00:00
UbitUmarov
3956fbe496 missed only line on last commit 2020-03-06 19:31:07 +00:00
UbitUmarov
98de42eedc flotsam: add comands deletedefaultassets to delete local default assets (on folder bin/assets) from cache so they can be refreshed from grid and cachedefaultassets to load those local assets into cache. This comands may cause desync with grid or other regions. Viewers will need to clear cache so see effects. Use with care 2020-03-06 19:20:12 +00:00
UbitUmarov
26b5affb04 FlotSamAssetcache write to disk needs be sync. 2019-11-01 15:00:22 +00:00
UbitUmarov
da0a8d6c43 remove some more useless NULL arguments 2019-10-22 12:39:50 +01:00
UbitUmarov
fc550e2b3e avoid potencial null ref 2019-09-03 15:21:25 +01:00
Melanie
0fd17c08ae Massive console refactor. Greatly simplify interface. 2019-08-20 23:28:59 +01:00
UbitUmarov
c98f4d0158 remove unmaintaned and obsolete GlynnTucker.Cache 2018-11-27 13:40:09 +00: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)
fc878a33ed refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +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
Justin Clark-Casey (justincc)
889194db63 Actually call Close() for shared region modules when the simulator is being shutdown.
Adds regression test for this case.
2014-07-02 23:49:25 +01: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