| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
| |
doesn't need to match the release version number, but I think it's a very good idea that they do.
|
|
|
|
| |
times on each cached asset once, not for every reference.
|
|
|
|
|
|
| |
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
|
|
|
|
| |
UpdateFileLastAccessTime() method for imminent reuse.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
- Changed a few places that launch long-lasting threads to skip the timeout altogether
|
|
|
|
|
|
| |
"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'.
|
| |
|
| |
|
|
|
|
| |
using() construct to ensure filestream is always closed
|
|
|
|
| |
Passed in asset is always not null
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
rate that is currently only displayed if LogLevel >=1 in [AssetCache] config
|
| |
|
|
|
|
| |
actively writing, simply return null instead of first logging an exception.
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
service)
|
| |
|
|
|
|
| |
Also the Flotsam cache module was being given a different Addin name, I removed that.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Place FloatsamCache in the same namespace as our other core asset caches
|
|
|
|
|
|
| |
This reverts commit 2ec34580ce3807cede97539488237040e1a8a6cc.
Moving the attributes for mono addins back to the source file - this also fixes http://opensimulator.org/mantis/view.php?id=6278.
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
to debug
It's perfectly okay not to have this section.
|
|
|
|
| |
FlotasmAssetCache.m_CurrentlyWriting
|
|
|
|
|
| |
This may cause IOErrors on Windows.
Aims to help with http://opensimulator.org/mantis/view.php?id=6003
|
|
|
|
|
|
|
|
|
|
|
| |
<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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
disk, copy it instead.
This is to eliminate IOException where two threads compete to cache the same file.
|
| |
|
|
|
|
| |
specific stuff to return more information.
|
|
|
|
| |
this command is invoked.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
already been done for the memory cache
|
|
|
|
| |
Disabled temporarily since file system caching disrupts subsequent test runs
|
|
|
|
| |
its own, clear both memory and file caches
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
CACHE] section is missing or just the particular config values
|
|
|
|
|
|
| |
there is a [FLOTSAM ASSET CACHE] section present at all, use the same default all the time
this simplifies the code
|
|
|
|
| |
the default
|
|
|
|
|
|
| |
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.
|