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
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