[Opensim-dev] Error detection when storing an asset

Oren Hurvitz orenh at kitely.com
Fri Apr 18 11:05:45 UTC 2014


Regarding the hiding of exceptions: to be clear, I was already bitten by this
behavior; that's why I started to investigate how assets are stored. I have
therefore already changed Kitely's version of OpenSim to propagate
exceptions, and the question is whether other people would like me to
contribute this change. If anyone has an opinion then please reply.

Regarding your suggestion to save assets to local disk and retry them later:
this is basically what a persistent message queue does. If you're going to
go that route then it would be best to add a real message queue rather than
a home-grown one. I would LOVE it if OpenSim used a message queue for
communications, as it would allow ripping out thousands of lines of homemade
communications code, and would be faster and more reliable to boot. But
that's a bigger issue and I'll put it aside for now.

In this particular case, using a persistent message queue isn't be the right
solution: the right solution is to report failures immediately. Otherwise
you'd get weird behavior such as a user who thinks they've successfully worn
a piece of clothing, but when they teleport to another region it disappears
because the other region can't load the asset (because it was never saved).
To prevent these problems you need to fail-fast, and tell the user
immediately when a problem happens. This doesn't mean to crash the sim; I
strongly doubt any asset failure would cause that, it would just fail the
specific packet or message that is currently being handled, as it should.



--
View this message in context: http://opensim-dev.2196679.n2.nabble.com/Error-detection-when-storing-an-asset-tp7579223p7579225.html
Sent from the opensim-dev mailing list archive at Nabble.com.



More information about the Opensim-dev mailing list