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

Injecting Faults - nemesis #23

Open
kkondru opened this issue Feb 18, 2022 · 4 comments
Open

Injecting Faults - nemesis #23

kkondru opened this issue Feb 18, 2022 · 4 comments

Comments

@kkondru
Copy link

kkondru commented Feb 18, 2022

I'm experimenting with partitioning with Raft protocol. Can anyone help me on how to induce partial/simplex faults where only one way communication is possible?

I see the option --nemesis FAULTS #{}, a comma separated list of faults to inject.

How is this option used? And what I should give in the comma separated list? usually "--nemesis partition" is provided to induce faults

@aphyr
Copy link
Contributor

aphyr commented Feb 18, 2022 via email

@kkondru
Copy link
Author

kkondru commented Feb 19, 2022

Thanks Kyle,

I looked into maelstrom.net, but it doesn't seem to be a related site. I checked "https://github.com/jepsen-io/maelstrom" and it offered a general overview. So, I have to make changes maelstrom codebase for implementing one-way message omissions...? I'm not familiar with Clojure.. will it take much time to learn it!!!

@aphyr
Copy link
Contributor

aphyr commented Feb 19, 2022 via email

@kkondru
Copy link
Author

kkondru commented Mar 25, 2022

Hi,

I'm trying to understand Maelstrom wrapper code and I see that in the nemesis.cli, there's isn't much code. I'm trying to include one-way communication between the nodes. It's invoking Jepsen code to run nemesis. So, I have to now make changes to Jepsen code?

(ns maelstrom.nemesis
"Fault injection"
(:require [clojure.tools.logging :refer [info warn]]
[jepsen [generator :as gen]
[nemesis :as n]
[util :refer [pprint-str]]]
[jepsen.nemesis.combined :as nc]
[slingshot.slingshot :refer [try+ throw+]]))

(defn package
"A full nemesis package. Options are those for
jepsen.nemesis.combined/nemesis-package."
[opts]
(nc/compose-packages
[(nc/partition-package opts)
(nc/db-package opts)]))

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

2 participants