Re: Less than ideal error reporting in pg_stat_statements
От | Jim Nasby |
---|---|
Тема | Re: Less than ideal error reporting in pg_stat_statements |
Дата | |
Msg-id | 5601E3D1.5010401@BlueTreble.com обсуждение исходный текст |
Ответ на | Re: Less than ideal error reporting in pg_stat_statements (Peter Geoghegan <pg@heroku.com>) |
Ответы |
Re: Less than ideal error reporting in pg_stat_statements
|
Список | pgsql-hackers |
On 9/22/15 5:58 PM, Peter Geoghegan wrote: > On Tue, Sep 22, 2015 at 3:16 PM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: >> At first I thought the lack of context indicated a palloc had failed during >> ereport() (since we apparently just toss the previous error when that >> happens), but it turns out there's some error reporting in >> pg_stat_statements that's less than ideal. Attached patch fixes, though I'm >> not sure if %lld is portable or not. > > + ereport(LOG, > + (errcode(ERRCODE_OUT_OF_MEMORY), > + errmsg("out of memory attempting to pg_stat_statement file"), > + errdetail("file \"%s\": size %lld", PGSS_TEXT_FILE, > stat.st_size))); > > Uh, what? Oops. I'll fix that and address David's concern tomorrow. > I'm not opposed to this basic idea, but I think the message should be > reworded, and that the presence of two separate ereport() call sites > like the above is totally unnecessary. The existing MaxAllocSize check > is just defensive; no user-visible distinction needs to be made. I disagree. If you're running this on a 200+GB machine with plenty of free memory and get that error you're going to be scratching your head. I can see an argument for using the OOM SQLSTATE, but treating an artificial limit the same as a system error seems pretty bogus. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com
В списке pgsql-hackers по дате отправления: