HomeSoftware Heritage

Improve out-of-order revision processing

Description

Improve out-of-order revision processing

Fix issue when processing revision in batch

If any revision in the batch was invalidating a frontier, the commit of
the complete batch failed. This is now fixed.

Refine maxdate calculation

Added a flag to the IsochroneNode to identify invalidated frontiers
and force its update later when processing the graph. This should
guarantee the same results when processing revision one-by-one vs. in
batches (in terms of db rows).

Remove directory_invalidate_in_isochrone_frontier method from provenance interface

It was meant to be used in a multi-thread scenario which is not possible
due to Python's lack of actual parallelism. This way the
build_isochrone_graph function is guaranteed not to modify the DB (it
performs only reads now). Also the isochrone graph test was updated to
use revision_add with a new flag to avoid commits, hence emulating the
batch processing behaviour.

Details

Provenance
aevisoAuthored on Jun 8 2021, 4:17 PM
aevisoPushed on Jun 14 2021, 12:14 PM
Differential Revision
D5847: Improve out-of-order revision processing
Parents
rDPROV30bff867e97f: Add isochrone graph tests for the remaining heuristics
Branches
Unknown
Tags
Unknown
Build Status
Buildable 21958
Build 34152: test-and-buildJenkins console · Jenkins