On 03/10/11 07:54, Oren Hurvitz wrote:
Thanks for that info! Indeed it's unsafe to delete assets in the scenario
that I've described. It looks like it's not safe to delete assets at all
(except for trivial assets such as map tiles) unless we add some form of
reference-counting or garbage collection, since any asset might be in use in
other peoples' inventories, or in a prim in some other region.

Suppose I want to implement garbage collection of unused assets. I would
need to find which assets are in use anywhere. Would the following procedure
be sufficient? :

1. Find all the assets in the inventories of all the users
2. Find all the assets in the inventories of all the prims
3. Parse each asset to find if the asset itself points to other assets (use
UuidGatherer)

Is there any other place that uses assets?

Terrain textures is one, as seen in 
ArchiveWriteRequestPreparation.ArchiveRegion().  I can't think of another one 
off-hand.

Needless to say, distributed garbage collection is extremely hard. I don't think that a reference counting approach is feasible. Recording access times is also problematic since a simulator may have the asset cached for a very long time.

There are some low-ish hanging fruit for retraining asset growth if you haven't already picked them. coyled's SRAS [1] does asset de-duplication, compression and stores assets on the filesystem rather than as binary db blobs, which apparently helps a lot. This is the kind of thing that should also be in the core asset service.

[1] https://github.com/coyled/sras


Oren

--
View this message in context: 
http://opensim-dev.2196679.n2.nabble.com/Updating-attachment-assets-tp6852172p6854026.html
Sent from the opensim-dev mailing list archive at Nabble.com.
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev



--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to