{"push_id":1127620088,"size":37,"distinct_size":37,"ref":"refs/heads/master","head":"cd69f0b3fdea76b58afdb051aab97a62c28db5be","before":"4229f80026af4caced7c4fd96233ac7e76a1a2ae","commits":[{"sha":"308f0c8c709c41cb12a4fe00cc9c3e7db7d41981","author":{"email":"33127cf86effea55bb23203cd9a79171e4766733@mail.ustc.edu.cn","name":"water32"},"message":"Update gparray.py\n\nOld code query instance's database data directory, one query per instance.\nThis will generate many logs to log file, example: gpstate\nNew code, query all data about database's data directory, map date to key -> array, then set to segments object.\nSo use one query replace many query avoid many times query in database.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/308f0c8c709c41cb12a4fe00cc9c3e7db7d41981"},{"sha":"e8c990fd1edb89106d340e23c17cfd462d6f0eb4","author":{"email":"9b5ecfe15c9cd044f4ab483a287130e4bc266a44@pivotal.io","name":"Jimmy Yih"},"message":"Validate the previous free TID in gp_persistent_relation_node.\n\nPreviously, previous free TID validation was done under the GUC\npersistent_integrity_checks. This commit extracts the previous free TID\nvalidation into another GUC validate_previous_free_tid and is enabled by\ndefault. If the validation detects a corruption in the free TID list, we\nwill now switch to a new free TID list and leave the corrupted one detached\nfor cleanup during persistent table rebuild or during crash recovery.\n\nAuthors: Jimmy Yih and Abhijit Subramanya","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/e8c990fd1edb89106d340e23c17cfd462d6f0eb4"},{"sha":"39a15ad876f8e82748b6791e1af41163829f6aa8","author":{"email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io","name":"Heikki Linnakangas"},"message":"Fix relcache reference leaks if readindex() function isn't run to completion.\n\nYou get warnings about relcache reference leaks if you run something like\n\"select readindex('pg_class_oid_index'::regclass) limit 1;\". To fix,\ndon't hold the relcache entries or the buffer pin across calls. Looking\nup the relcache entry on every call adds some overhead, of course, but a\nfull index scan isn't exactly cheap anyway. And this is just a debugging\nfunction, not performance critical.\n\nSpotted by Ashwin Agrawal.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/39a15ad876f8e82748b6791e1af41163829f6aa8"},{"sha":"17ab121e14f31a5edb631541eef8972133cb35ed","author":{"email":"2f1407d2e59627fd1da79c9d4f58d4b2214fddbb@gmail.com","name":"Foyzur Rahman"},"message":"Fixing gang leak during disconnectAndDestroyAllGangs\n\nSigned-off-by: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/17ab121e14f31a5edb631541eef8972133cb35ed"},{"sha":"66881ab4c519c88af5804ed78a46a333d39f9f34","author":{"email":"f60b34804a40a3e985084c8a6d541b0a21eba485@pivotal.io","name":"Chumki Roy"},"message":"Modified gpdiff option --gp_init_file to --gpd_init in mgmt_util for behave tests","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/66881ab4c519c88af5804ed78a46a333d39f9f34"},{"sha":"2b88338493947116bf9bf025084695f207501a7a","author":{"email":"a657aa6fe6df17a9d181476831de52530bd87b81@pivotal.io","name":"Shreedhar Hardikar"},"message":"Fix static_assert call","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/2b88338493947116bf9bf025084695f207501a7a"},{"sha":"a5cfefd968bee45706bc360de4ff8f1a72f4ee09","author":{"email":"a657aa6fe6df17a9d181476831de52530bd87b81@pivotal.io","name":"Shreedhar Hardikar"},"message":"Add support for array types in codegen_utils.\n\nThis is specially useful for using to get a pointer to a member in a\nstructure that is an embedded array.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/a5cfefd968bee45706bc360de4ff8f1a72f4ee09"},{"sha":"c57372340ab6ede37788486b2a5d34aaa7d8bfc8","author":{"email":"2ac9b80e18a33e30d39310e3c14d26dc16fa3863@pivotal.io","name":"Venkatesh (Venky) Raghavan"},"message":"Delete Deadcode: CTranslatorDXLToQuery [#119780063]","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/c57372340ab6ede37788486b2a5d34aaa7d8bfc8"},{"sha":"af7b1b519944907d41d3ffa289b3331e698d6faa","author":{"email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io","name":"Heikki Linnakangas"},"message":"Revert changes related to backend shutdown.\n\nThere were a bunch of changes vs. upstream in the way the PGPROC free list\nwas managed, and the way backend exit was handled. They seemed largely\nunnecessary, and somewhat buggy, so I reverted them. Avoiding unnecessary\ndifferences makes merging with upstream easier too.\n\n* The freelist was protected by atomic operations instead of a spinlock.\nThere was an ABA problem in the implementation, however. In Prepend(), if\nanother backend grabbed the PGPROC we were just about to grab for ourselves,\nand returned it to the freelist before we iterate and notice, we might\nset the head of the free list to a PGPROC that's actually already in use.\nIt's a tight window, and backend startup is quite heavy, so that's unlikely\nto happen in practice. Still, it's a bug. Because backend start up is such\na heavy operation, this codepath is not so performance-critical that you\nwould gain anything from using atomic operations instead of a spinlock, so\njust switch back to using a spinlock like in the upstream.\n\n* When a backend exited, the responsibility to recycle the PGPROC entry\nto the free list was moved to the postmaster, from the backend itself.\nThat's not broken per se, AFAICS, but it violates the general principle of\navoiding shared memory access in postmaster.\n\n* There was a dead-man's switch, in the form of the postmasterResetRequired\nflag in the PGPROC entry. If a backend died unexpectedly, and the flag\nwas set, postmaster would restart the whole server. If the flag was not\nset, it would clean up only the PGPROC entry that was left behind and\nlet the system run normally. However, the flag was in fact always set,\nexcept after ProcKill had already run, i.e. when the process had exited\nnormally. So I don't see the point of that, we might as well rely on the\nexit status to signal normal/abnormal exit, like we do in the upstream. That\nhas worked fine for PostgreSQL.\n\n* There was one more case where the dead-man's switch was activated, even\nthough the backend exited normally: In AuxiliaryProcKill(), if a filerep\nsubprocess died, and it didn't have a parent process anymore. That means\nthat the master filerep process had already died unexpectedly (filerep\nsubprocesses are children of the are not direct children of postmaster).\nThat seems unnecessary, however: if the filerep process had died\nunexpectedly, the postmaster should wake up to that, and would restart\nthe server. To play it safe, though, make the subprocess exit with non-zero\nexit status in that case, so that the postmaster will wake up to that, if\nit didn't notice the master filerep process dying for some reason.\n\n* HaveNFreeProcs() was rewritten by maintaining the number of entries\nin the free list in a variable, instead of walking the list to count them.\nPresumably to make backend startup cheaper, when max_connections is high.\nI kept that, but it's slightly simpler now that we use a spinlock to protect\nthe free list again: no need to use atomic ops for the variable anymore.\n\n* The autovacFreeProcs list was not used. Autovacuum workers got their\nPGPROC entry from the regular free list. Fix that, and also add\nmissing InitSharedLatch() call to the initialization of the autovacuum\nworkers list.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/af7b1b519944907d41d3ffa289b3331e698d6faa"},{"sha":"471c025ee009c7890403635189b5dbf8fd92496e","author":{"email":"2ac9b80e18a33e30d39310e3c14d26dc16fa3863@pivotal.io","name":"Venkatesh (Venky) Raghavan"},"message":"Translator changes due to removing of UlSystemColumns api in IMDRelation [#119090047]","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/471c025ee009c7890403635189b5dbf8fd92496e"},{"sha":"e289cb26e9eaa1f903a4c8afc903cd46027e4ef9","author":{"email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io","name":"Daniel Gustafsson"},"message":"Add missing quote character around codegen prefix path list\n\nThe codegen-prefix path list is semicolon separated and must thus\nbe quoted when passed to autoconf as it otherwise breaks up the\ncommandline. Add missing quote character in the README documentation.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/e289cb26e9eaa1f903a4c8afc903cd46027e4ef9"},{"sha":"6cd2d2d2c6631fbdce52bf1ef5e9808c355720a4","author":{"email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io","name":"Daniel Gustafsson"},"message":"Fix typo in fstream Makefile comment","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/6cd2d2d2c6631fbdce52bf1ef5e9808c355720a4"},{"sha":"b9ef5e3f7e16e5d41d0e35ff1e236779e01fc722","author":{"email":"a657aa6fe6df17a9d181476831de52530bd87b81@pivotal.io","name":"Shreedhar Hardikar"},"message":"Fix build error for Annotated types","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/b9ef5e3f7e16e5d41d0e35ff1e236779e01fc722"},{"sha":"1a2bb01d1908582f0ab5741d2f5f15a52accf9b8","author":{"email":"77a6eb4bd9fa0379ab5cc07bb09f3dcf71a7035d@gmail.com","name":"Adam Lee"},"message":"s3ext: add a standalone config checking app\n\nUsage: s3chkcfg -c \"s3://endpoint/bucket/prefix config=path_to_config_file\", to check the configuration.\r\n       s3chkcfg -d \"s3://endpoint/bucket/prefix config=path_to_config_file\", to download and output to stdout.\r\n       s3chkcfg -t, to show the config template.\r\n       s3chkcfg -h, to show this help.\r\n\r\nAlso did refactoring to reuse functions common with s3ext module.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/1a2bb01d1908582f0ab5741d2f5f15a52accf9b8"},{"sha":"be43f6265ee9baf727548d7d5b716f52e64c23de","author":{"email":"2ac9b80e18a33e30d39310e3c14d26dc16fa3863@pivotal.io","name":"Venkatesh (Venky) Raghavan"},"message":"Update Non-deterministic test","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/be43f6265ee9baf727548d7d5b716f52e64c23de"},{"sha":"895b7d506095c31b0938c8574d364dc011faba30","author":{"email":"ebfb6fa79a634ed64a59bdd78edfa125b950b4d8@pivotal.io","name":"Pengzhou Tang"},"message":"Split cdbdisp.c into several files, and put them into a new\ndispatcher/ directory\n\nThis commit has no logic change, it just contains movement of code across\nfiles, to make dispatcher code clearer, and easier for unit testing.\n\nSigned-off-by: Kenan Yao","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/895b7d506095c31b0938c8574d364dc011faba30"},{"sha":"533f3dd43efe49591f66a012abee33155bd0b2f5","author":{"email":"77a6eb4bd9fa0379ab5cc07bb09f3dcf71a7035d@gmail.com","name":"Adam Lee"},"message":"s3ext: complete warnings and set returning values","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/533f3dd43efe49591f66a012abee33155bd0b2f5"},{"sha":"d3f31fef5284565e81756ee5041b6ffe668b3c97","author":{"email":"77a6eb4bd9fa0379ab5cc07bb09f3dcf71a7035d@gmail.com","name":"Adam Lee"},"message":"s3ext: refactor directory structure and misc cleanups","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/d3f31fef5284565e81756ee5041b6ffe668b3c97"},{"sha":"3b3edfb7a77dc3a9b04521719d3427ad76b09c10","author":{"email":"77a6eb4bd9fa0379ab5cc07bb09f3dcf71a7035d@gmail.com","name":"Adam Lee"},"message":"s3ext: remove server dependencies in unit tests\n\nTo get fast feedback. Also deleted some dead codes and improved tests for s3conf.","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/3b3edfb7a77dc3a9b04521719d3427ad76b09c10"},{"sha":"d4f5da6d7b974f96486471a9c84e7cdb288df143","author":{"email":"495b2d5785d874de53b5591ad6176e2e2c701e76@pivotal.io","name":"Andreas Scherbaum"},"message":"Make the demo cluster use it's own logfile directory\n\nThis will no longer spill logfiles from the demo cluster into\nthe users ~/gpAdminLogs directory. Also it makes it easier to\nidentify which logfile was created by the last regression test run.\n\nCloses #689\nCloses #523","distinct":true,"url":"https://api.github.com/repos/Tao-Ma/gpdb/commits/d4f5da6d7b974f96486471a9c84e7cdb288df143"}]}
{"actor":{"display_login":"Tao-Ma"}}