Skip to content

Reject logs that violate local process timing constraints #48

Description

@bestchai

We already reject logs that do not have monotonically-increasing-by-1 vector clock stamps for each process. But we should ensure these constraints:

  1. Timestamps should increase monotonically for a single process.
  2. Timestamps should increase monotonically between all happens-before events

E.g., given this regular expression:

(?<timestamp>(\d*)) (?<event>.*)\n(?<host>\w*) (?<clock>.*)

This log violates rule (1) and should be rejected (during parsing):

10001000 x1
a {"a": 1}
10002000 x2
a {"a": 2}
10001000 x3
a {"a": 3}

Instead, the second edge doubles back, overlapping the last node with the first.

Here's an example of the violation of constraint (2), which assumes the process's system clocks are sufficiently-synchronized for the visualization to be meaningful:

10002000 a sends message to b
a {"a": 1}
10001000 b receives message from a
b {"b": 1, "a": 1}

[Issue created by grahamstl: 2017-04-22]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions