Re: fix "Success" error messages

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: TAKATSUKA Haruka <harukat@sraoss.co.jp>, pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Michael Paquier <michael@paquier.xyz>
Date: 2019-11-21T09:40:36Z
Lists: pgsql-hackers
On 2019-11-21 02:42, TAKATSUKA Haruka wrote:
>   FATAL: could not access status of transaction ..
>   DETAIL: Could not read from file (pg_clog/.... or pg_xact/....) ...: Success.
> 
> This error has caused the server to fail to start with recovery.
> I got a report that it happend repeatedly at the newly generated
> standby cluster. I gave them advice to comfirm the low level server
> environment.
> 
> However, in addition to improving the message, should we retry to read
> the rest of the data in the case reading too few bytes?
> What about a limited number of retries instead of a complete loop?

If we thought that would help, there are probably hundreds or more other 
places where we read files that would need to be fixed up in the same 
way.  That doesn't seem reasonable.

Also, it is my understanding that short reads can in practice only 
happen if the underlying storage is having a serious problem, so 
retrying wouldn't actually help much.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Better error messages for short reads/writes in SLRU

  2. pg_checksums: Handle read and write returns correctly

  3. Use consistent style for checking return from system calls