Re: COPY FROM crash
От | David Rowley |
---|---|
Тема | Re: COPY FROM crash |
Дата | |
Msg-id | CAApHDvpQ6t9ROcqbD-OgqR04Kfq4vQKw79Vo6r5j+ciHwsSfkA@mail.gmail.com обсуждение исходный текст |
Ответ на | COPY FROM crash (Zhang Mingli <zmlpostgres@gmail.com>) |
Ответы |
Re: COPY FROM crash
|
Список | pgsql-hackers |
On Tue, 30 Jul 2024 at 15:52, Zhang Mingli <zmlpostgres@gmail.com> wrote: > I have a test on Postgres and it has the similar issue(different places but same function). > > However it’s a little hard to reproduce because it happened when inserting next tuple after a previous copy multi insertbuffer is flushed. > > To reproduce easily, change the Macros to: > > #define MAX_BUFFERED_TUPLES 1 > #define MAX_PARTITION_BUFFERS 0 I think you're going to need to demonstrate to us there's an actual PostgreSQL bug here with a test case that causes a crash without changing the above definitions. It seems to me that it's not valid to set MAX_PARTITION_BUFFERS to anything less than 2 due to the code inside CopyMultiInsertInfoFlush(). If we find the CopyMultiInsertBuffer for 'curr_rri' then that code would misbehave if the list only contained a single CopyMultiInsertBuffer due to the expectation there's another item in the list after the list_delete_first(). If you're only able to get it to misbehave by setting MAX_PARTITION_BUFFERS to less than 2, then my suggested fix would be to add a comment to say that values less than to are not supported. David
В списке pgsql-hackers по дате отправления: