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

Add support for more different kinds of faults #154

Open
2 of 10 tasks
symbiont-stevan-andjelkovic opened this issue Mar 11, 2021 · 2 comments
Open
2 of 10 tasks

Add support for more different kinds of faults #154

symbiont-stevan-andjelkovic opened this issue Mar 11, 2021 · 2 comments
Milestone

Comments

@symbiont-stevan-andjelkovic
Copy link
Contributor

symbiont-stevan-andjelkovic commented Mar 11, 2021

The faults we currently support are:

  • Message omissions (which is enough to simulate partitions);
  • Fail-stop failures, i.e. permanent crashes of nodes.

These are the same faults as used in the linage-driven fault injection papers.

We also partially support:

  • Messages being delayed (latency) or reordered.

By the nature of the scheduler choosing arrival times of messages (note however that these faults are introduced randomly via the seed of the run and not subject to lineage-driven optimisations).

List of other crash faults we'd like to support:

There's also many byzantine faults one can think of, which basically boil down to:

  • Arbitrarily change the state of a node at any time;
  • Arbitrarily change a message between two nodes while it's in transit.

For most of the faults above we know how to introduce them in a random fashion, the tricky part however is to figure out how they interact with the lineage-driven optimisation though.

@symbiont-tom-tantillo
Copy link

💯

@symbiont-wayne-collier
Copy link

Thanks for this summary, Stevan!

@symbiont-stevan-andjelkovic symbiont-stevan-andjelkovic added this to the v0.2 milestone Mar 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants