zeitgeist team mailing list archive
-
zeitgeist team
-
Mailing list archive
-
Message #02982
[Bug 695087] Re: Invalid cache access
*** This bug is a duplicate of bug 598666 ***
https://bugs.launchpad.net/bugs/598666
I've just added a new benchmark test to lp:~zeitgeist/zeitgeist/no-
table-cache, test/cache-test.py, which inserts 1000 events with a
different interpretation each (could as well -and more likely in the
real world- be 1000 different mimetypes or actors, but the code is
basically the same for all of them so I just tried with interpretations)
and then retrieves them one by one filtering by their interpretations.
This benchmark shows us that the cache is indeed justified, so now we
know it's worth to fix it :).
Times (in seconds) with current trunk and having removed the cache:
- Insertion: 0.22 0.34
- Recovery: 0.19 1.90
Here's the same with 100 events and interpretations instead of 1000:
- Insertion: 0.02 0.032
- Recovery: 0.02 0.035
And with 10 events/interpretations:
- Insertion: 0.0025 0.0035
- Recovery: 0.0021 0.0022
--
You received this bug notification because you are a member of Zeitgeist
Framework Team, which is subscribed to Zeitgeist Framework.
https://bugs.launchpad.net/bugs/695087
Title:
Invalid cache access
Status in Zeitgeist Framework:
Triaged
Bug description:
alagos@alagos-desktop:~$ gnome-activity-journal
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
/usr/share/gnome-activity-journal/src/common.py:747: DeprecationWarning: object.__new__() takes no parameters
GIO_FILES[subj] = object.__new__(classtype, *args, **kwargs)
/usr/share/gnome-activity-journal/src/activity_widgets.py:303: GtkWarning: gtk_box_pack: assertion `child->parent == NULL' failed
self.pack_end(hbox)
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/share/zeitgeist/_zeitgeist/engine/remote.py", line 253, in FindEvents
event_templates, storage_state, num_events, result_type, sender))
File "/usr/share/zeitgeist/_zeitgeist/engine/main.py", line 395, in find_events
return self._find_events(1, *args)
File "/usr/share/zeitgeist/_zeitgeist/engine/main.py", line 382, in _find_events
result = self.get_events(ids=[row[0] for row in result], sender=sender)
File "/usr/share/zeitgeist/_zeitgeist/engine/main.py", line 187, in get_events
event = self._get_event_from_row(row)
File "/usr/share/zeitgeist/_zeitgeist/engine/main.py", line 152, in _get_event_from_row
setattr(event, field, getattr(self, "_" + field).value(row[field]))
File "/usr/share/zeitgeist/_zeitgeist/engine/sql.py", line 430, in value
return self._inv_dict[id]
KeyError: 1
References