Re: Fix overflow of nbatch

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: Fix overflow of nbatch
Дата
Msg-id 2bb6de88-722e-438b-a952-3c947ab56998@vondra.me
обсуждение исходный текст
Ответ на Re: Fix overflow of nbatch  (Tomas Vondra <tomas@vondra.me>)
Ответы Re: Fix overflow of nbatch
Re: Fix overflow of nbatch
Список pgsql-hackers
Hi,

I kept looking at this, and unfortunately the it seems a bit worse :-(

Fixing the overflow is easy enough - adding the cast does the trick.

But then there's the second issue I mentioned - the loop does not adjust
the hash_table_bytes. It updates the *space_allowed, but that's not what
the current_space/new_space formulas use.

This breaks the "balancing" as the nbatch gets decreased until

    nbatch <= (work_mem / BLCKSZ)

while the hash table "space_allowed" is increasing. This may result in
an *increased* memory usage :-(

I also noticed the code does not clamp nbuckets properly as it should.


The question what to do about this. If we got this a week ago, I'd just
probably just revert a1b4f289, and then try again for PG19. After all,
the issue it meant to address is somewhat rare.

But with 18 already stamped ...

I've shared these findings with the rest of the RMT, I'll see what their
thoughts are. Of course, other opinions/suggestions are welcome.


regards

-- 
Tomas Vondra




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