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

Implement reconciliation logic #2

Closed
Kn99HN opened this issue Nov 1, 2021 · 2 comments · Fixed by #13
Closed

Implement reconciliation logic #2

Kn99HN opened this issue Nov 1, 2021 · 2 comments · Fixed by #13
Assignees
Labels
enhancement New feature or request

Comments

@Kn99HN
Copy link
Owner

Kn99HN commented Nov 1, 2021

Parse all the trace files: trace-* and carry out the reconciliation logic with vector clock.

Each Event type in the trace file should have timestamp = process_name:path_id:vector_clock. The vector clocks of each event can be reproduced easily in this case.

Using the vector clock, it can be determined which event happened before and after. All the paths can be parsed into a Graph with edges, indicating a happened before relationship. This will be useful when we do DFS validation logic later on.

@Kn99HN Kn99HN added the enhancement New feature or request label Nov 1, 2021
@joyceluyy
Copy link
Collaborator

Hi Khanh, for this issue, I am planning to take two steps, one is to merge the k sorted array into a linearizable one based on the vector clock, then covert the single array to a tree (this part might be more challenging). Do you think if that is the right path to proceed? Thank you.

@Kn99HN
Copy link
Owner Author

Kn99HN commented Nov 2, 2021

I think that sounds reasonable! But I think it would be more fruitful for us to use a graph DS in this case since some events might happen concurrently. I think topological sort can come in handy (thou I vaguely remember the algorithm itself).

@joyceluyy joyceluyy linked a pull request Nov 6, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants