-
Kirill Smelkov authored
When verifying WCFS we are checking that mtime of particular bigfile corresponds to last transaction that modified its data. However there is a peculiarity that py and go construct time from TID a bit differently with the difference going up to 1µs(*). With that wcfs_test.py, when asserting on timestamps, tries to verify mtime returned by wcfs to tid of corresponding transaction with that 1µs of tolerance. There is a bug, however, in the implementation of tolerance logic. In that logic, when tid is converted to timestamp on py side it is rounded to 6th decimal digit. And it used to work on py2 only due to the fact that on py2 current time is measured to that same 6th decimal digit - to the microsecond precision. That fact is relevant here because ZODB constructs transaction IDs from current time, and if the time precision is only 1µs so will tid, when converted back to time, also have that 1µs precision. However py3, after https://githu...
d2606663