Skip to content

Add partition nemesis #17

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

Closed
ligurio opened this issue Sep 25, 2020 · 0 comments
Closed

Add partition nemesis #17

ligurio opened this issue Sep 25, 2020 · 0 comments
Labels

Comments

@ligurio
Copy link
Member

ligurio commented Sep 25, 2020

partition - introduce network partitions into the cluster that isolates a randomly chosen node from the rest of the nodes in the cluster.

ligurio added a commit that referenced this issue Oct 7, 2020
Closes #16
Closes #17
Closes #21
Closes #25
Closes #34
ligurio added a commit that referenced this issue Oct 7, 2020
Write via leader only

Closes #16
Closes #17
Closes #21
Closes #25
Closes #34
ligurio added a commit that referenced this issue Oct 14, 2020
Write via leader only

Closes #16
Closes #17
Closes #21
Closes #25
Closes #34
ligurio added a commit that referenced this issue Oct 14, 2020
Write via leader only

Closes #16
Closes #17
Closes #21
Closes #25
Closes #34
ligurio added a commit that referenced this issue Oct 16, 2020
Closes #16
Closes #17
Closes #21
Closes #25
Closes #34
ligurio added a commit that referenced this issue Oct 16, 2020
Closes #34
Closes #16
Closes #17
Closes #21
Closes #25
ligurio added a commit that referenced this issue Oct 16, 2020
Closes #34
Closes #16
Closes #17
Closes #21
Closes #25
ligurio added a commit that referenced this issue Oct 16, 2020
Closes #34
Closes #16
Closes #17
Closes #21
Closes #25
ligurio added a commit that referenced this issue Oct 16, 2020
Closes #34
Closes #16
Closes #17
Closes #21
Closes #25
ligurio added a commit that referenced this issue Oct 17, 2020
Works: clock nemesis

Closes #34
Closes #16 (kill)
Closes #17 (partition)
Closes #21 (pause)
Closes #25 (clock)
ligurio added a commit that referenced this issue Oct 19, 2020
Works: clock nemesis

Closes #34
Closes #25 (clock)

Needed for #16 (kill)
Needed for #17 (partition)
Needed for #21 (pause)
ligurio added a commit that referenced this issue Oct 19, 2020
```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

Closes #34
Closes #16 (kill)
Closes #17 (partition)
Closes #21 (pause)
ligurio added a commit that referenced this issue Oct 19, 2020
Works: clock nemesis

Closes #34
Closes #25 (clock)

Needed for #16 (kill)
Needed for #17 (partition)
Needed for #21 (pause)
ligurio added a commit that referenced this issue Oct 19, 2020
```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

Closes #34
Closes #16 (kill)
Closes #17 (partition)
Closes #21 (pause)
ligurio added a commit that referenced this issue Oct 20, 2020
Added support of fault-injections that can be run during workload execution.

Supported fault-injections:
- pause, that pause and continue desired process using Unix signals;
- kill, that kill desired process usingn Unix signal;
- partition, that split and isolate parts of cluster from each other;
- clock, that adds clock skew;

Fault-injections can be enabled using command-line option `--nemesis` with
comma-separated list of nemesis faults or a group of them: `all`, `standard`
and `none`. Option `--nemesis-interval` allows to specify how long to wait
between nemesis faults.

Needed for #34
Needed for #16 (kill)
Needed for #17 (partition)
Needed for #21 (pause)

Closes #25 (clock)
ligurio added a commit that referenced this issue Oct 20, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #34
Closes #16 (kill)
Closes #17 (partition)
Closes #21 (pause)
ligurio added a commit that referenced this issue Oct 20, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #34
Closes #16 (kill)
Closes #17 (partition)
Closes #21 (pause)
ligurio added a commit that referenced this issue Oct 21, 2020
Added support of fault-injections that can be run during workload execution.

Supported fault-injections:
- pause, that pause and continue desired process using Unix signals;
- kill, that kill desired process usingn Unix signal;
- partition, that split and isolate parts of cluster from each other;
- clock, that adds clock skew;

Fault-injections can be enabled using command-line option `--nemesis` with
comma-separated list of nemesis faults or a group of them: `all`, `standard`
and `none`. Option `--nemesis-interval` allows to specify how long to wait
between nemesis faults.

Closes #34
Closes #25
Closes #21
Closes #16
Needed for #17
ligurio added a commit that referenced this issue Oct 21, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #43
Closes #17
ligurio added a commit that referenced this issue Oct 21, 2020
Added support of fault-injections that can be run during workload execution.

Supported fault-injections:
- pause, that pause and continue desired process using Unix signals;
- kill, that kill desired process usingn Unix signal;
- partition, that split and isolate parts of cluster from each other;
- clock, that adds clock skew;

Fault-injections can be enabled using command-line option `--nemesis` with
comma-separated list of nemesis faults or a group of them: `all`, `standard`
and `none`. Option `--nemesis-interval` allows to specify how long to wait
between nemesis faults.

Closes #34
Closes #25
Closes #21
Closes #16
Needed for #17
ligurio added a commit that referenced this issue Oct 21, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #43
Closes #17
ligurio added a commit that referenced this issue Oct 21, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #43
Closes #17
ligurio added a commit that referenced this issue Oct 21, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #43
Closes #17
ligurio added a commit that referenced this issue Oct 21, 2020
Added support of fault-injections that can be run during workload execution.

Supported fault-injections:
- pause, that pause and continue desired process using Unix signals;
- kill, that kill desired process usingn Unix signal;
- partition, that split and isolate parts of cluster from each other;
- clock, that adds clock skew;

Fault-injections can be enabled using command-line option `--nemesis` with
comma-separated list of nemesis faults or a group of them: `all`, `standard`
and `none`. Option `--nemesis-interval` allows to specify how long to wait
between nemesis faults.

Closes #34
Closes #25
Closes #21
Closes #16
Needed for #17
ligurio added a commit that referenced this issue Oct 21, 2020
Added support of fault-injections that can be run during workload execution.

Supported fault-injections:
- pause, that pause and continue desired process using Unix signals;
- kill, that kill desired process usingn Unix signal;
- partition, that split and isolate parts of cluster from each other;
- clock, that adds clock skew;

Fault-injections can be enabled using command-line option `--nemesis` with
comma-separated list of nemesis faults or a group of them: `all`, `standard`
and `none`. Option `--nemesis-interval` allows to specify how long to wait
between nemesis faults.

Closes #34
Closes #25
Closes #21
Closes #20
Closes #19
Closes #16
Needed for #17
ligurio added a commit that referenced this issue Oct 21, 2020
Early versions of tests always first node as a primary in a cluster.
With automated leader election leader can be on any node in clustera,
so discovery of primary instance has been added.

It consists of SQL function `_LEADER()` implemented in Lua,

```
unix/:/var/run/tarantool/jepsen.control> box.execute([[SELECT _LEADER()]])
---
- metadata:
  - name: COLUMN_1
    type: string
  rows:
  - ['89.208.84.154']
...
```

`primary` function that connects to desired node and gets IP address of primary
instance using `_LEADER()` function and `primaries` function that gather
information about primaries on every node in a cluster.

Closes #43
Closes #17
ligurio added a commit that referenced this issue Oct 22, 2020
- pause
- kill
- partition with :primaries

Fixes #68
Fixes #59
See also: #16 #17 #21
ligurio added a commit that referenced this issue Oct 23, 2020
- pause
- kill
- partition with :primaries

Fixes #68
Needed for #59
See also: #16 #17 #21
ligurio added a commit that referenced this issue Oct 23, 2020
ligurio added a commit that referenced this issue Oct 23, 2020
ligurio added a commit that referenced this issue Oct 23, 2020
- pause
- kill
- partition with :primaries

Fixes #68
Needed for #59
See also: #16 #17 #21
ligurio added a commit that referenced this issue Oct 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant