Diva Canto
c74cef0f42
Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is.
2015-05-07 19:24:08 -07: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)
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
Oren Hurvitz
018832522c
Removed GetUserInventory(). It wasn't being used, and was creating warnings because it's Obsolete.
2014-04-23 14:38:33 +01:00
Oren Hurvitz
e131e73652
Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:55 +01:00
Diva Canto
1fc873d09f
Same fix to LocalInventoryServiceConnector.cs
2013-06-30 07:21:22 -07:00
Diva Canto
922425a205
Last 27 modules' directives (service connectors out).
2012-11-13 08:49:52 -08:00
Justin Clark-Casey (justincc)
8fb3e71b14
Shuffle order of code in invnetory connector GetFolderContent() calls to avoid a possible race condition
2011-09-15 18:36:22 +01:00
Justin Clark-Casey (justincc)
655935db49
Use a copy of the inventory items list to register users in the thread started by GetFolderContent(), to protect ourselves against callers modifying lists
...
Hopefully this addresses http://opensimulator.org/mantis/view.php?id=5681
2011-09-09 19:55:30 +01:00
Justin Clark-Casey (justincc)
7cadb89a0f
When a region is added to the HG Inventory Broker, also pass this through to the embedded local inventory connector to prevent an NRE when that connector tries to lookup the UserManager through the scene.
...
This is to address http://opensimulator.org/mantis/view.php?id=5669
However, if this failure was happening I'm kind of surprised that local HG inventory was working at all.....
We probably weren't seeing these exceptions previously because we weren't logging them when the reached the top of a FireAndForget thread.
2011-09-07 23:16:19 +01:00
Justin Clark-Casey (justincc)
014cd4f8bb
remove mono compiler warnings
2011-08-23 21:41:16 +01:00
Justin Clark-Casey (justincc)
a048ec3f95
stop the local inventory services connector from logging an error when an item id isn't found.
...
making this query is legitimate and so the log line can cause false positivies. It is up to callers to log an error if appropriate.
2011-07-08 22:34:03 +01:00
Diva Canto
ef4f1fc4ba
Made things consistent between LocalInventoryServiceConnector and RemoteXInventoryServiceConnector on GetFolderContent.
2011-04-25 11:00:48 -07:00
Diva Canto
c617d658dd
Added creator info across the board -- TaskInventoryItems and InventoryItems themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being.
...
New migration in inventory table in order to make CreatorID varchar(255).
2010-11-21 17:19:24 -08:00
Jeff Ames
f1f0bc23f4
Formatting cleanup.
2010-09-12 13:43:49 -04:00
Justin Clark-Casey (justincc)
1e8e98a07f
Move code that allows llGiveInvetory() to move item into appropriate system folder up from connectors into Scene.Inventory.cs
...
This fixes the problem for all architectures (hg as well as local and grid) and means we don't have to dupe code between connectors.
Not ideal in that it becomes non-modular, but methods in Scene.Inventory.cs should eventually be modularized anyway.
2010-09-04 01:36:26 +01:00
Justin Clark-Casey (justincc)
107052b23d
Create Scene.Inventory.cs.AddInventoryItem(InventoryItemBase item)
...
The agentID in AddInventoryItem(UUID agentID, InventoryItemBase item) is redundant since it's contained in item.Owner, and it doesn't make sense for agentID != item.Owner, hence the method is deprecated.
2010-09-04 00:09:53 +01:00
Justin Clark-Casey (justincc)
289c21099c
Add automated test at the opensim 'api' level to check that a given item goes to the correct directory
...
Also removes some mono compiler warnings
2010-08-24 16:50:31 +01:00
Justin Clark-Casey (justincc)
704a53fb9b
Fix bug in llGiveInventory() where items were disappearing on relog
...
This was a regression - the code to look up the correct type folder was no longer being called if items were added without a parent folder set
This may have been broken since commit bd49985a
on 2010-05-02
2010-08-23 23:16:48 +01:00
Justin Clark-Casey (justincc)
74e5fe5aa9
Remove various warnings and improve logging messages. No functional changes.
2010-08-23 22:24:23 +01:00
Diva Canto
bd49985afa
Switched everything to XInventory by default. The old Inventory is still there for now, in case bugs pop up with XInventory.
2010-05-02 10:31:35 -07:00
Justin Clark-Casey (justincc)
45563e20e0
minor: correctly print out missing item id when it can't be found rather than a NullReferenceException
2010-04-16 22:57:44 +01:00
Diva Canto
552e9e8c78
* Added SQlite connector for AvatarData. Tested -- works.
...
* Small bug fix in debug message
* Set default standalone configs to use SQLite across the board
2010-02-21 09:09:35 -08:00
Melanie
c033223c63
Merge branch 'master' into presence-refactor
2010-02-15 00:20:48 +00:00
Justin Clark-Casey (justincc)
802a969267
Fix http://opensimulator.org/mantis/view.php?id=4224
...
This resolves the problem where eyes and hair would turn white on standalone configurations
When a client receives body part information, for some insane reason or other it always ends up uploading this back to the server and then immediately re-requesting it.
This should have been okay since we stored that asset in cache. However, the standalone asset service connector was not checking this cache properly, so every time the client made the request for the asset it has just loaded it would get a big fat null back in the face, causing it to make clothes and hair white.
This bug did not affect grids since they use a different service connector.
2010-02-12 21:32:03 +00:00
Diva Canto
1e1b2ab221
* OMG! All but one references to UserProfileCacheService have been rerouted!
...
* HG is seriously broken here
* Compiles. Untested.
2010-01-10 10:40:07 -08:00
Diva Canto
b63405c1a7
Inching ahead... This compiles, but very likely does not run.
2010-01-08 10:43:34 -08:00
Diva Canto
b03eeeb9f6
* Fixes mantis http://opensimulator.org/mantis/view.php?id=4044 . Turns out folders were never being removed from trash when they were singled out for purging in trash. They were being removed when Trash was purged as a whole. That behavior is now fixed for the new InventoryService set.
...
* Removed left-overs from AssetInventoryServer.
2009-08-22 10:24:26 -07:00
Diva Canto
6e35ddb0e9
Fixes GetItem and GetFolder for SQLite. Turns out some methods were no-op in SQlite. Fixes most grief in
...
http://opensimulator.org/mantis/view.php?id=4035
http://opensimulator.org/mantis/view.php?id=4027
2009-08-19 17:35:42 -07:00
Diva Canto
d519f1885f
Added MoveItems, which is most useful upon viewer-delete inventory operation. Moving a batch of items is a 1-time operation. Made it async anyway, so that the viewer doesn't wait in case the DB layer is dumb (which is the case currently).
2009-08-19 10:56:08 -07:00
Diva Canto
c5af39239f
A better purge of trash folder.
2009-08-19 00:13:51 -07:00
Diva Canto
034c9cf606
Added GetAssetPermissions. Few last bugs nixed. This is ready for testing.
2009-08-13 17:34:15 -07:00
Diva Canto
5246dc33dc
Renamed QueryItem/QueryFolder to GetItem/GetFolder. The word 'query' starting to get on my nerves.
2009-08-13 14:10:12 -07:00
Diva Canto
41ad610f3e
* Added two new packet handler implementations for inventory ops. This is starting to work! - but can't be activated incrementally, the flip needs to be global for all inventory ops.
...
* Added a base inventory connector that does common processing of inventory among all reference connector implementations. E.g. AddItem requires additional processing before being forwarded to service.
* Added if (m_Enabled) upon RemoveRegion
2009-08-12 13:11:15 -07:00
Diva Canto
263f32a493
Improved test for system folders. Removed log messages.
2009-08-11 10:42:44 -07:00
Diva Canto
31419a70ce
System folders inventory cache added to OUT inventory modules. This tracks agents in and out of *sims* in order to fetch/drop their system folders from the cache. Also added region-side support for fetching the system folders from the inventory service. Nothing of this is called yet.
2009-08-11 10:30:03 -07:00
Diva Canto
cdcbc48534
Added two new methods to IIventoryService -- GetFolderForType and GetFolderContent. Some meat to it, but not completed. None of this code is called anywhere yet.
2009-08-10 20:31:51 -07:00
Diva Canto
9f95ec4998
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-08-10 16:02:33 -07:00
Diva Canto
0c47f8e7ab
Changed RequestRootFolder to GetRootFolder
2009-08-10 16:02:09 -07:00
Melanie
eba23048ca
Replace the Replaceable modules name
2009-08-10 23:08:22 +01:00
Justin Clark-Casey (justincc)
f8d8f07cb4
Remove waiting in TestReplicateArchivePathToUserInventory() since local inventory loading is synchronous
...
Insert a little more debugging info in case the occasional failure reoccurs
2009-08-05 18:59:44 +01:00
Melanie Thielker
8ecfc9a717
Committing the interface change and the addition to the modules to get
...
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
diva
6abffedab5
Renamed Region/CoreModules/ServiceConnectors to Region/CoreModules/ServiceConnectorsOut. No functional changes.
2009-06-14 19:44:56 +00:00