Re: Potential G2-item cycles under serializable isolation
От | Kyle Kingsbury |
---|---|
Тема | Re: Potential G2-item cycles under serializable isolation |
Дата | |
Msg-id | 25801cd7-3e32-c81b-ad9f-0d3e89802c50@jepsen.io обсуждение исходный текст |
Ответ на | Re: Potential G2-item cycles under serializable isolation (Peter Geoghegan <pg@bowt.ie>) |
Список | pgsql-bugs |
On 6/11/20 6:51 PM, Peter Geoghegan wrote: > On Wed, Jun 10, 2020 at 8:14 PM Kyle Kingsbury <aphyr@jepsen.io> wrote: >> I wanted to let you know that I've put together a draft of a report on these >> findings, and if you've got any comments you'd like to offer, I'd be happy to >> hear them, either on-list or privately. >> http://jepsen.io/analyses/postgresql-12.3?draft-token=Kets1Quayfs > You should mention that a fix was committed this morning: > > https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5940ffb221316ab73e6fdc780dfe9a07d4221ebb Ah, fantastic! > You may want to draw attention to the isolation test, since it's a > perfect distillation of the bug. I'm certain that it cannot be > simplified any further. I mentioned it in the discussion, but now I can offer a direct link. Great work. :) > Note that the test involves three transactions/sessions -- not two. > Elle always complained about a pair of transactions that had a cycle, > which were similar to the "foo" and "bar" sessions from the test. But > Elle never said anything about a third transaction (that played the > role of the "trouble" transaction from the test). Of course, this > makes perfect sense -- the third/"trouble" transaction *should* be > totally irrelevant. Note that the UPDATE has to come from a third > session/transaction for things to go awry. And note that the order of > each statement has to match the order from the isolation test. For > example, no problems occur if you flip the order of "trouble_update" > and "bar_select" -- because that would mean that the physical tuple > does not get physically updated before being examined by "bar_select". Ah, thank you. I didn't quite understand this from the second patch commit message. > You should also specifically mention that the next upcoming minor > release will be on August 13th, 2020: > > https://www.postgresql.org/developer/roadmap/ > > Users that are concerned about this bug will be able to get a new > minor release with the fix by that date, at the latest. That's great news. Will do! :) --Kyle
В списке pgsql-bugs по дате отправления: