Justin Clark-Casey (justincc)
b0bae62c30
refactor: Actually use MaptileStaticFile in RegionInfo rather than having both a public field and a get property
2014-03-26 20:58:58 +00:00
Oren Hurvitz
7a47c15edb
- Increased the threadpool timeout to 10 minutes
...
- Changed a few places that launch long-lasting threads to skip the timeout altogether
2014-03-26 20:34:55 +01:00
Oren Hurvitz
6d1d58b654
Use the "X-Content-Encoding" header to indicate gzipped data, because old OpenSims fail if they get an unknown "Content-Encoding"
2014-03-25 18:09:23 +01:00
Oren Hurvitz
b1d8aa0b64
Use the "Content-Encoding" header to indicate gzipped streams
2014-03-25 15:36:59 +01:00
Oren Hurvitz
f90aee696a
Always throw an exception if MakeRequest (used for HTTP POST) fails. (Previously many exceptions were ignored)
...
Resolves http://opensimulator.org/mantis/view.php?id=6949
2014-03-25 09:37:10 +01:00
Oren Hurvitz
f901a38204
Improved logging of HTTP requests
...
- MemoryBuffer isn't seekable, so we can't log it. Log the string instead.
- Handle compressed streams
- Don't attempt to dump binary data. Either don't log it at all (if we know it's binary), or at least convert non-ASCII characters to ASCII.
- Log responses to HTTP requests
- Use the same log prefix for all of these log messages ("[LOGHTTP]"), to make them easy to see at a glance
- Increased the snippet length to 200 (80 doesn't show enough), and add "..." only if the message was actually truncated
Resolves http://opensimulator.org/mantis/view.php?id=6949
2014-03-25 09:36:53 +01:00
Oren Hurvitz
4289b71141
Fixed unit tests due to changes in the threadpool
2014-03-25 10:04:52 +02: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
Oren Hurvitz
84d7227dfd
Changed LogThreadPool to have 4 logging levels. Added console command "debug threadpool level" to set the logging level.
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:50 +01:00
Oren Hurvitz
b13214af27
Added a watchdog to abort slow threads in the main thread pool
...
If a task in the thread pool hangs then it will permanently take up
one of the threads. If this happens repeatedly then the thread pool will
become exhausted and OpenSim will fail. This watchdog terminates threads in the
thread pool that have been executing for over a minute (which probably
means they're hung).
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:45 +01:00
Oren Hurvitz
e735f76553
LogThreadPool: when the thread is for ProcessPacketMethod, also log the packet type
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:41 +01:00
Oren Hurvitz
4031933475
Refactored DebugFlagsEnum
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:37 +01:00
Oren Hurvitz
8555e54e22
Automatically start logging FireAndForget activity if the threadpool is full
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:32 +01:00
Oren Hurvitz
7c0ebcb984
Added debug flag: LogThreadPool. It makes us log every use of the main threadpool.
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:13 +01:00
Oren Hurvitz
89945f8829
Refactored: ExternalRepresentationUtils should be the only place where the "CreatorData" field is calculated, to ensure uniformity
...
Resolves http://opensimulator.org/mantis/view.php?id=6933
2014-03-24 18:00:59 +01:00
Oren Hurvitz
edc04d4184
When updating the CreatorId of an inventory item, automatically update the CreatorIdAsUuid field as well
...
Resolves http://opensimulator.org/mantis/view.php?id=6933
2014-03-24 18:00:39 +01:00
Oren Hurvitz
921f0052f4
Get the full viewer name even if it's (incorrectly) sent in the 'Channel' field
...
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name.
This resolves http://opensimulator.org/mantis/view.php?id=6952
2014-03-24 12:26:52 +01:00
Dev Random
3d0778bcd6
Allow Mono Plugin Registry setting for Regions
...
Signed-off-by: Melanie <melanie@t-data.com >
2014-03-22 01:29:51 +00:00
Justin Clark-Casey (justincc)
47e7febebc
Add monitored thread last update times as stats in "show stats all"
...
These have the format server.thread.<thread-name>
2014-03-21 02:06:10 +00:00
Jak Daniels
61353dde80
Allow Region specific static maptiles to be loaded from file.
2014-03-18 22:18:50 -07:00
Justin Clark-Casey (justincc)
cf97535d9e
Revert "Simplify DoubleQueue to eliminate redundant sempahore work."
...
This reverts commit 52b7b40034 .
Got the semantics wrong - the sempahore is required so that the blocking thread waits for a signal.
2014-03-19 01:40:56 +00:00
Justin Clark-Casey (justincc)
52b7b40034
Simplify DoubleQueue to eliminate redundant sempahore work.
...
Exclusion is already guaranteed by the lock on m_syncRoot.
Semaphore could not allow more than one thread in these sections anyway since the underlying SDK structures are not thread-safe.
2014-03-19 00:48:13 +00:00
Justin Clark-Casey (justincc)
9858766516
minor: Make "stats show" an alias for "show stats" command.
2014-03-19 00:35:49 +00:00
Justin Clark-Casey (justincc)
e6080a38c5
Rename "debug stats record" command to "stats record" for consistency. Move from debug to general command category
2014-03-19 00:29:36 +00:00
Justin Clark-Casey (justincc)
1d0a9e521c
Allow a snapshot of stats to be dumped to a file with a "stats save" command
2014-03-19 00:28:57 +00:00
Justin Clark-Casey (justincc)
fad1d70180
Add httpserver.<port>.QueuedPollResponses and httpserver.<port>.ProcessedPollResponses statistics
2014-03-18 23:47:33 +00:00
Justin Clark-Casey (justincc)
9e0d419239
minor: Correction to description of QueuedPollResponses since this covers long poll and other 'poll' types
2014-03-18 23:24:22 +00:00
Justin Clark-Casey (justincc)
eed343ed8a
Add httpserver.<port-number>,QueuedPollResponses stat
...
This shows the number pf poll responses queued for processing.
2014-03-18 23:21:07 +00:00
Justin Clark-Casey (justincc)
7df325c275
Extend locking in BlockingQueue to cover operations that are not guaranteed to be thread-safe
2014-03-18 23:05:49 +00:00
Justin Clark-Casey (justincc)
8ce3fa646b
Allow "show stats" console command to take a full stat name and display only that stat.
...
For example, scene.test.RootAgents will show only the RootAgents stat in the scene named "test"
2014-03-18 20:21:47 +00:00
Justin Clark-Casey (justincc)
c605c7a7b7
Lock m_syncRoot on DoubleQueue.Count. This is not documented as a thread-safe operation
2014-03-18 19:54:07 +00:00
Justin Clark-Casey (justincc)
f3e177814a
Add regression test for http inventory fetch.
...
Involved some restructuring to allow regression tests to dequeue inventory requests and perform poll responses synchronously rather than async
2014-03-17 20:51:35 +00:00
Robert Adams
742f505440
Change terrain update sending to be triggered by frame tick rather
...
than everytime terrain is changed.
The TerrainModule now hooks the frame event and, if terrain has changed,
sends terrain updates to the clients. This polling pattern replaces
the previous push on change pattern and will make it easier to do per
client throttling and per scene presence terrain update ordering.
2014-03-10 22:05:18 -07:00
Justin Clark-Casey (justincc)
aa2fb1ec25
minor: Increase size of parcel name field in "land show" console command output. Construct table using CDT rather than string formats
2014-03-06 00:40:24 +00:00
Justin Clark-Casey (justincc)
4e6f7435d0
Add UUID and ready status (whether region has finished starting up) to "show regions" console output.
2014-03-05 01:23:48 +00:00
Justin Clark-Casey (justincc)
88b1fc1382
Set up a StreamReader and call ReadToEnd() instead of using the GetStreamString() extension method
...
This eliminates some stream seeking that was never necessary and makes disposable of the StreamReader consistent with other code
2014-02-27 23:13:26 +00:00
Justin Clark-Casey (justincc)
94ad69faf2
Remove long unused UntrustedWebRequest class
...
This purports to check web requests but doesn't appear to actually do that.
2014-02-27 22:58:44 +00:00
Justin Clark-Casey (justincc)
5fafea6631
refactor: More consistently use using construct within WebUtil to match other existing code there.
2014-02-27 22:52:43 +00:00
Justin Clark-Casey (justincc)
1f4f09ad69
Add more details to InvalidOperationException logging in SychronousRestFormsRequest.MakeRequest().
2014-02-27 20:35:56 +00:00
Dev Random
6955190c7d
Add Util method to load OpSys env vars
2014-02-26 23:39:45 +00:00
Justin Clark-Casey (justincc)
733e067958
Log information about which function, request data and agent ID triggered an XmlRpcGroupsServiceConnector error
2014-02-14 21:28:45 +00:00
Justin Clark-Casey (justincc)
b2878eb773
Merge branch 'justincc-master'
2014-01-31 00:51:22 +00:00
Oren Hurvitz
b8e22f02e7
Make sure Web streams are disposed after use
2014-01-31 00:44:22 +00:00
Robert Adams
0c3493f619
clear land tainting when tested. Then testing, pass scene to LandObject as now needed to get region size
2014-01-28 16:25:01 -08:00
Robert Adams
d25265ae82
Fix terrain tests by properly initializing low detail terrain to zero height.
...
Also remove PI heightmap test as new heightmaps only have two significant digits.
2014-01-28 15:58:45 -08:00
Robert Adams
49af6b53e7
varregion: enable teleporting to a varregion by clicking on the map and
...
pressing the 'teleport' button.
This commit adds returning region map info for all the subregions of a
varregion. This also handles the selection of the extra region and then
the displacement of the postion so the teleport is to the correct location.
2014-01-26 19:32:28 -08:00
Robert Adams
4c362a83f9
Merge branch 'master' into varregion
2014-01-21 11:31:51 -08:00
Justin Clark-Casey (justincc)
2cf7478b9a
Merge branch 'justincc-master'
2014-01-20 19:34:55 +00:00
Justin Clark-Casey (justincc)
8e72b53edc
Stop exceptions being generated on agent connection if a telehub object has been deleted or has no spawn points.
2014-01-20 19:16:19 +00:00
Oren Hurvitz
3018b2c5d7
Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default
...
Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'.
2014-01-20 00:38:42 -08:00