[Opensim-users] Are unused assets deleted?

Haravikk opensim at haravikk.me
Sun Aug 12 10:03:30 UTC 2018



> On 12 Aug 2018, at 09:52, Luisillo Contepomi <luisillocontepomi at gmail.com> wrote:
> 
> When you build a cube in a region and after you delete de cube will
> remain in database forever or until you erase it manually
> 
> Best regards,
> Luisillo

I don't believe this is quite true; when you create an object in a region it exists only within the region where it is located, if you "delete" it then it is transferred to your inventory, if you then delete it from your inventory as well then it should be gone for good. When you rez an object in a region you are actually copying it, as each copy gets its own UUID. In this sense pure objects (no contents) are nothing but copies, so they only occupy space for as long as a copy exists in world, or in inventory, once those are gone, the object is gone forever.

Where assets get tricky are things like textures, sounds, animations, notecards and scripts*; these are applied to objects by GUID and fetched from the asset server when needed, so even if you delete an object that contains your only references to these items they don't immediately disappear but instead remain on your asset server, because figuring out if an asset is indeed unused at this point is difficult (it would require a huge amount of extra callbacks to the asset server to keep track of new/deleted references and would go out of sync if a region crashes and is restored from backup).

The problem with trying to flush them out is that even if an asset is no longer linked directly to an object or present in a user's inventory, it is still possible for a script to reference them by GUID. Using vanilla LSL for example it is possible to apply textures, trigger sounds and fetch notecards using a GUID.

The only way to safely flush out textures, sounds and notecards (and animations if you allow GUID fetching of these) would be to scour every object, script and notecard on your grid for possible GUIDs, but even then this is only safe if you don't allow scripts to contact external services (as a user could store GUIDs in an external database for example).

This is I think why in SecondLife it costs L$10 per upload, as it stops users going overboard with uploads, this is also the reason why images are stored at limited sizes, sounds and animations are limited in length etc.

At the end of the day though the question is; how limited is your storage really? The only cost of unused assets is in a bit of wasted hard storage, but storage is pretty cheap, so unless your grid is growing beyond your ability to match it then you might be trying to solve a problem where the solution could be more destructive than the problem itself 😏


More information about the Opensim-users mailing list