Improve working with replication servers which only keep part of the history #305
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The geofabrik and openstreetmap.fr replication severs only keep diffs for the last couple of months. This can lead to strange behaviour when trying to download older diffs or trying to update an older extract.
This PR adds a couple of changes to improve handling with these kind of servers:
timestamp_to_sequenceto refuse returning sequence numbers for timestamps older than the oldest available change.collect_diffs()now errors out when the first diff to be downloaded returns a 4xx error. Before it wold just signal that not all diffs could be downloaded, sending the caller potentially in an infinite retry loop.Fixes #257.