Skip to content
This repository was archived by the owner on Dec 13, 2021. It is now read-only.

Commit 9c70026

Browse files
committed
Release v0.1.2
* New feature: Branch Analyzer (for Java) * Reproduced ZooKeeper bug #2080 * Found etcd bug #3517 (fixed in #3530)
1 parent eed3212 commit 9c70026

File tree

9 files changed

+19
-31
lines changed

9 files changed

+19
-31
lines changed

README.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Earthquake: Dynamic Model Checker for Distributed Systems
22

3+
[![Release](http://github-release-version.herokuapp.com/github/osrg/earthquake/release.svg?style=flat)](https://github.com/osrg/earthquake/releases/latest)
34
[![Join the chat at https://gitter.im/osrg/earthquake](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/osrg/earthquake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
45
[![Circle CI](https://circleci.com/gh/osrg/earthquake.svg?style=svg)](https://circleci.com/gh/osrg/earthquake)
56

67
Earthquake is a dynamic model checker (DMCK) for real implementations of distributed system (such as ZooKeeper).
78

8-
[http://osrg.github.io/earthquake/](http://osrg.github.io/earthquake/)
9+
Blog: [http://osrg.github.io/earthquake/](http://osrg.github.io/earthquake/)
910

1011
Earthquakes permutes C/Java function calls, Ethernet packets, and injected fault events in various orders so as to find implementation-level bugs of the distributed system.
1112
When Earthquake finds a bug, Earthquake automatically records [the event history](example/zk-found-2212.ryu) and helps you to analyze which permutation of events triggers the bug.
@@ -14,21 +15,16 @@ Basically, Earthquake permutes events in a random order, but you can write your
1415

1516
## Found/Reproduced Bugs
1617
* ZooKeeper:
17-
* Found [ZOOKEEPER-2212](https://issues.apache.org/jira/browse/ZOOKEEPER-2212)
18-
* Reproduced [ZOOKEEPER-2080](https://issues.apache.org/jira/browse/ZOOKEEPER-2080)
18+
* Found [ZOOKEEPER-2212](https://issues.apache.org/jira/browse/ZOOKEEPER-2212): [blog article](http://osrg.github.io/earthquake/post/zookeeper-2212/) ([repro code](example/zk-found-2212.ryu))
19+
* Reproduced [ZOOKEEPER-2080](https://issues.apache.org/jira/browse/ZOOKEEPER-2080): ([repro code](example/zk-repro-2080.nfqhook))
1920
* etcd:
20-
* Found [#3517](https://github.com/coreos/etcd/issues/3517), fixed in [#3530](https://github.com/coreos/etcd/pull/3530)
21-
22-
Please see [example/README.md](example/README.md).
21+
* Found [#3517](https://github.com/coreos/etcd/issues/3517), fixed in [#3530](https://github.com/coreos/etcd/pull/3530): ([repro code](example/etcd/3517-reproduce))
2322

2423
## Quick Start
25-
NOTE: [v0.1.1](https://github.com/osrg/earthquake/releases/tag/v0.1.1) might be stabler than the master branch.
26-
27-
* How to set up the environment: [doc/how-to-setup-env.md](doc/how-to-setup-env.md)
28-
* Example: Finding a distributed race condition bug of ZooKeeper([ZOOKEEPER-2212](https://issues.apache.org/jira/browse/ZOOKEEPER-2212)): [example/zk-found-2212.ryu](example/zk-found-2212.ryu)
24+
* How to set up the environment: [GettingStarted](http://osrg.github.io/earthquake/gettingStarted/) ([some extra info](doc/how-to-setup-env.md))
25+
* Example: Finding a distributed race condition bug of ZooKeeper([ZOOKEEPER-2212](https://issues.apache.org/jira/browse/ZOOKEEPER-2212)): [blog article](http://osrg.github.io/earthquake/post/zookeeper-2212/) ([repro code](example/zk-found-2212.ryu))
2926

30-
## Archtecture
31-
Please see [doc/arch.md](doc/arch.md).
27+
NOTE: [the latest release](https://github.com/osrg/earthquake/releases/latest) might be stabler than the master branch.
3228

3329
## Talks
3430
* Earthquake was presented at the poster session of [ACM Symposium on Cloud Computing (SoCC)](http://acmsocc.github.io/2015/). (August 27-29, 2015, Hawaii)
@@ -39,4 +35,5 @@ Please feel free to send your pull requests on github!
3935

4036
## Copyright
4137
Copyright (C) 2015 [Nippon Telegraph and Telephone Corporation](http://www.ntt.co.jp/index_e.html).
38+
4239
Released under [Apache License 2.0](LICENSE).

analyzer/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ Just finding bugs is not enough for improving quality of the target software.
44

55
The quality gets improved only after identifying the root cause of bugs, and fixing them.
66

7-
Earthquake provides event history storage for estimating bug causes.
8-
9-
We are also planning to add support for analyzing branch-coverage data (e.g. using JaCoCo) so as to pick up suspicious branch patterns.
7+
Earthquake provides the branch-coverage data analyzer so as to pick up suspicious branch patterns.
108

119

1210
Supported languages:
1311

14-
* Java, Scala (JaCoCo)
15-
* Go (go cover)
12+
* JVM languages (JaCoCo)
13+
* planned: Go (go cover)

analyzer/java/base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>net.osrg</groupId>
66
<artifactId>earthquake</artifactId>
7-
<version>0.1.1</version>
7+
<version>0.1.2</version>
88
<packaging>jar</packaging>
99

1010
<name>Earthquake Analyzer (Java)</name>

example/README.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

example/etcd/3517-reproduce/materials/init.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
set -e # exit on an error
44
. ${EQ_MATERIALS_DIR}/lib.sh
55

6-
export ETCD_GIT_COMMIT=c645ac23c0093e2b0a93fa5f07a947344d7ef779
7-
86
CHECK_PREREQUISITES
97
FETCH_ETCD
108
BUILD_DOCKER_IMAGE

example/etcd/3517-reproduce/materials/lib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## CONFIG
44
# EQ_DISABLE=1 # set to disable earthquake
5-
ETCD_GIT_COMMIT=${ETCD_GIT_COMMIT:-master}
5+
ETCD_GIT_COMMIT=${ETCD_GIT_COMMIT:-c645ac23c0093e2b0a93fa5f07a947344d7ef779}
66
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-etcd_testbed}
77

88
ETCD_START_WAIT_SECS=${ETCD_START_WAIT_SECS:-10}

hugo/content/_index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ but we believe that one of the most important reasons is lacking of a good debug
2424
* Reproduced [ZOOKEEPER-2080](https://issues.apache.org/jira/browse/ZOOKEEPER-2080): TBD
2525

2626
* Etcd:
27-
* Found [#3518](https://github.com/coreos/etcd/pulls/3518): TBD
27+
* [#3517](https://github.com/coreos/etcd/issues/3517), fixed in [#3530](https://github.com/coreos/etcd/pull/3530): TBD
28+
29+
The repro codes are located on [earthquake/example](https://github.com/osrg/earthquake/tree/master/example).
2830

2931
# How to use?
3032
Please refer to [Getting Started]({{< relref "gettingStarted.md" >}}).

inspector/java/base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>net.osrg</groupId>
66
<artifactId>earthquake</artifactId>
7-
<version>0.1.1</version>
7+
<version>0.1.2</version>
88
<packaging>jar</packaging>
99

1010
<name>Earthquake Inspector (Java)</name>

libearthquake/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
)
2424

2525
func main() {
26-
c := cli.NewCLI("earthquake", "0.1.1")
26+
c := cli.NewCLI("earthquake", "0.1.2")
2727
c.Args = os.Args[1:]
2828
c.Commands = map[string]cli.CommandFactory{
2929
"tools": toolsCommandFactory,

0 commit comments

Comments
 (0)