Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reject logs that violate local process timing constraints #48

Open
bestchai opened this issue May 27, 2020 · 0 comments
Open

Reject logs that violate local process timing constraints #48

bestchai opened this issue May 27, 2020 · 0 comments
Labels
bug Something isn't working

Comments

@bestchai
Copy link
Member

bestchai commented May 27, 2020

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]

@bestchai bestchai added the bug Something isn't working label May 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant