Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors

Поиск
Список
Период
Сортировка
От Marina Polyakova
Тема Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors
Дата
Msg-id bcfec2e7ebd6dc741b85650456068914@postgrespro.ru
обсуждение исходный текст
Ответ на Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors  (Kevin Grittner <kgrittn@gmail.com>)
Ответы Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors  (Kevin Grittner <kgrittn@gmail.com>)
Список pgsql-hackers
>>> P.S. Does this use case (do not retry transaction with serialization 
>>> or
>>> deadlock failure) is most interesting or failed transactions should 
>>> be
>>> retried (and how much times if there seems to be no hope of 
>>> success...)?
>> 
>> I can't quite parse that sentence, could you restate?
> 
> The way I read it was that the most interesting solution would retry
> a transaction from the beginning on a serialization failure or
> deadlock failure.  Most people who use serializable transactions (at
> least in my experience) run though a framework that does that
> automatically, regardless of what client code initiated the
> transaction.  These retries are generally hidden from the client
> code -- it just looks like the transaction took a bit longer.
> Sometimes people will have a limit on the number of retries.  I
> never used such a limit and never had a problem, because our
> implementation of serializable transactions will not throw a
> serialization failure error until one of the transactions involved
> in causing it has successfully committed -- meaning that the retry
> can only hit this again on a *new* set of transactions.
> 
> Essentially, the transaction should only count toward the TPS rate
> when it eventually completes without a serialization failure.
> 
> Marina, did I understand you correctly?

Álvaro Herrera in next message of this thread has understood my text 
right:

> As far as I understand her proposal, it is exactly the opposite -- if a
> transaction fails, it is discarded.  And this P.S. note is asking
> whether this is a good idea, or would we prefer that failing
> transactions are retried.

And thank you very much for your explanation how and why transactions 
with failures should be retried! I'll try to implement all of it.

-- 
Marina Polyakova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: [HACKERS] Getting server crash on Windows when using ICU collation
Следующее
От: Marina Polyakova
Дата:
Сообщение: Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors