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

[EXPERIMENTAL] new exploration policy: replayable #137

Merged
merged 1 commit into from
Apr 21, 2016
Merged

Conversation

AkihiroSuda
Copy link
Member

@AkihiroSuda AkihiroSuda commented Apr 21, 2016

If event has "replay_hint" hash string (that does not contain time-dependent/random things),
we can semi-deterministically replay a scenario using time.Duration(hash(seed,replay_hint) % maxInterval).

The seed can be set as EQ_REPLAY_SEED.

I tested with example/zk-found-2212.nfqhook/config_replayable_experimental.toml.

  • Test count: 100 times for each
  • Config: replayable(maxInterval=100msec)
    • Reproducibility with random seed: 5% (lower than the result in FOSDEM slice because I used different intervals in this test)
    • Reproducibility with a certain fixed seed: 24% (up!)

If event has "replay_hint" hash string (that does not contain time-dependent/random things),
we can semi-deterministically replay a scenario using time.Duration(hash(seed,replay_hint) % maxInterval).

The seed can be set as EQ_REPLAY_SEED.

I tested with example/zk-found-2212.nfqhook/config_replayable_experimental.toml.

 - Test count: 100 times for each
 - Config: replayable(maxInterval=100msec)
 -- Reproducibility with random seed: 5% (lower than the result in FOSDEM slice because I used different intervals in this test)
 -- Reproducibility with a certain fixed seed: 24% (up!)
@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 45.559% when pulling 13aa33b on suda/wip into 08086d0 on master.

@AkihiroSuda AkihiroSuda merged commit 1324439 into master Apr 21, 2016
AkihiroSuda added a commit that referenced this pull request May 20, 2016
Release Note: http://osrg.github.io/namazu/post/release-0-2-0/

Changes from v0.1.2:

 * New project name (Earthquake --> Namazu)
 * New feature: process inspector (useful for reproducing flaky xUnit test failures)
 * New feature: filesystem inspector (found YARN-4301)
 * New feature: Container CLI (Docker-like, human-friendly CLI)
 * New experimental feature: Semi-deterministic replaying API

Changes from v0.2.0-rc2:

 * #146: Reduce CPU consumption
 * #142: New project name (Earthquake --> Namazu)
 * #140: Integrate `earthquake-container` to `earthquake`
 * #139: Support static build
 * #137: New experimental feature: Semi-deterministic replaying API
 * #131: New minor feature: Standalone orchestrator
 * Improvement on docs
 * Some minor fixes
AkihiroSuda added a commit that referenced this pull request May 20, 2016
Release Note: http://osrg.github.io/namazu/post/release-0-2-0/

Changes from v0.1.2:

 * New project name (Earthquake --> Namazu)
 * New feature: process inspector (useful for reproducing flaky xUnit test failures)
 * New feature: filesystem inspector (found YARN-4301)
 * New feature: Container CLI (Docker-like, human-friendly CLI)
 * New experimental feature: Semi-deterministic replaying API

Changes from v0.2.0-rc2:

 * #146: Reduce CPU consumption
 * #142: New project name (Earthquake --> Namazu)
 * #140: Integrate `earthquake-container` to `earthquake`
 * #139: Support static build
 * #137: New experimental feature: Semi-deterministic replaying API
 * #131: New minor feature: Standalone orchestrator
 * Improvement on docs
 * Some minor fixes
@AkihiroSuda AkihiroSuda mentioned this pull request May 20, 2016
AkihiroSuda added a commit that referenced this pull request May 20, 2016
Release Note: http://osrg.github.io/namazu/post/release-0-2-0/

Changes from v0.1.2:

 * New project name (Earthquake --> Namazu)
 * New feature: process inspector (useful for reproducing flaky xUnit test failures)
 * New feature: filesystem inspector (found YARN-4301)
 * New feature: Container CLI (Docker-like, human-friendly CLI)
 * New experimental feature: Semi-deterministic replaying API

Changes from v0.2.0-rc2:

 * #146: Reduce CPU consumption
 * #142: New project name (Earthquake --> Namazu)
 * #140: Integrate `earthquake-container` to `earthquake`
 * #139: Support static build
 * #137: New experimental feature: Semi-deterministic replaying API
 * #131: New minor feature: Standalone orchestrator
 * Improvement on docs
 * Some minor fixes
AkihiroSuda added a commit that referenced this pull request May 20, 2016
Release Note: http://osrg.github.io/namazu/post/release-0-2-0/

Changes from v0.1.2:

 * New project name (Earthquake --> Namazu)
 * New feature: process inspector (useful for reproducing flaky xUnit test failures)
 * New feature: filesystem inspector (found YARN-4301)
 * New feature: Container CLI (Docker-like, human-friendly CLI)
 * New experimental feature: Semi-deterministic replaying API

Changes from v0.2.0-rc2:

 * #146: Reduce CPU consumption
 * #142: New project name (Earthquake --> Namazu)
 * #140: Integrate `earthquake-container` to `earthquake`
 * #139: Support static build
 * #137: New experimental feature: Semi-deterministic replaying API
 * #131: New minor feature: Standalone orchestrator
 * Improvement on docs
 * Some minor fixes
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants