Re: Potential G2-item cycles under serializable isolation
От | Peter Geoghegan |
---|---|
Тема | Re: Potential G2-item cycles under serializable isolation |
Дата | |
Msg-id | CAH2-WznDnzcv3meSoQQg0UimBoEohCDy6Leu3eh8e5i0ijcqig@mail.gmail.com обсуждение исходный текст |
Ответ на | Potential G2-item cycles under serializable isolation (Kyle Kingsbury <aphyr@jepsen.io>) |
Ответы |
Re: Potential G2-item cycles under serializable isolation
|
Список | pgsql-bugs |
On Sun, May 31, 2020 at 7:25 PM Kyle Kingsbury <aphyr@jepsen.io> wrote: > Which typically produces, after about a minute, anomalies like the following: > > G2-item #1 > Let: > T1 = {:type :ok, :f :txn, :value [[:r 7 [1]] [:append 12 1]], :time 95024280, > :process 5, :index 50} > T2 = {:type :ok, :f :txn, :value [[:append 7 2] [:r 14 nil] [:append 14 1] > [:r 12 nil]], :time 98700211, :process 6, :index 70} > > Then: > - T1 < T2, because T1 did not observe T2's append of 2 to 7. > - However, T2 < T1, because T2 observed the initial (nil) state of 12, which > T1 created by appending 1: a contradiction! Is the format of these anomalies documented somewhere? How can I determine what SQL each transaction generates from these values? It's not obvious to me which of the three tables (which of txn0, txn1, and txn2) are affected in each case. -- Peter Geoghegan
В списке pgsql-bugs по дате отправления: