Re: crash while decoding INSERT ON CONFLICT

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: crash while decoding INSERT ON CONFLICT
Дата
Msg-id CAH2-Wz=5NkGGjaFwuMePUNpx1OTq+jnB_AWwU9Af-XC1+cAijQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: crash while decoding INSERT ON CONFLICT  (Euler Taveira <euler@timbira.com.br>)
Ответы Re: crash while decoding INSERT ON CONFLICT  (Euler Taveira <euler@timbira.com.br>)
Список pgsql-bugs
On Mon, May 21, 2018 at 1:31 PM, Euler Taveira <euler@timbira.com.br> wrote:
> (gdb) bt full

Have you managed to see the crash more than once in your environment?
I wonder if the problem is somehow related to spilling to a reorder
buffer temp/spool file.

I must admit that I don't really understand the interactions between
this code, within ReorderBufferCommit():

                case REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT:

                    /*
                     * Speculative insertions are dealt with by delaying the
                     * processing of the insert until the confirmation record
                     * arrives. For that we simply unlink the record from the
                     * chain, so it does not get freed/reused while restoring
                     * spooled data from disk.
                     *
                     * ...
                     */

                   ...

                    /* and memorize the pending insertion */
                    dlist_delete(&change->node);
                    specinsert = change;
                    break;

...with the code for dealing with in-memory change records when
loading from disk, within ReorderBufferIterTXNNext():

    /* try to load changes from disk */
    if (entry->txn->nentries != entry->txn->nentries_mem)
    {
        /*
         * Ugly: restoring changes will reuse *Change records, thus delete the
         * current one from the per-tx list and only free in the next call.
         */
        dlist_delete(&change->node);
        dlist_push_tail(&state->old_change, &change->node);
        ...

Perhaps I've missed something obvious.

-- 
Peter Geoghegan


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

Предыдущее
От: Euler Taveira
Дата:
Сообщение: Re: crash while decoding INSERT ON CONFLICT
Следующее
От: Euler Taveira
Дата:
Сообщение: Re: crash while decoding INSERT ON CONFLICT