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

Elle couldn't check list-append example described in a paper #20

Open
ligurio opened this issue Dec 6, 2022 · 2 comments
Open

Elle couldn't check list-append example described in a paper #20

ligurio opened this issue Dec 6, 2022 · 2 comments

Comments

@ligurio
Copy link
Contributor

ligurio commented Dec 6, 2022

There is a regression in comparison to previous Elle version.
Elle cannot check example described in paper 1:

elle.core=>  (require '[elle.list-append :as a]
       #_=>             '[jepsen.history :as h])
nil
elle.core=>  (def h (h/history
       #_=>             [{:index 0 :type :invoke  :value [[:append 253 1] [:append 253 3] [:append 253 4] [:append 255 2] [:append 255 3] [:append 255 4] [:append 255 5] [:append 256 1] [:append 256 2]]}
       #_=> {:index 1 :type :ok      :value [[:append 253 1] [:append 253 3] [:append 253 4] [:append 255 2] [:append 255 3] [:append 255 4] [:append 255 5] [:append 256 1] [:append 256 2]]}
       #_=> {:index 2 :type :invoke, :value [[:append 255 8] [:r 253 nil]]}
       #_=> {:index 3 :type :ok,     :value [[:append 255 8] [:r 253 [1 3 4]]]}
       #_=> {:index 4 :type :invoke, :value [[:append 256 4] [:r 255 nil] [:r 256 nil] [:r 253 nil]]}
       #_=> {:index 5 :type :ok,     :value [[:append 256 4] [:r 255 [2 3 4 5 8]] [:r 256 [1 2 4]] [:r 253 [1 3 4]]]}
       #_=> {:index 6 :type :invoke, :value [[:append 250 10] [:r 253 nil] [:r 255 nil] [:append 256 3]]}
       #_=> {:index 7 :type :ok      :value [[:append 250 10] [:r 253 [1 3 4]] [:r 255 [2 3 4 5]] [:append 256 3]]}]))
#'elle.core/h
elle.core=> (pprint (a/check {:consistency-models [:serializable], :directory "out"} h))
{:valid? :unknown,
 :anomaly-types (:empty-transaction-graph),
 :anomalies {:empty-transaction-graph true},
 :not #{},
 :also-not #{}}
nil
elle.core=> 

Version: 49a209f

Footnotes

  1. https://github.com/jepsen-io/elle/blob/main/histories/paper-example.edn

@aphyr
Copy link
Contributor

aphyr commented Dec 6, 2022

I'll betcha this is caused by missing :process fields--might need an explicit warning about that in jepsen.history

ligurio added a commit to ligurio/elle-cli that referenced this issue Dec 9, 2022
Update Jepsen [1] and Elle [2] libraries to the latest versions.
History paper-example.{edn,json} has been updated and field `:process`
been added, see [3].

1. https://github.com/jepsen-io/jepsen/releases/tag/v0.3.0
2. https://github.com/jepsen-io/elle/releases/tag/v0.1.6
3. jepsen-io/elle#20
ligurio added a commit to ligurio/elle-cli that referenced this issue Dec 9, 2022
Update Jepsen [1] and Elle [2] libraries to the latest versions.
History paper-example.{edn,json} has been updated and field `:process`
been added, see [3].

1. https://github.com/jepsen-io/jepsen/releases/tag/v0.3.0
2. https://github.com/jepsen-io/elle/releases/tag/v0.1.6
3. jepsen-io/elle#20
@ligurio
Copy link
Contributor Author

ligurio commented Jan 22, 2024

paper-example.edn broken again between versions 0.1.8 and 0.1.9 (commits 1):

with elle 0.1.8:

$ java -jar target/elle-cli-0.1.7-standalone.jar --model list-append histories/elle/paper-example.edn --anomalies G-single-process --consistency-models linearizable
histories/elle/paper-example.edn        true
$ 

with elle 0.1.9:

$ java -jar target/elle-cli-0.1.7-standalone.jar --model list-append histories/elle/paper-example.end --anomalies G-single-process --consistency-models linearizable
histories/elle/paper-example.edn        false
$ 

is it expected?

Footnotes

  1. https://github.com/jepsen-io/elle/commit/5f9618c3b8f58c3b0a892412841222b251482f99#diff-99d376783605f7f86b1188c627a3db44967858581fe9730fa364d4a07b2065e7

ligurio added a commit to ligurio/elle-cli that referenced this issue Jan 24, 2024
Elle has been updated to version 0.2.0 [1].
The failed testcase has been removed, see [2].

1. https://github.com/jepsen-io/elle/releases/tag/v0.2.0
2. jepsen-io/elle#20
ligurio added a commit to ligurio/elle-cli that referenced this issue Jan 24, 2024
Elle has been updated to version 0.2.0 [1].
The failed testcase has been removed, see [2].

1. https://github.com/jepsen-io/elle/releases/tag/v0.2.0
2. jepsen-io/elle#20
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