Re: 2019-02-14 Press Release Draft,2019-02-14 Press Release Draft - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: 2019-02-14 Press Release Draft,2019-02-14 Press Release Draft
Date
Msg-id 20190213.213503.2128218259912664657.t-ishii@sraoss.co.jp
Whole thread Raw
In response to 2019-02-14 Press Release Draft  ("Jonathan S. Katz" <jkatz@postgresql.org>)
Responses Re: 2019-02-14 Press Release Draft  ("Jonathan S. Katz" <jkatz@postgresql.org>)
List pgsql-hackers
> 2019-02-14 Cumulative Update Release
> ====================================
> 
> The PostgreSQL Global Development Group has released an update to all supported versions of our database system,
including11.2, 10.7, 9.6.12, 9.5.16, and 9.4.21. This release changes the behavior in how PostgreSQL interfaces with
`fsync()`and includes fixes for partitioning and over 70 other bugs that were reported over the past three months.
 
> 
> Users should plan to apply this update at the next scheduled downtime.
> 
> Highlight: Change in behavior with `fsync()`
> ------------------------------------------
> 
> When available in an operating system and enabled in the configuration file (which it is by default), PostgreSQL uses
thekernel function `fsync()` to help ensure that data is written to a disk. In some operating systems that provide
`fsync()`,when the kernel is unable to write out the data, it returns a failure and flushes the data that was supposed
tobe written from its data buffers.
 
> 
> This flushing operation has an unfortunate side-effect for PostgreSQL: if PostgreSQL tries again to write the data to
diskby again calling `fsync()`, `fsync()` will report back that it succeeded, but the data that PostgreSQL believed to
besaved to the disk would not actually be written. This presents a possible data corruption scenario.
 
> 
> This update modifies how PostgreSQL handles a `fsync()` failure: PostgreSQL will no longer retry calling `fsync()`
butinstead will panic. In this case, PostgreSQL can then replay the data from the write-ahead log (WAL) to help ensure
thedata is written. While this may appear to be a suboptimal solution, there are presently few alternatives and, based
onreports, the problem case occurs extremely rarely.
 

Shouldn't we mention that previous behavior (retrying fsync) can be
chosen by a new GUC parameter?

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


pgsql-hackers by date:

Previous
From: Haribabu Kommi
Date:
Subject: Re: [HACKERS] Block level parallel vacuum
Next
From: "Jonathan S. Katz"
Date:
Subject: Re: 2019-02-14 Press Release Draft