New database corruption message: DatabaseError: malformed database schema
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Medium
|
Matthew Oliver |
Bug Description
possibly_
swift-container
Traceback (most recent call last):
File "/usr/local/
print_
File "/usr/local/
info = broker.get_info()
File "/usr/local/
self.
File "/usr/local/
self.
File "/usr/local/
self.
File "/usr/local/
with self.get() as conn:
File "/usr/lib/
return self.gen.next()
File "/usr/local/
self.
File "/usr/local/
six.
File "/usr/local/
self.conn = get_db_
File "/usr/local/
timeout=
swift.common.
Traceback (most recent call last):
File "/usr/local/
cur.
File "/usr/local/
self.timeout, self.db_file, lambda: sqlite3.
File "/usr/local/
return call()
File "/usr/local/
self, *args, **kwargs))
DatabaseError: malformed database schema (bf02358.bin) - near "application": syntax error
pip show swift
---
Name: swift
Version: 2.7.0.post11
Location: /usr/local/
Requires: PyECLib, dnspython, netifaces, greenlet, xattr, six, eventlet, pastedeploy
dpkg -l libsqlite3-0
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii libsqlite3-0:amd64 3.7.13-1+deb7u3 amd64 SQLite 3 shared library
Looking initially at the code, it does seem wont catch this anywhere, not in the broker (or db.py), the container- replicator (replicator or rpc replicator).
From the stack trace it does throw the DatabaseConnect ionError, but we may need to add a new malformed string match.
Now to try and recreate it :)