tritcask crash if there are no keydir stats for an inactive file
Bug #848224 reported by
Guillermo Gonzalez
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Ubuntu One Client | Status tracked in Trunk | |||||
Stable-1-6 |
Fix Released
|
High
|
Guillermo Gonzalez | |||
Trunk |
Fix Released
|
High
|
Guillermo Gonzalez | |||
ubuntuone-client (Ubuntu) |
Fix Released
|
High
|
dobey | |||
Natty |
Invalid
|
High
|
Unassigned | |||
Oneiric |
Fix Released
|
High
|
dobey |
Bug Description
If there are no stats for a inactive data file, e.g: the file is 100% deletes (tombstones) there are no stats for that in the keydir and tritcask crash with a KeyError
Related branches
lp:~verterok/ubuntuone-client/fix-848224-1-6
- Guillermo Gonzalez: Approve
- Facundo Batista (community): Approve
-
Diff: 107 lines (+45/-11)2 files modifiedtests/syncdaemon/test_tritcask.py (+30/-0)
ubuntuone/syncdaemon/tritcask.py (+15/-11)
lp:~verterok/ubuntuone-client/fix-848224
- Facundo Batista (community): Approve
-
Diff: 99 lines (+44/-11)2 files modifiedtests/syncdaemon/test_tritcask.py (+29/-0)
ubuntuone/syncdaemon/tritcask.py (+15/-11)
Changed in ubuntuone-client: | |
status: | Triaged → In Progress |
Changed in ubuntuone-client: | |
status: | In Progress → Fix Committed |
Changed in ubuntuone-client (Ubuntu): | |
assignee: | nobody → Rodney Dawes (dobey) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in ubuntuone-client (Ubuntu Oneiric): | |
milestone: | none → ubuntu-11.10 |
Changed in ubuntuone-client (Ubuntu Natty): | |
milestone: | none → natty-updates |
tags: | added: u1-natty-sru |
Changed in ubuntuone-client (Ubuntu Natty): | |
importance: | Undecided → High |
To post a comment you must log in.
python /usr/lib/ ubuntuone- client/ ubuntuone- syncdaemon --debug SyncDaemon. Main - INFO - Starting Ubuntu One client version 1.6.2 SyncDaemon. tritcask - INFO - Initializing Tritcask on: /home/lauratika /.local/ share/ubuntuone /syncdaemon/ tritcask SyncDaemon. tritcask - DEBUG - lookingup data files SyncDaemon. tritcask - INFO - found 3 data files and 0 dead files SyncDaemon. tritcask - DEBUG - building the keydir, using: ['131580868115017', '131580860858513'] SyncDaemon. tritcask - DEBUG - loading entries from hint of: /home/lauratika /.local/ share/ubuntuone /syncdaemon/ tritcask/ 131580860858513 .inactive. tritcask- v1.data SyncDaemon. tritcask - DEBUG - loading entries from hint of: /home/lauratika /.local/ share/ubuntuone /syncdaemon/ tritcask/ 131580868115017 .inactive. tritcask- v1.data SyncDaemon. tritcask - DEBUG - Ignoring empty live file. SyncDaemon. tritcask - INFO - keydir ready! (keys: 27707) SyncDaemon - ERROR - Unexpected error ubuntuone- client/ ubuntuone- syncdaemon" , line 190, in <module> ubuntuone- client/ ubuntuone- syncdaemon" , line 139, in main files=options. ignore) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ main.py" , line 100, in __init__ Tritcask( self.tritcask_ dir) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 578, in __init__ _rotate_ and_merge( ) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 638, in _rotate_and_merge merge(self. _immutable) : pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 619, in should_merge pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 513, in get_stats file_id] .copy() ubuntuone- client/ ubuntuone- syncdaemon" , line 190, in <module> ubuntuone- client/ ubuntuone- syncdaemon" , line 139, in main files=options. ignore) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ main.py" , line 100, in __init__ Tritcask( self.tritcask_ dir) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 578, in __init__ _rotate_ and_merge( ) pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 638, in _rotate_and_merge merge(self. _immutable) : pymodules/ python2. 7/ubuntuone- client/ ubuntuone/ syncdaemon/ tritcask. py", line 619, in should_merge pymodules/ python2. 7/ub...
2011-09-12 13:48:26,882 - ubuntuone.
2011-09-12 13:48:26,917 - ubuntuone.
2011-09-12 13:48:26,918 - ubuntuone.
2011-09-12 13:48:26,918 - ubuntuone.
2011-09-12 13:48:26,919 - ubuntuone.
2011-09-12 13:48:26,919 - ubuntuone.
2011-09-12 13:48:28,024 - ubuntuone.
2011-09-12 13:48:28,029 - ubuntuone.
2011-09-12 13:48:28,029 - ubuntuone.
2011-09-12 13:48:28,030 - ubuntuone.
Traceback (most recent call last):
File "/usr/lib/
main(sys.argv)
File "/usr/lib/
ignore_
File "/usr/lib/
self.db = tritcask.
File "/usr/lib/
self.
File "/usr/lib/
if self.should_
File "/usr/lib/
for file_id in file_ids])
File "/usr/lib/
return self._stats[
KeyError: '131580868115017'
Traceback (most recent call last):
File "/usr/lib/
main(sys.argv)
File "/usr/lib/
ignore_
File "/usr/lib/
self.db = tritcask.
File "/usr/lib/
self.
File "/usr/lib/
if self.should_
File "/usr/lib/
for file_id in file_ids])
File "/usr/lib/