Commit Graph

125 Commits (bb56157c92376845a0e1b7a57fbad805bd45e72f)

Author SHA1 Message Date
UbitUmarov bb56157c92 remove a forgotten gc collect on flotsam cache 2020-07-23 23:11:59 +01:00
UbitUmarov 6c5bf4ed25 useless cosmetics 2020-07-15 01:40:53 +01:00
UbitUmarov f32c0ead05 avoid c# fun things, plus cosmetics 2020-07-14 17:54:58 +01:00
UbitUmarov b2068fd39f give up calling gc.collect on flotsamcache. Did nothing visible and has negative side effects 2020-07-13 23:26:09 +01:00
UbitUmarov 541cb15751 fix a bug on flotsam getfilename 2020-07-11 20:03:31 +01:00
UbitUmarov af6fa37cc2 mantis 8675: flotsam cache only log missing files if log level >= 2 (thanks mewtwo0641 ) this log will include things that may not even be assets due to how gatherer works; change a bit filename composition 2020-07-09 16:27:11 +01:00
UbitUmarov 28fcbc65f9 add GC.collect to flotsam cache expire. This is ugly but so is GC 2020-07-07 17:35:27 +01:00
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 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 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