Re: libpq compression

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: libpq compression
Дата
Msg-id d889e3a2-d3f4-3f8e-aa81-c142e32ddf57@enterprisedb.com
обсуждение исходный текст
Ответ на Re: libpq compression  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: libpq compression  (Kenneth Marshall <ktm@rice.edu>)
Re: libpq compression  (Andrey Borodin <x4mmm@yandex-team.ru>)
Список pgsql-hackers

On 12/22/20 6:56 PM, Robert Haas wrote:
> On Tue, Dec 22, 2020 at 6:24 AM Daniil Zakhlystov
> <usernamedt@yandex-team.ru> wrote:
>> When using bidirectional compression, Postgres resource usage correlates with the selected compression level. For
example,here is the Postgresql application memory usage:
 
>>
>> No compression - 1.2 GiB
>>
>> ZSTD
>> zstd:1 - 1.4 GiB
>> zstd:7 - 4.0 GiB
>> zstd:13 - 17.7 GiB
>> zstd:19 - 56.3 GiB
>> zstd:20 - 109.8 GiB - did not succeed
>> zstd:21, zstd:22  > 140 GiB
>> Postgres process crashes (out of memory)
> 
> Good grief. So, suppose we add compression and support zstd. Then, can
> unprivileged user capable of connecting to the database can negotiate
> for zstd level 1 and then choose to actually send data compressed at
> zstd level 22, crashing the server if it doesn't have a crapton of
> memory? Honestly, I wouldn't blame somebody for filing a CVE if we
> allowed that sort of thing to happen. I'm not sure what the solution
> is, but we can't leave a way for a malicious client to consume 140GB
> of memory on the server *per connection*. I assumed decompression
> memory was going to measured in kB or MB, not GB. Honestly, even at
> say L7, if you've got max_connections=100 and a user who wants to make
> trouble, you have a really big problem.
> 
> Perhaps I'm being too pessimistic here, but man that's a lot of memory.
> 

Maybe I'm just confused, but my assumption was this means there's a 
memory leak somewhere - that we're not resetting/freeing some piece of 
memory, or so. Why would zstd need so much memory? It seems like a 
pretty serious disadvantage, so how could it become so popular?


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: libpq compression
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: On login trigger: take three