Re: Potential G2-item cycles under serializable isolation

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Kyle Kingsbury <aphyr(at)jepsen(dot)io>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Potential G2-item cycles under serializable isolation
Date: 2020-06-03 20:08:01
Message-ID: CAH2-WzmawJzuv=OF7O9nqgtTFkitbp++EMk4NTWSyTeYG2zeUg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Kyle,

On Wed, Jun 3, 2020 at 9:44 AM Kyle Kingsbury <aphyr(at)jepsen(dot)io> wrote:
> OK, I think we're all set. With Jepsen 0ec25ec3, you should be able to run:
>
> cd stolon;
>
> lein run test-all -w append --max-writes-per-key 4 --concurrency 50 -r 500 --isolation serializable --time-limit 60 --nemesis none --existing-postgres --node localhost --no-ssh --postgres-user jepsen --postgres-password pw

I can almost get this to work now. Thank you for accommodating me here.

I still see this on Postgres 13:

***SNIP***
NFO [2020-06-03 13:00:07,120] jepsen worker 2 - jepsen.util 2 :invoke
:txn [[:r 8338 nil]]
INFO [2020-06-03 13:00:07,120] jepsen worker 2 - jepsen.util 2 :ok
:txn [[:r 8338 [1 2]]]
INFO [2020-06-03 13:00:07,123] jepsen worker 44 - jepsen.util 44
:invoke :txn [[:r 8337 nil] [:r 8336 nil]]
INFO [2020-06-03 13:00:07,125] jepsen worker 44 - jepsen.util 44 :ok
:txn [[:r 8337 [1 2 3]] [:r 8336 [1]]]
INFO [2020-06-03 13:00:07,150] jepsen test runner - jepsen.core Run
complete, writing
INFO [2020-06-03 13:00:08,056] jepsen test runner - jepsen.core Analyzing...
INFO [2020-06-03 13:00:13,670] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G2-item in SCC of 346 transactions
INFO [2020-06-03 13:00:17,626] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G1c in SCC of 3123 transactions
INFO [2020-06-03 13:00:18,841] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-single in SCC of 685 transactions
INFO [2020-06-03 13:00:20,614] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-single-process in SCC of 1505
transactions
INFO [2020-06-03 13:00:24,151] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-single-process in SCC of 756
transactions
INFO [2020-06-03 13:00:26,004] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-single-process in SCC of 289
transactions
INFO [2020-06-03 13:00:27,113] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-single in SCC of 767 transactions
INFO [2020-06-03 13:00:29,679] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G1c-realtime in SCC of 383
transactions
INFO [2020-06-03 13:00:30,954] clojure-agent-send-off-pool-46 -
elle.txn Timing out search for :G-nonadjacent in SCC of 152
transactions
INFO [2020-06-03 13:00:34,478] clojure-agent-send-off-pool-22 -
elle.viz Skipping plot of 78703 bytes
INFO [2020-06-03 13:00:34,484] clojure-agent-send-off-pool-27 -
elle.viz Skipping plot of 96697 bytes
INFO [2020-06-03 13:00:34,650] clojure-agent-send-off-pool-45 -
elle.viz Skipping plot of 97250 bytes
INFO [2020-06-03 13:00:35,847] clojure-agent-send-off-pool-42 -
elle.viz Skipping plot of 145419 bytes
INFO [2020-06-03 13:00:35,882] clojure-agent-send-off-pool-22 -
elle.viz Skipping plot of 197214 bytes
INFO [2020-06-03 13:00:35,996] clojure-agent-send-off-pool-39 -
elle.viz Skipping plot of 409386 bytes
INFO [2020-06-03 13:00:36,166] clojure-agent-send-off-pool-52 -
elle.viz Skipping plot of 894916 bytes
INFO [2020-06-03 13:00:36,428] clojure-agent-send-off-pool-26 -
elle.viz Skipping plot of 427866 bytes
INFO [2020-06-03 13:00:36,735] clojure-agent-send-off-pool-68 -
elle.viz Skipping plot of 137646 bytes
INFO [2020-06-03 13:00:37,698] clojure-agent-send-off-pool-31 -
elle.viz Skipping plot of 205089 bytes
INFO [2020-06-03 13:00:38,251] clojure-agent-send-off-pool-31 -
elle.viz Skipping plot of 81743 bytes
INFO [2020-06-03 13:00:38,341] clojure-agent-send-off-pool-60 -
elle.viz Skipping plot of 222988 bytes
INFO [2020-06-03 13:00:38,998] clojure-agent-send-off-pool-83 -
elle.viz Skipping plot of 104619 bytes
INFO [2020-06-03 13:00:39,048] clojure-agent-send-off-pool-56 -
elle.viz Skipping plot of 191453 bytes
INFO [2020-06-03 13:00:40,142] clojure-agent-send-off-pool-20 -
elle.viz Skipping plot of 85355 bytes
INFO [2020-06-03 13:00:44,027] jepsen test runner - jepsen.core
Analysis complete

INFO [2020-06-03 13:03:04,832] jepsen results - jepsen.store Wrote
/home/pg/code/jepsen/stolon/store/stolon append S (S)
/20200603T125906.000-0700/results.edn
WARN [2020-06-03 13:03:04,836] main - jepsen.core Test crashed!
java.util.concurrent.ExecutionException: java.lang.AssertionError:
Assert failed: No transaction wrote 8119 1
t2
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at clojure.core$deref_future.invokeStatic(core.clj:2300)
at clojure.core$future_call$reify__8439.deref(core.clj:6974)
at clojure.core$deref.invokeStatic(core.clj:2320)
at clojure.core$deref.invoke(core.clj:2306)
***SNIP***

> Or if you'd like, I can hop in an IRC or whatever kind of chat/video session you'd like to help you get these Jepsen tests running.

It would probably be easier to discuss this over chat or something.
I'll provide details off-list.

Thanks
--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Geoghegan 2020-06-03 21:22:06 Re: Potential G2-item cycles under serializable isolation
Previous Message Kyle Kingsbury 2020-06-03 16:44:42 Re: Potential G2-item cycles under serializable isolation