Ticket #5788 (closed defect: worksforme)
Trac 0.10.4 requires resync on solaris after every commit
| Reported by: | d1capelis@… | Owned by: | cboos |
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | version control | Version: | 0.10.4 |
| Severity: | major | Keywords: | solaris needinfo |
| Cc: |
Description (last modified by cboos) (diff)
I poked folks in the #trac channel about this one and they told me to file it. Took me a bit because I was trying to verify again that it isn't my own fault. :) The short summary isn't entirely accurate.... as sometimes with *small* repositories we don't get the error thrown, but large repos still require a resync every time. I just get the dreaded No such revision message (specifying the revision that was just committed) and it doesn't go away until I resync. I've had to install SVN hooks to resync after post-commit to make trac workable for us for now. (Love the software, just this bug tends to really interfere in workflow.) We're running trac on solaris and so it's not as well integrated as it is on linux. Frankly, even after me checking it, the bug might be an installation issue still as we had to do some pretty odd things to get it all installed.
Some details of what it's running:
python 2.3 solaris 9 trac 0.10.4 subversion 1.4.3 + bindings openidplugin from trac-hacks
Slight code modification that seemed to be necessary with the openid plugin. (found this code change recommended in another bug on a similar issue a few version back) However, I'm pretty sure this isn't the cause of the bug: (Old code commented, my code the line above)
From trac-0.10.4/trac/db/sqlite_backend.py:
if have_pysqlite == 2:
self._active_cursors = weakref.WeakKeyDictionary()
timeout = int(params.get('timeout', 10.0))
cnx = sqlite.connect(path, detect_types=sqlite.PARSE_DECLTYPES,
check_same_thread=False,
# check_same_thread=sqlite_version < 30301,
timeout=timeout)
Yeah, I know it's a hack, but apparently it was needed...
Anyways, back to the bug. I also get the no such revision found error whenever I view a changeset above a certain size (not sure whether it's number of files or amount of data yet) specifying that it can't find that revision. I don't get this on revisions with only a few changed lines or only a few files. But on commits with lots of things added, it seems to always throw an error, but unlike the symptom described above where after every commit, the entire trac just shows an error, this only happens when you click on a large commit and doesn't go away after a resync.
Thanks folks, keep up the good work. :)


