zeitgeist team mailing list archive
-
zeitgeist team
-
Mailing list archive
-
Message #01237
[Bug 598666] Re: Error when trying to fetch all items in one query
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
References