Ok, first of all: why did you set the importance to critical? just
because it happens a few times for you? Critical with no milestone set
means it will block all future releases for zg, so if we set a task to
critical we should make sure that someone is working on a bug (aka. the
task has an assignee).

I think our main issue here is that we are not blocking our engine, which can 
esp. have effects on long runs (which seems to be the case here `getting all 
events`). We have only one natural lock, its the sqlite lock, which allows only 
one connection at a time. But when our engine is running pure python code, it 
is not locked, so it is possible that our cache is `old`/`outdated` before it 
even has been completely created or updated.
This can also be the reason for `wrong db entries`.

But I should once again say, this is not an important issue, a client
should never request all events (or an undefined number of events),
basically because no client is able to display 5k events, 100 should be
the maximum size. Why do you need *all* events?

-- 
Error when trying to fetch all items in one query
https://bugs.launchpad.net/bugs/598666
You received this bug notification because you are a member of Zeitgeist
Framework Team, which is subscribed to Zeitgeist Framework.

Status in Zeitgeist Framework: Confirmed

Bug description:
When i try to fetch all items in one query i get


Error from Zeitgeist engine: org.freedesktop.DBus.Python.KeyError: Traceback 
(most recent call last):
  File "/usr/lib/pymodules/python2.6/dbus/service.py", line 702, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/remote.py", line 254, in 
FindEvents
    event_templates, storage_state, num_events, result_type, sender))
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/main.py", line 378, in 
find_events
    return self._find_events(1, *args)
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/main.py", line 366, in 
_find_events
    return self.get_events(rows=result, sender=sender)
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/main.py", line 188, in 
get_events
    events[event.id].append_subject(self._get_subject_from_row(row))
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/main.py", line 160, in 
_get_subject_from_row
    getattr(self, "_" + field).value(row["subj_" + field]))
  File "/usr/local/share/zeitgeist/_zeitgeist/engine/sql.py", line 422, in value
    return self._inv_dict[id]
KeyError: 138

This looks serious



_______________________________________________
Mailing list: https://launchpad.net/~zeitgeist
Post to     : zeitgeist@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zeitgeist
More help   : https://help.launchpad.net/ListHelp

Reply via email to