Commit Graph

362 Commits

Author SHA1 Message Date
Jeff Ames
a7fcacf8f3 Formatting cleanup. Ignore some generated files. 2009-06-09 18:07:35 +00:00
Jeff Ames
135ff63c3d Update svn properties. 2009-06-09 17:48:22 +00:00
Melanie Thielker
9c726fb178 Thank you Snoopy, for a patch that implements group permissions.
Applied with changes:
- removed spammy debug message
- corrected tab formatting
2009-06-09 08:15:34 +00:00
Dr Scofield
759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Melanie Thielker
0356fef9ab Updating the flotsam asset cache. Thank you, mcortez!
Fixes Mantis #3784
2009-06-08 20:09:49 +00:00
diva
b87f982a7e Bug fix. Adding the asset to the cache after a DB get. 2009-06-08 19:35:36 +00:00
diva
16d5003274 Added more functions to IInventoryService. Unsure about whether all of these are really necessary. 2009-06-08 03:09:24 +00:00
diva
1ad237a8a7 First draft of inventory service connectors, and service implementation. No handlers yet, this is just the OUT part for now. It's not active and nothing in the simulator uses this yet. Just checking it in to start sharing with others. There are a couple of interesting software design points that could use other devs opinions.
Hopefully I added all needed files.
2009-06-07 19:00:55 +00:00
Justin Clarke Casey
593942b195 * Fix problem where known missing assets would stop save oar ever completing
* Issue was that region server was silently dropping an XmlException caused by trying to deserialize the blank asset service response
* So make asset service return http status NOT FOUND rather than OK in accordance with REST
* and interpret this correctly in the async response so that a null object is sent back
* This means that this fix won't be active until both region simulator and server reach this revision
2009-06-05 16:14:22 +00:00
Justin Clarke Casey
bfea077508 * Add oar saving timeout
* If an oar save fails to get responses to all asset requests to the asset service then timeout after 60 seconds
* Timeout executes abort, since missing assets in an OAR seems bad
* This means that oar saves won't permanently hang and instead can be retried if something goes wrong with the asset service
* This is not a solution to mantis 3714.  Hopefully a fix will be along shortly since I can now consistently reproduce that problem
2009-06-05 13:48:43 +00:00
Melanie Thielker
9f932a4205 Thank you, thomax, for a patch to provide finer-grained access control to
scripting.
Fixes Mantis #2862
2009-06-05 09:47:42 +00:00
Melanie Thielker
f992db6807 Committing mcortez's FlotsamAssetCache after several positive reviews.
Thank you, mcortez!
2009-06-05 04:58:55 +00:00
diva
ffac6f94f0 Changed a comment to reflect changes in config. 2009-06-04 18:41:19 +00:00
Jeff Ames
c6cef4bad5 Comment out unused variables / private fields to avoid compiler warnings. 2009-06-04 03:58:04 +00:00
Jeff Ames
5f923f0632 Add copyright headers. 2009-06-04 01:09:18 +00:00
Jeff Ames
007016ecd2 Update svn properties. 2009-06-04 00:51:02 +00:00
Dr Scofield
717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Dr Scofield
074b66ddcf From: Chris Yeoh <yeohc@au1.ibm.com>
- fixes wild swings in memory usage related to usage of GetDrawStringSize()

  We've been seeing wild swings in memory usage and a large chunk of
  memory leak. From analysing this it's pretty clear that the mono
  garbage collector is rather buggy! When exercised heavily it looks
  like it frees more than its meant to resulting in crashes.

  GetDrawStringSize() measures the size in pixels of text. To do this
  memory for an image is allocated and used to call the GDI text
  measure functions.  Although no reference to the temporary memory
  for the measuring is kept, it takes quite a while for the mono
  garbage collector to clean up - so if lots calls to
  GetDrawStringSize() are made at once there can be a spike in memory
  usage. If the garbage collector is not fast enough then the GDI
  layer runs out of memory. It also looks like the garbage collector
  is not always reclaiming all of the memory.

  I've attached an OpenSim patch which works around the garbage collector
  issues. Instead of dynamically allocating memory for measuring
  text sizes, it serialises (on a per region basis) access to a single
  block of memory. The effect of this is to be nicer to the garbage
  collector as it has a lot less work to do, at the cost of some
  theoretical loss in performance (nothing noticeable with our tests
  which hit it pretty hard).

  OpenSim still does leak memory slowly, but it is a lot more stable
  with this patch. I suspect that either the garbage collector misses
  bits of freed memory or the GDI/cairo layer leaks a bit each time a
  texture is created. Thats going to be a lot harder to hunt down, but
  for reference if someone has OpenSim running on Windows it would be
  interesting to see if it has the same problem as it would tell us if
  its a mono/GDI problem or an OpenSim problem.
2009-06-03 12:39:44 +00:00
Dr Scofield
25a0a56570 From: Alan Webb <alan_webb@us.ibm.com>
Modify dynamic texture handling so that an explicitly targetted
  face is not scheduled for immediate expiration. The requirement
  for precaching explicitly requires these assets to persist. They
  do however remain temporary.

  This approach leaves the legacy mode of operation (ALL_SIDES)
  unchanged in this respect.
2009-06-03 12:21:14 +00:00
Dahlia Trimble
9e3b592fa3 Thank you Imaze Rhiano for a patch that implements Cenome Memory Asset Cache (Mantis #3759)
See the files: bin/config-include/GridCommon.ini.example and bin/config-include/StandaloneCommon.ini.example to configure and enable this caching method.
2009-06-03 08:41:08 +00:00
Dahlia Trimble
528db43326 revert r9765 due to too many errors on some compilers. Affects Mantis #3759 2009-06-03 02:03:11 +00:00
Dahlia Trimble
b38be1a7fd Thank you Imaze Rhiano for a patch that implements Cenome Memory Asset Cache (Mantis #3759)
See the files: bin/config-include/GridCommon.ini.example and bin/config-include/StandaloneCommon.ini.example to configure and enable this caching method.
2009-06-02 22:42:47 +00:00
Justin Clarke Casey
5c42143a7b * Add simple original xml serialization test 2009-06-02 15:24:29 +00:00
Justin Clarke Casey
412295ccde * Add simple original sog xml serialization test 2009-06-01 18:03:51 +00:00
Justin Clarke Casey
f6badc528b * minor: change the name of one serialization method to match its counterpart 2009-06-01 17:38:11 +00:00
Justin Clarke Casey
ecbeb5cea1 * Fix race condition in save oar 2009-06-01 16:00:46 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Jeff Ames
35b450d41d Add copyright headers, formatting cleanup, ignore some generated files. 2009-05-31 18:35:00 +00:00
Jeff Ames
db2c4ab94c Update svn properties. 2009-05-31 16:26:18 +00:00
diva
822c2176df Forgot to add this to my last commit 2 days ago. Async in the HGBroker too. 2009-05-30 16:22:15 +00:00
Justin Clarke Casey
4aad6a07ff * refactor: Remove redundent prim id attribute on Scene.AddSceneObject() 2009-05-29 21:01:18 +00:00
Justin Clarke Casey
6eb191c87b * Add save xml2 serialization test 2009-05-29 20:20:47 +00:00
Justin Clarke Casey
9021bb231c * minor: move common serialization test code into fixture setup 2009-05-29 16:27:43 +00:00
Justin Clarke Casey
fa04937a82 * Add xml2 load test 2009-05-29 16:11:33 +00:00
diva
1e9cb2f8fc Making the delegate handlers async in async Get, to make things consistent. Them being synchronous in certain cases (asset in cache, for example) may account for slowness reported by folks in osgrid when they have the cache module on. Turns out that some of the provided handlers do non-trivial processing (the ones coming from J2KImage, for example), which means that the several asset requests that hit the cache end up being synchronous. The jury is still out on this. 2009-05-29 01:26:53 +00:00
diva
0094556d04 Instrumenting GlynnTuckerCache to find out the hit rate. 2009-05-28 21:04:10 +00:00
Adam Frisby
5db649538a * Tweak to above 2009-05-28 19:20:49 +00:00
Adam Frisby
2feb218817 * Makes grid announcements more prominent. 2009-05-28 19:19:10 +00:00
Adam Frisby
4b151b83a8 * Oops. Forgot Initialise needs tweaking between IRegionModule and ISharedRegionModule. 2009-05-28 19:03:27 +00:00
Adam Frisby
561d6c1cdc * Converts recently added OGSRadmin to IRegionModule because I cant be arsed figuring out Mono.Addins. 2009-05-28 18:59:18 +00:00
Adam Frisby
940b5567a0 * Adds OGS RAdmin class. Adds primitive remote admin functions for gridservers to perform on region servers. Used for grid-wide announcements, etc. 2009-05-28 18:27:08 +00:00
Adam Frisby
a7b49084ad * May make the terrain flatten brush behave like Second Life(tm)'s client expects. May break everything. You decide! 2009-05-28 15:27:15 +00:00
diva
e0ef697402 Adding the GlynnTucker cache module as the default choice in .ini's.
Minor log message change in the module itself.
2009-05-27 16:11:23 +00:00
Jeff Ames
a576cca59e Update svn properties. 2009-05-27 14:30:33 +00:00
diva
ce5225e6dc Experimental alternative cache module implementation, using GlynnTucker.Cache.dll. 2009-05-26 21:24:18 +00:00
Melanie Thielker
0b9076cd17 Revert a change I made to get a better URL because it failes under mono 2009-05-26 01:38:32 +00:00
Melanie Thielker
2f74a7e3a6 Couple of tweaks to the URL module: handle script reset gracefully and
stop crashing http server threads.
2009-05-26 01:27:22 +00:00
Justin Clarke Casey
582c20b1c4 * reseparate inventory item creator id and creator uuid
* unfortunately, while the client requires uuids and we want to be able to have arbitrary string ids, these cannot be kept in sync
* I think the problems last time were due to a serialization change
* So the major inteface version has been bumped to take care of any lingering issues here.
* This means that region servers beyond this revision can only connect to similarly uptodate grid services, and vice versa
2009-05-25 19:54:47 +00:00
Dr Scofield
eaa89f5a03 oops: wrong "path" in addin.xml 2009-05-25 12:27:17 +00:00
Dr Scofield
d4d9d8ed8f converting CapabilitiesModule to new region module scheme 2009-05-25 11:11:04 +00:00