Commit Graph
2924 Commits
Author SHA1 Message Date
Diva Canto 47ce1a47bb Deleted all [ZZZ] debug messages. 2013-07-24 14:24:17 -07:00
Diva Canto 10def95c27 The previous commit did fix the infinity problem! I'm putting the same time on TP_V1 and adding a big red warning on top of those lines. 2013-07-24 14:22:59 -07:00
Diva Canto dab01a10d9 Today's wild shot at the infinity problem. Wait on the child agent left behind. 2013-07-24 12:54:13 -07:00
Diva Canto c7a3714c37 Don't touch the Current Outfit folder also on coming back home 2013-07-23 15:04:24 -07:00
Diva Canto 7c884d16f4 In renaming the folders for hypergriding, don't rename the Current Outfit folder. The viewer doesn't like that. 2013-07-23 14:17:32 -07:00
Diva Canto d5f8b7924c More on putting TP V1 as it was 2013-07-22 13:29:58 -07:00
Diva Canto d70a0c09cb Minor improvements on TP V1 trying to make it exactly as it was before. 2013-07-22 13:16:13 -07:00
Diva Canto df09fdf65d New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-22 11:54:35 -07:00
Diva Canto 37337a4de9 Further tweaks on TPs: not sending the callback URL and instead waiting 15sec before closing the agent. This seems to be working fairly well. The viewer seems to have an 8 sec delay between UseCircuitCode and CompleteMovement.
Also added back the position on UpdateAgent, because it's needed for TPing between neighboring regions.
2013-07-21 20:22:13 -07:00
Diva Canto 8d98d287bd EXPERIMENTAL: yet another variation of ES/EAC/TPFinish 2013-07-21 17:38:01 -07:00
Diva Canto e1404adac6 That also didn't work.
Revert "One last thing before I stop on this: now not sending ES and EAC to the viewer. Looking in GridProxy, I don't see those messages in the Linden grid."

This reverts commit 1d27c9f4d1.
2013-07-21 17:23:52 -07:00
Diva Canto 1d27c9f4d1 One last thing before I stop on this: now not sending ES and EAC to the viewer. Looking in GridProxy, I don't see those messages in the Linden grid. 2013-07-21 17:18:54 -07:00
Diva Canto 7f60800ca6 Don't post Link asset types back to the home grid 2013-07-21 15:46:00 -07:00
Diva Canto 049022717c Revert "WARNING: DON'T USE THIS COMMIT -- major spew on HG teleports."
This reverts commit 40c54a718f.
2013-07-21 14:08:22 -07:00
Diva Canto 40c54a718f WARNING: DON'T USE THIS COMMIT -- major spew on HG teleports. 2013-07-21 13:46:03 -07:00
Diva Canto 315097b8b9 Minor fixes 2013-07-21 13:36:03 -07:00
Diva Canto 894554faf6 Removed the MapItems thread. Redirected the map items requests to the services throttle thread. Didn't change anything in how that processor is implemented, for better or for worse. 2013-07-16 20:28:48 -07:00
Diva Canto 9432f3c94d Improvements to the ServiceThrottleModule: added a category and an itemid to the interface, so that duplicate requests aren't enqueued more than once. 2013-07-16 19:04:30 -07:00
Diva Canto 5f27aaa6dd UserManagementModule: in the continuation, call the method that also looks up the cache, because the resource may be here in the meantime 2013-07-16 18:22:42 -07:00
Diva Canto 8bad56cb46 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-16 17:53:49 -07:00
Diva Canto d4720bd721 Added config var to fiddle with the Interval for the service throttle thread 2013-07-16 17:53:05 -07:00
Dan Lake 9f129938c9 Attachments module only registers when enabled. This enables alternative attachments module implementations. All calls to Scene.AttachmentsModule are checking for null. Ideally, if we support disabling attachments then we need a null attachments module to register with the scene. 2013-07-16 17:43:36 -07:00
Diva Canto 9f578cf0c8 Deleted a couple of verbose messages 2013-07-16 17:18:11 -07:00
Diva Canto 99a600753e Changed the name to ServiceThrottle/ServiceThrottleModule in order to reflect its more generic nature. 2013-07-16 17:06:17 -07:00
Diva Canto 3fbd2c54bc Eliminated the UserManagement/UserManagementModule throttle thread. Made the other one generic, taking any continuation. 2013-07-16 17:04:32 -07:00
Diva Canto e0f0b88dec In the pursuit of using less CPU: now trying to avoid blocking queues altogether. Instead, this uses a timer. No sure if it's better or worse, but worth the try. 2013-07-16 13:01:39 -07:00
Diva Canto 6da50d34df Actually use DoubleQueue in UserManagement/UserManagementModule 2013-07-16 07:19:13 -07:00
Diva Canto 5a01ffa515 High CPU hunt: try a different blocking queue, DoubleQueue 2013-07-16 07:15:14 -07:00
Justin Clark-Casey (justincc) eb14e5a175 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-15 23:28:02 +01:00
Justin Clark-Casey (justincc) 1b7b664c86 Add request received/handling stats for caps which are served by http poll handlers.
This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this.
2013-07-15 23:27:46 +01:00
Diva Canto fbb01bd280 Protect against null requests 2013-07-15 11:37:49 -07:00
Diva Canto b0140383da Cleanup old hg sessions (older than 2 days) 2013-07-14 15:47:54 -07:00
Diva Canto f3b3e21dea Change the auth token to be the user's sessionid. 2013-07-14 07:28:40 -07:00
Diva Canto b4f1b9acf6 Guard against unauthorized agent deletes. 2013-07-13 21:28:46 -07:00
Diva Canto 931eb892d9 Deleted GET agent all around. Not used. 2013-07-13 17:56:42 -07:00
Diva Canto bc405a6a34 That didn't fix the problem.
Revert "Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4."

This reverts commit 6825377380.
2013-07-13 11:30:37 -07:00
Diva Canto 6825377380 Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4. 2013-07-13 11:11:18 -07:00
Justin Clark-Casey (justincc) 7c2e4786ce minor: remove some regression test logging switches accidentally left uncommented. 2013-07-11 23:19:55 +01:00
Justin Clark-Casey (justincc) e15a15688b minor: Take out unnecessary clumsy sleep at the end of regression Test404Response().
This wasn't actually necessary in the end but was accidentally left in.
2013-07-11 23:11:35 +01:00
Justin Clark-Casey (justincc) f57f49eede Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-11 23:05:10 +01:00
Justin Clark-Casey (justincc) 44e9849ed1 Fix regression where llHTTPRequests which did not get an OK response returned 499 and the exception message in the http_response event rather than the actual response code and body.
This was a regression since commit 831e4c3 (Thu Apr 4 00:36:15 2013)
This commit also adds a regression test for this case, though this currently only works with Mono
This aims to address http://opensimulator.org/mantis/view.php?id=6704
2013-07-11 23:02:30 +01:00
Diva Canto c4f1ec1fd6 Changed the UserProfileModule so that it's less greedy in terms of thread usage. 2013-07-11 10:21:20 -07:00
Robert Adams bb6fb65392 Revert "minor: remove some mono compiler warnings in UserProfileModule"
Revert until we understand why all the calls to GetUserProfileServerURI were also
commented out.

This reverts commit 5f58b9b552.
2013-07-09 18:24:39 -07:00
Diva Canto d0dfb744b2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-09 14:13:51 -07:00
Diva Canto 67e500383e Put guards on a bunch of exception-inducing code, as seen in logs from load test. 2013-07-09 14:12:52 -07:00
Justin Clark-Casey (justincc) 5f58b9b552 minor: remove some mono compiler warnings in UserProfileModule 2013-07-09 00:04:46 +01:00
Justin Clark-Casey (justincc) 013710168b For stat purposes, add names to capability request handlers where these were not set 2013-07-08 22:39:07 +01:00
Justin Clark-Casey (justincc) c3db595944 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-08 22:07:27 +01:00
Justin Clark-Casey (justincc) e19defde36 Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Justin Clark-Casey (justincc) a38c2abae4 Make dictionary read/write locking consistent in CapabilitiesModule, rename two dictionary fields to standard m_ format 2013-07-08 18:07:04 +01:00