[Opensim-dev] Inventory loss

Colin B. Withers Colin.Withers at eumetsat.int
Mon Jul 27 12:20:15 UTC 2009


Reason I wondered is simply the number of websites dedicated to recovering from MYSQL database corruption, and offering tools for the same. Google returns over 250,000 sites for 'mysql database corruption'.

MYSQL has had numerous bug fixes to fix database corruption, introduced by differing versions of MYSQL, eg

Fixed in 4.0.18
INSERT DELAYED ... SELECT ... could cause table corruption because tables were not locked properly. This is now fixed by ignoring DELAYED in this context. (Bug #1983) 

Fixed in 4.0.16
Fixed bug in overrun check for BLOB values with compressed tables. This was a bug introduced in 4.0.14. It caused MySQL to regard some correct tables containing BLOB values as corrupted. (Bug #770, Bug #1304, and maybe Bug #1295) 

Fixed in 4.0.15
Fixed rare bug in MYISAM introduced in 4.0.3 where the index file header was not updated directly after an UPDATE of split dynamic rows. The symptom was that the table had a corrupted delete-link if mysqld was shut down or the table was checked directly after the update.

Fixed in 4.0.14
Comparison/sorting for latin1_de character set was rewritten. The old algorithm could not handle cases like "sä" < "ßa". See section 5.6.1.1 German character set. In rare cases, it resulted in table corruption.

and so on..

My own experience with Opensim is that in the last 12 months there has been three occasions where residents complained of stuff 'missing' (not a single resident, but several at once) and a roll-back to the last database backup cured the problems.

Rock

-----Original Message-----
From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Melanie
Sent: Monday, July 27, 2009 2:07 PM
To: opensim-dev at lists.berlios.de
Subject: Re: [Opensim-dev] Inventory loss

IMHO, inventory loss due to MySQL errors and/or corruption are below 
the radar.
Any losses would occur in OpenSim code, I believe.

Melanie

Colin B. Withers wrote:
> I wonder what proportion of inventory items that go astray are the result of the success/failure of an operation, or are due to database corruption issues.
> 
> Rock
> 
> -----Original Message-----
> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Melanie
> Sent: Monday, July 27, 2009 12:30 PM
> To: opensim-dev at lists.berlios.de
> Subject: Re: [Opensim-dev] Inventory loss
> 
> There is a question here of why inventory loss occurs at all. At 
> what stage do we actually lose (as opposed to failing to bump the 
> folder serial) inventory items at all, and why?
> 
> While a "deleted" flag and an undelete function do make an admin's 
> life easier, I believe the real focus should be on the inventory 
> code. It will be redesigned anyway and once that happens, I think a 
> strong focus needs to be placed on data integrity preservation.
> 
> That would then mae the undelete functionality largely unnecessary. 
> Current inventory code often doesn't check for success of an 
> operation at all. That needs to be revisited.
> 
> Melanie
> 
> Thomas Grimshaw wrote:
>> Hey folks.
>> 
>> Been thinking a lot about inventory loss in OpenSim, something that I 
>> think we should really do as much as possible to avoid. We've been 
>> experiencing numerous cases of lost inventory in K-Grid recently.
>> 
>> What i'd like to implement, is..
>> 
>> When an item is removed from inventory (deleted, or rezzed if it's 
>> no-copy), it is not actually deleted by instead an "available" flag is 
>> set in the inventory database.
>> All inventory queries will check for the flag and thus it will appear as 
>> deleted to the user, but it can be restored easily by an admin if 
>> needed.  A timestamp should also be set which indicates when the item 
>> was made unavailable, so that routine cleanup can be performed on items 
>> which were made unavailable a long time ago.
>> 
>> I wanted to get people's opinons of this before I implemented it in 
>> code. Can anyone think of any drawbacks or possible issues? Any further 
>> room for improvement?
>> 
>> Cheers
>> 
>> Thomas Grimshaw
>> (RemedyTomm)
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>> 
>> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
> 
> 
_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list