journal_client: Improve stats detection
This adds an integration test which permutes inputs to ensure out of order renders the same result.
This also improves the current algorithm which revealed some hit-and-miss cases:
-
Initialization of the first visit detection (through the "last_snapshot" absence field, the previous implementation check could fail otherwise).
-
out of order policy (ignore old event) in case of supposedly "eventful" event was done too early which ignored too much messages (those new test cases failed in some permutations).
-
This is now specifically checked in case of referenced snapshots which led to cases of possibly changing eventful event into uneventful one. For example, the case of an anterior eventful event is caught which means that the current most-up-to-date eventful event is actually an uneventful one).
-
...
Related to #2967 (closed)
Migrated from D4873 (view on Phabricator)