Open mmd-osm opened 2 years ago
Clone files are generated while minutely diffs are being processed at the same time. Could this have some impact?
It should not. The reads of the clone process (as any reads) are isolated from the writes of the minute updates. That is the whole point of the transactional design.
I suspect that this is one of the bugs that is extremely difficult to reproduce and analyze.
Initially, I created a series of 24 hourly augmented diffs (time interval = 1 hour instead of 1 minute) and compared results on two different servers. For an entire day, there were less than 5 differences in total on nodes, ways and relations.
As I couldn't find a good explanation for the deviations, I started analyzing the nodes_attic_undeleted files with dump_file
and compared the results from two clone databases on the dev instance.
I'm pretty sure this is a strange special case that occurs relatively rarely, otherwise there would be many more differences between the servers.
I'm trying to track down an issue with missing / inconsistent attic versions, when running the following query against clone files in /var/www/clone/*
Query:
At the time of testing this, the following two directories were available:
Clone file 2022-04-11
Clone file 2022-04-10
Issue: Version 1 for node 4379348552 is missing when reading 2022-04-10 clone files.
Version 3 was created at "2022-04-10T04:30:52Z", which happens to be in the 2022-04-10 clone file generation time window (this may be a coincidence).
From my analysis it seems that nodes_attic_undeleted might be lacking some entries, which in turn impacts filter_attic_elements in collect_members.h.
Clone files are generated while minutely diffs are being processed at the same time. Could this have some impact?