Commit Graph

379 Commits

Author SHA1 Message Date
UbitUmarov
7e3eba1064 Seems nothing actually need the request body for getevents. so change
control flag to false
2012-09-26 15:41:57 +01:00
UbitUmarov
67fa657746 keep watchdog happy using it to kill his threads 2012-09-26 04:52:19 +01:00
UbitUmarov
654dd289f2 more changes to PollService 2012-09-26 03:05:27 +01:00
Melanie
bbaf2c5a80 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-24 20:14:00 +01:00
Melanie
2d02405186 Change the poll service to use a thread pool for replies to make sure the
event queues aren't blocked by other traffic.
2012-09-23 23:16:25 +02:00
Diva Canto
772aedc731 Make BaseHttpServer throws say something useful. 2012-09-22 14:01:07 -07:00
Justin Clark-Casey (justincc)
1b0abf8f0c Comment out the long unused afaik HTTP agent handlers.
As far as I know, this was only used by the IBM Rest modules, much of which has been commented out for a very long time now.  Other similar code uses HTTP or stream handlers instead.
So commenting this out to reduce code complexity and the need to make this facility consistent with the others where it may not be used anyway.
If this facility is actually being used then please notify me or uncomment it if you are core.
2012-09-21 00:29:13 +01:00
Justin Clark-Casey (justincc)
e29d563557 Add request number counting to incoming HTTP requests in the same way that this was already being done for outgoing HTTP requests.
This allows us to associate debug logging messages with the right request.
It also allows us to put a request number on 'long request' logging even if other debug logging is not enabled, which gives us some idea of whether every request is suffering this problem or only some.
This is a separate internal number not associated with any incoming number in the opensim-request-id header, this will be clarified when logging of this incoming request number is re-enabled.
This commit also adds port number to HTTP IN logging to allow us to distinguish between different request numbers on different ports.
2012-09-21 00:09:17 +01:00
Justin Clark-Casey (justincc)
a5b3989e5d Insert a new log level 4 for HTTP IN and HTTP OUT that will log how long the request took.
This is only printed if debug http level >= 4 and the request didn't take more than the time considered 'long', in which case the existing log message is printed.
This displaces the previous log levels 4 and 5 which are now 5 and 6 respectively.
2012-09-20 23:18:19 +01:00
Justin Clark-Casey (justincc)
387a1bb283 Add ability to turn on/off logging of outgoing HTTP requests flowing through WebUtil.
This is for debugging purposes.
This is controlled via the "debug http" command which can already log incoming requests.
This now gains a mandatory parameter of in, out or all to control what is logged.
Log messages are also shortened and labelled and HTTP IN or HTTP OUT to be consistent with existing UDP PACKET IN and PACKET OUT messages.
2012-09-20 23:17:44 +01:00
Melanie
a97436f2f1 Catch a nullref in the code to suppress GetTexture warnign spam we can't
do a thing about anyway.
2012-09-16 16:42:30 +02:00
Melanie
66bf1376b5 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
2012-09-16 04:21:18 +01:00
Melanie
db774d4292 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/EventManager.cs
2012-09-16 04:11:20 +01:00
Melanie
2aa7a22129 Sequence/throttle asset retrievals. 2012-09-14 23:09:07 +02:00
Melanie
387e59ff7f Revamp the HTTP textures handler to allow a maximum of four fetches
at any time and to drop requests for avatars n longer in the scene
2012-09-14 21:24:25 +02:00
Melanie
52d74cf274 Allow setting max connections for an endpoint 2012-09-14 00:11:23 +02:00
Justin Clark-Casey (justincc)
7df7b86ec5 Fix bug in logging sample input at debug http level 4.
Also converts newlines to "\n" text.
2012-09-12 23:01:07 +01:00
Justin Clark-Casey (justincc)
25111e703f Add levels 4 and 5 to "debug http" console command that will log a sample of incoming request data and the entire incoming data respectively.
See "help debug http" for more details.
2012-09-11 21:48:51 +01:00
UbitUmarov
a7250c6ea1 add a extra httppool thread to compensate for webfetchinventory 2012-09-10 01:23:20 +01:00
Melanie
7e17f4296e Fix background inventory loading (Viewer 3) so it won't lag out the sim 2012-08-24 23:48:01 +02:00
Melanie
771d79e83e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Monitoring/BaseStatsCollector.cs
	OpenSim/Region/Application/OpenSim.cs
	OpenSim/Region/Application/OpenSimBase.cs
	OpenSim/Region/Framework/Scenes/SceneManager.cs
	bin/OpenMetaverse.Rendering.Meshmerizer.dll
	bin/OpenMetaverse.StructuredData.dll
	bin/OpenMetaverse.dll
	bin/OpenMetaverseTypes.dll
	prebuild.xml
2012-07-28 00:39:36 +01:00
Justin Clark-Casey (justincc)
5aec0ff207 Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring with other monitoring code from OpenSim.Framework 2012-07-25 23:27:00 +01:00
Melanie
0797736fba Merge branch 'ubitwork' into avination 2012-07-17 10:25:13 +02:00
UbitUmarov
5874dfd342 fix PollServiceRequestManager 2012-07-17 09:47:20 +01:00
Melanie
b35f97db46 Replace PollServiceRequestManager with older version, add extra logging to
event exceptions to see call path leading up to it.
2012-07-17 10:21:12 +02:00
Melanie
c256447f46 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-07-16 22:22:42 +01:00
Melanie
ad75a4b50b Eliminate a spurious exception report when a https url is accessed with a wrong
CN
2012-07-15 12:28:58 +02:00
Melanie
26d89777d8 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs
	OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-06 20:51:18 +01:00
Melanie
b8c2efa49c Convert the slow request queue into a regular queue and add some cleanup
and locking.
2012-07-06 00:23:05 +02:00
Melanie
bf292ce26f Fix the boo-boo 2012-07-05 23:24:15 +02:00
Melanie
4854d77904 Add an EventType enum and Type field to the poll service event args. This allows
the manager to tell what type of event it is. All events except for lsl http in
go to the "slow queue" which is run once per second as before.
2012-07-05 23:09:20 +02:00
UbitUmarov
bc5d554f54 use the pollEvent timeout paramenter on pooling 2012-07-04 17:58:32 +01:00
UbitUmarov
02cb0bf80a added a timeout paramenter to PollServiceEventArgs, so each type can define it's timeout 2012-07-04 17:40:02 +01:00
UbitUmarov
e533eef962 *test2* http poll: increased again the pool rate do 10/s but increased timeout to 1s. So data there is less delay when there is new data, but enought waiting time for it to be avaiable 2012-07-04 15:07:10 +01:00
UbitUmarov
b2fa20001f *test* slow http retries pool rate to original 1s 2012-07-04 06:14:47 +01:00
UbitUmarov
d3f1fc79e5 *TO CHECK/REVIEW/REVERT/TEST whatever* pollService new requests get enqueued to unified requests queue directly. Retries get into that every 100ms. 3 working threads as before plus another that only does retries timming. 2012-07-01 01:33:20 +01:00
Melanie
05cf51cbbd Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs
2012-06-29 22:11:49 +01:00
Melanie
7cc5b3d7d3 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-06-26 17:35:55 +01:00
Melanie
9a8de52940 Add an event to the poll service manager thread to allow starting it
when needed rather than once per second. That is just too slow!
2012-06-26 10:49:37 +02:00
Justin Clark-Casey (justincc)
dca04c7b61 Avoid a race condition where an incoming request to a script external URL can trigger an exception is the URL was being removed at the same time.
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map.  This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.

Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-22 23:16:18 +01:00
Melanie
eab211f94d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-06-21 01:10:13 +01:00
Justin Clark-Casey (justincc)
ed513fc7be Fix bug introduced in commit c6e3752 (13 Jun 2012) where poll responses would always return OK even if some other status code had been set 2012-06-16 03:43:45 +01:00
Melanie
30d872caad Merge branch 'master' into careminster 2012-06-15 02:53:34 +01:00
Melanie
ca4e6d9b5b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2012-06-15 02:52:56 +01:00
Justin Clark-Casey (justincc)
94517c8d5c Make the "debug http" command available for robust as well as the simulator. This allows one to see incoming requests as they happen.
This required making everything use the common MainServer class for registering and retrieving http servers, rather than duplicate structures.
2012-06-15 02:51:52 +01:00
Justin Clark-Casey (justincc)
257b1b517d Add main instance to internal MainServer.m_Servers list to simplify internal logic.
This does require the server to be added before it is set as the main Instance
2012-06-15 02:03:50 +01:00
Justin Clark-Casey (justincc)
478acfff34 When setting debug http level, do this for all known http servers, not just the main instance. 2012-06-15 01:24:36 +01:00
Justin Clark-Casey (justincc)
9825861f4a Shuffle "debug http" levels so that 1 and 2 now cause different levels of warn to be logged if we receive invalid xml for xmlrpc. 2012-06-14 23:46:09 +01:00
Justin Clark-Casey (justincc)
f4b02f8e39 Fix a regression in BaseHttpServer.HandleXmlRpcRequests() from recent c6e3752
Accidentally make responseString null by default instead of String.Empty.
It needs to be something in case the XmlRpcRequest deserialize throws an exception due to bad xml (a failure which we silently swallow!)
2012-06-14 04:29:15 +01:00
Melanie
12621201ba Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
2012-06-13 02:15:12 +01:00