OperationalError: no such column: SQLITE_SEQUENCE

Asked by Joe Allen

HI...

getting closer but

Account replication appears to be failing with:

Oct 25 23:04:05 segment1 account-replicator ERROR reading db /srv/node/4/sdb4/accounts/63095/4c1/3d9dd27761cb4e8bbe968dac876454c1/3d9dd27761cb4e8bbe968dac876454c1.db: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db_replicator.py", line 323, in _replicate_object info = broker.get_replication_info() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 420, in get_replication_info curs = conn.execute(query_part1 + 'metadata' + query_part2) File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 81, in execute return self._timeout(lambda: sqlite3.Connection.execute( File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 74, in _timeout return call() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 82, in <lambda> self, *args, **kwargs)) OperationalError: no such column: SQLITE_SEQUENCE
Oct 25 23:04:05 segment1 account-replicator ERROR reading db /srv/node/4/sdb4/accounts/26363/6b6/19bee59f5a94512c0650f0d7f2aa36b6/19bee59f5a94512c0650f0d7f2aa36b6.db: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db_replicator.py", line 323, in _replicate_object info = broker.get_replication_info() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 420, in get_replication_info curs = conn.execute(query_part1 + 'metadata' + query_part2) File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 81, in execute return self._timeout(lambda: sqlite3.Connection.execute( File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 74, in _timeout return call() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 82, in <lambda> self, *args, **kwargs)) OperationalError: no such column: SQLITE_SEQUENCE
Oct 25 23:04:05 segment1 account-replicator Replication run OVER

Can you all point me at likely culprits?

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Travis W Kiel (twkiel) said :
#1

Which OS, version of SQLITE, etc are you running? Also is /srv/node/ owned by the swift user (or the user you are running swift services as)?

Revision history for this message
Joe Allen (joe-allen) said :
#2

Ha, trying to get it to work on RHEL5 with sqlite-3.3.6-5 and I have python-sqlite-1.1.7-1.2.1 -- not sure if that is used
but I think it might be)

I can put and get and list objects, create containers, etc.

/srv/node is owned by user swift (the user I am running all services as, well...

The only funny business is that auth service doesnt work unless I run it as root--
I get "Cannot open database file" even though the perms are correct and owned by the swift user.
but that is a different issue i think.

Anyhow it seems that that column is created automatically by sqlite if you have an autoincrement column
and are working in version 3, which I am.

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

Make sure /etc/swift the directory itself is writable by the user. I believe sqlite makes some journal files and such next to the db file during transactions.

Revision history for this message
Mike Barton (redbo) said :
#4

Well, I wonder if there's any way to get the current autoincrement value on older sqlites. It's almost but not quite the same thing as "select max(ROWID) from object".

Revision history for this message
Joe Allen (joe-allen) said :
#5

Well Iam still getting no such column: SQLITE_SEQUENCE

Oct 26 19:32:02 segment1 account-replicator ERROR reading db /srv/node/4/sdb4/accounts/126530/556/7b90a4fea22125d2b01dd4f328ff6556/7b90a4fea22125d2b01dd4f328ff6556.db: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db_replicator.py", line 323, in _replicate_object info = broker.get_replication_info() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 420, in get_replication_info curs = conn.execute(query_part1 + 'metadata' + query_part2) File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 81, in execute return self._timeout(lambda: sqlite3.Connection.execute( File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 74, in _timeout return call() File "/usr/lib/python2.6/site-packages/swift-1.1.0_rc1-py2.6.egg/swift/common/db.py", line 82, in <lambda> self, *args, **kwargs)) OperationalError: no such column: SQLITE_SEQUENC

would it be useful to try to upgrade the sqlite version?

Revision history for this message
gholt (gholt) said :
#6

Based on Mike Barton's comment about older sqlites not having max(ROWID) I think an upgrade of sqlite is needed. I know with my uses it's 3.6.x.

Revision history for this message
gholt (gholt) said :
#7

Sorry, my comment was a bit off, but my recommendation remains the same. I searched through sqlite's version history and couldn't find any references that made sense for what you're seeing. But I'd upgrade and see how it goes.

Can you help with this problem?

Provide an answer of your own, or ask Joe Allen for more information if necessary.

To post a message you must log in.