[Zope-dev] Fwd: Help with RelStorage ...
Shane Hathaway
shane at hathawaymix.org
Sat Dec 13 21:56:06 EST 2008
Gareth Bult wrote:
> I'm having a bit of a problem that looks like a 32 bit vs 64 bit issue
> with RelStorage, can anyone help?
We need to get more people to use RelStorage so more people can help. :-)
This looks like a good clue:
> ======================================================================
> FAIL: checkLoadBefore (__main__.MySQLTests)
> ———————————————————————-
> Traceback (most recent call last):
> File
> “/opt/Plone-3.1/Python-2.4/lib/python2.4/site-packages/ZODB3-3.8.1-py2.4-linux-x86_64.egg/ZODB/tests/RevisionStorage.py”,
> line 62, in checkLoadBefore
> assert prev < middle < cur # else the snooze() trick failed
> AssertionError
To debug this, I would add a pdb.set_trace() near this line and examine
the variables when this code fails. Apparently prev >= cur, which
suggests MySQL might be generating bad timestamps.
Ooooh... how about this: ensure the MySQL server and the client are set
to the same time zone and have synchronized clocks (using NTP), then run
the tests again. If that solves the problem, then we need to add a note
about clocks in the documentation.
MySQL does not provide a fine grained current_timestamp() function, so
RelStorage has a workaround that uses the client's timestamp instead.
The workaround is disabled if the client and server are more than 60
seconds apart. I forgot to call this out in the documentation, and I
would really like to find a better solution.
Shane
More information about the Zope-Dev
mailing list