Commit Graph

43 Commits (c74cef0f4261191962959e42c7e349adafd42a04)

Author SHA1 Message Date
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