012DatabaseError: database disk image is malformed

Asked by Bob

Erm.... Houston, we have a problem.... ;-(

Fortunatley this is only a multi-node test instance, because as it stands I'm in no way happy enough to put Swift into production as it feels too much like beta software .... but I digress, back to the question at heart.....

As usual, yet another cryptic log message from Swift, but this one sounds a bit more serious ! (And service/object API interactions fail with 503:service unavailable)

account-server ERROR __call__ error with REPLICATE /sdb1/138902/87a59dc922f9dfac2987b51571fe9214 : #012Traceback (most recent call last):#012 File "/usr/lib/pymodules/python2.7/swift/account/server.py", line 305, in __call__#012 res = getattr(self, req.method)(req)#012 File "/usr/lib/pymodules/python2.7/swift/account/server.py", line 267, in REPLICATE#012 ret = self.replicator_rpc.dispatch(post_args, args)#012 File "/usr/lib/pymodules/python2.7/swift/common/db_replicator.py", line 469, in dispatch#012 return getattr(self, op)(self.broker_class(db_file), args)#012 File "/usr/lib/pymodules/python2.7/swift/common/db_replicator.py", line 475, in sync#012 info = broker.get_replication_info()#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 406, in get_replication_info#012 self._commit_puts()#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 1221, in _commit_puts#012 self.merge_items(item_list)#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 1508, in merge_items#012 curs = conn.execute(query, (rec['name'],))#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 81, in execute#012 return self._timeout(lambda: sqlite3.Connection.execute(#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 74, in _timeout#012 return call()#012 File "/usr/lib/pymodules/python2.7/swift/common/db.py", line 82, in <lambda>#012 self, *args, **kwargs))#012DatabaseError: database disk image is malformed

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Solved by:
Bob
Solved:
Last query:
Last reply:
Revision history for this message
gholt (gholt) said :
#1

Somehow the sqlite3 database in the /sdb1/138902/87a59dc922f9dfac2987b51571fe9214 got corrupted. Without the db file itself I have no idea why (might not even be able to tell with the db file.) This sort of this should be caught, reported, and the offending db quarantined. I'll file a bug for that to get it checked out.

Revision history for this message
gholt (gholt) said :
#2
Revision history for this message
Bob (rclocal) said :
#3

I've decided to dump the 32bit OS as the developers seem to be developing on 64bit, hopefully that will eliminate the weird problems.

However I will see if I can get hold of the DB file before I hit the 64 bit reformat and append it to the bug.