UbitUmarov
86a9710e77
change previus code, send a NoEvents response back to http server, even
...
if we know there is no one there, so that the server finishes handling
it.
2014-07-24 23:32:39 +01:00
UbitUmarov
f236b2e5d3
request.DoHTTPGruntWork(..) is now identical to our version, so use
...
those again, getting code closer to os
again
2014-07-23 02:14:15 +01:00
Melanie
a7eb1b5b85
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2013-07-24 03:50:09 +01:00
Diva Canto
b5062ae7ee
Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
...
There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18 13:30:04 -07:00
Diva Canto
552b85d33d
Revert "Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move...""
...
This reverts commit 7127891957 .
2013-07-18 12:25:04 -07:00
Diva Canto
9e35b069a4
Reverting the reverts I did yesterday. cpu-branch has now been
...
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""
This reverts commit fa2370b32e .
2013-07-18 12:23:27 -07:00
Diva Canto
fa2370b32e
Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
...
This reverts commit e46459ef21 .
2013-07-17 15:05:36 -07:00
Diva Canto
7127891957
Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move..."
...
This reverts commit f4317dc26d .
2013-07-17 15:04:27 -07:00
Diva Canto
519dba9a69
Revert "Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager."
...
This reverts commit 5f95f4d78e .
2013-07-17 15:03:16 -07:00
Diva Canto
5c54eb30ed
Revert "This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU."
...
This reverts commit 5232ab0496 .
2013-07-17 15:02:54 -07:00
Diva Canto
5232ab0496
This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU.
2013-07-17 14:36:55 -07:00
Diva Canto
5f95f4d78e
Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager.
2013-07-17 14:09:04 -07:00
Diva Canto
f4317dc26d
Putting the requests back in the queue while testing for count >0 is not the smartest move...
2013-07-17 12:57:34 -07:00
Diva Canto
e46459ef21
Cleared up much confusion in PollServiceRequestManager. Here's the history:
...
When Melanie added the web fetch inventory throttle to core, she made the long poll requests (EQs) effectively be handled on an active loop. All those requests, if they existed, were being constantly dequeued, checked for events (which most often they didn't have), and requeued again. This was an active loop thread on a 100ms cycle!
This fixes the issue. Now the inventory requests, if they aren't ready to be served, are placed directly back in the queue, but the long poll requests aren't placed there until there are events ready to be sent or timeout has been reached.
This puts the LongPollServiceWatcherThread back to 1sec cycle, as it was before.
2013-07-17 11:19:36 -07: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
Melanie
162dfd8a38
Merge branch 'avination-current' into careminster
2013-06-11 21:03:02 +01:00
Melanie
a022ee5766
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
2013-06-11 01:03:15 +01:00
Justin Clark-Casey (justincc)
7af97f88b7
Add port numbers to poll service thread names so that we can tell which belong to which HttpServer
2013-06-10 23:39:17 +01:00
Justin Clark-Casey (justincc)
32d1e50565
Reinstate explicit starting and stopping of PollServiceRequestManager added in 3eee991 but removed in 7c0bfca
...
Do not rely on destructors to stop things.
These fire at unpredictable times and cause problems such as http://opensimulator.org/mantis/view.php?id=6503
and most probably http://opensimulator.org/mantis/view.php?id=6668
2013-06-10 23:30:35 +01:00
Melanie
7c0bfca7a0
Adding Avination's PollService to round out the HTTP inventory changes
2013-06-07 23:43:45 +01:00
Melanie
17a902fed4
Clean up poll service
2013-06-07 22:39:27 +02:00
Melanie
e39156c656
Send 503 when throttling textures
2013-04-25 01:38:21 +02:00
Melanie
12efac494a
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
2013-01-19 02:38:04 +00:00
Justin Clark-Casey (justincc)
3eee991935
Explicitly stop PollServiceRequestManager() rather than relying on its destructor.
...
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2013-01-19 02:04:36 +00:00
UbitUmarov
a0065ad616
create a new PollServiceHttpRequest req per loop since they can be sent to
...
another working thread
2012-09-27 00:14:50 +01:00
UbitUmarov
617f1b9223
just remove the damm thing
2012-09-26 16:17:49 +01:00
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
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
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
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
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
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
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)
c6e375291a
Don't include time to transmit response back to requester when assessing slow handling of requests.
...
This is to avoid logging a 'slow' request when the source of delay is the viewer in processing a response.
This is not something we can do much about on the server end - it's server-side delay that we're interested in.
To ensure consistency, this commit also had to refactor and simplify inbound non-poll network request handling, though there should be no functional change.
IOSHttpResponse no longer exposes the Send() method, only classes in OpenSim.Framework.Servers.HttpServer should be doing this.
Only the GetTextureHandler was sending its own response. Now it leaves this to BaseHttpServer, like all other core handlers.
2012-06-13 00:03:44 +01:00
Justin Clark-Casey (justincc)
98b46d48fe
Allow the thread watchdog to accept an alarm method that is invoked if the timeout is breached.
...
This alarm can then invoke this to log extra information.
This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-06-07 02:44:13 +01:00
Justin Clark-Casey (justincc)
f67f37074f
Stop spurious scene loop startup timeout alarms for scenes with many prims.
...
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00