{"push_id":3599529190,"size":7,"distinct_size":1,"ref":"refs/heads/commitfest/23/2110","head":"4bc3e3ef251c518a678910cf3db4bbdf70d367d8","before":"ac0b2b1241fe9dc4132f91bd777fb44b762726bd","commits":[{"sha":"0edc8fc47bc4482ceac85b09575d6372dbbc0bbf","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"docs:  adjust PG 12 floating point item\n\nReported-by: Andrew Gierth\n\nDiscussion: https://postgr.es/m/87r295hjur.fsf@news-spur.riddles.org.uk","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/0edc8fc47bc4482ceac85b09575d6372dbbc0bbf"},{"sha":"1708974485e82e1cf4694c683faa70fc5bcf142c","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"docs:  add links from the PG 12 release notes to the main docs","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/1708974485e82e1cf4694c683faa70fc5bcf142c"},{"sha":"d56fd6357a5e0e76fecf20c3dc762c5301290331","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"docs:  PG 12 release notes, mention that REINDEX could now fail\n\nThis is because of the new tid in the index entry.\n\nReported-by: Peter Geoghegan","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/d56fd6357a5e0e76fecf20c3dc762c5301290331"},{"sha":"31f11f964734dbe2af2915182bf79f69e337d4d7","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"doc:  remove pg_config mention from PG 12 release notes\n\nReported-by: Tom Lane\n\nDiscussion: https://postgr.es/m/28209.1556556696@sss.pgh.pa.us","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/31f11f964734dbe2af2915182bf79f69e337d4d7"},{"sha":"4217d15d91128355ea13e6fb9c031b826e2a1335","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"docs:  remove second mention of btree max length reduction\n\nI already added that to the incompatibility section as a separate item.\n\nReported-by: Peter Geoghegan","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/4217d15d91128355ea13e6fb9c031b826e2a1335"},{"sha":"85ccb6899c6c8639bb3e5962ea3bcce5d886e613","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Rearrange pgstat_bestart() to avoid failures within its critical section.\n\nWe long ago decided to design the shared PgBackendStatus data structure to\nminimize the cost of writing status updates, which means that writers just\nhave to increment the st_changecount field twice.  That isn't hooked into\nany sort of resource management mechanism, which means that if something\nwere to throw error between the two increments, the st_changecount field\nwould be left odd indefinitely.  That would cause readers to lock up.\nNow, since it's also a bad idea to leave the field odd for longer than\nabsolutely necessary (because readers will spin while we have it set),\nthe expectation was that we'd treat these segments like spinlock critical\nsections, with only short, more or less straight-line, code in them.\n\nThat was fine as originally designed, but commit 9029f4b37 broke it\nby inserting a significant amount of non-straight-line code into\npgstat_bestart(), code that is very capable of throwing errors, not to\nmention taking a significant amount of time during which readers will spin.\nWe have a report from Neeraj Kumar of readers actually locking up, which\nI suspect was due to an encoding conversion error in X509_NAME_to_cstring,\nthough conceivably it was just a garden-variety OOM failure.\n\nSubsequent commits have loaded even more dubious code into pgstat_bestart's\ncritical section (and commit fc70a4b0d deserves some kind of booby prize\nfor managing to miss the critical section entirely, although the negative\nconsequences seem minimal given that the PgBackendStatus entry should be\nseen by readers as inactive at that point).\n\nThe right way to fix this mess seems to be to compute all these values\ninto a local copy of the process' PgBackendStatus struct, and then just\ncopy the data back within the critical section proper.  This plan can't\nbe implemented completely cleanly because of the struct's heavy reliance\non out-of-line strings, which we must initialize separately within the\ncritical section.  But still, the critical section is far smaller and\nsafer than it was before.\n\nIn hopes of forestalling future errors of the same ilk, rename the\nmacros for st_changecount management to make it more apparent that\nthe writer-side macros create a critical section.  And to prevent\nthe worst consequences if we nonetheless manage to mess it up anyway,\nadjust those macros so that they really are a critical section, ie\nthey now bump CritSectionCount.  That doesn't add much overhead, and\nit guarantees that if we do somehow throw an error while the counter\nis odd, it will lead to PANIC and a database restart to reset shared\nmemory.\n\nBack-patch to 9.5 where the problem was introduced.\n\nIn HEAD, also fix an oversight in commit b0b39f72b: it failed to teach\npgstat_read_current_status to copy st_gssstatus data from shared memory to\nlocal memory.  Hence, subsequent use of that data within the transaction\nwould potentially see changing data that it shouldn't see.\n\nDiscussion: https://postgr.es/m/CAPR3Wj5Z17=+eeyrn_ZDG3NQGYgMEOY6JV6Y-WRRhGgwc16U3Q@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/85ccb6899c6c8639bb3e5962ea3bcce5d886e613"},{"sha":"4bc3e3ef251c518a678910cf3db4bbdf70d367d8","author":{"name":"Commitfest Bot","email":"b9e638e07cc2e2abf56c9c0cad7954f2e3bc1641@cputube.org"},"message":"[CF 23/2110] make \\d pg_toast.foo show its indices, and the associated non-toast table\n\nThis commit was automatically generated by a robot at cfbot.cputube.org.\nIt is based on patches submitted to the PostgreSQL mailing lists and\nregistered in the PostgreSQL Commitfest application.\n\nThis branch will be overwritten each time a new patch version is posted to\nthe email thread, and also periodically to check for bitrot caused by changes\non the master branch.\n\nCommitfest entry: https://commitfest.postgresql.org/23/2110\nPatch(es): https://www.postgresql.org/message-id/20190503142721.GC3925@telsasoft.com\nAuthor(s): Justin Pryzby","distinct":true,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/4bc3e3ef251c518a678910cf3db4bbdf70d367d8"}]}
{"actor":{"display_login":"postgresql-cfbot"}}