{"push_id":1356169642,"size":24,"distinct_size":24,"ref":"refs/heads/master","head":"aa57775fc8b2ebda65b6cfeb4fcdd4a68b56363f","before":"428fe8a15bee54cf5f44342d19915ced2f859dc1","commits":[{"sha":"c7cd299918058f236e5b436e3edb7bdd255bbf8c","author":{"name":"Marbin Tan","email":"620e76fd4d9447470e0337003ab3e76adbed7ab2@gmail.com"},"message":"Escape distribution key when creating WET in gptransfer (#1182)\n\n* Escape distribution key when creating WET in gptransfer\r\n\r\n* There is an issue where when a user creates a table and the table has\r\n  a column with CAPITAL LETTERS or quotes and that column is used as the\r\n  distributed key, then gptransfer fails. gptransfer tries to create\r\n  the WRITABLE EXTERNAL TABLE for gpfdist with unquoted values and\r\n  breaks; this is because the DISTRIBUTED BY portion is not quoted properly.\r\n* This commit handles the quotation for the distributed key\r\n\r\nAuthors: Marbin Tan & Todd Sedano","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/c7cd299918058f236e5b436e3edb7bdd255bbf8c"},{"sha":"041e0547d5c945edd0296dd88b9404f8cd413ba6","author":{"name":"Shreedhar Hardikar","email":"6de7cf2ba6ba9dcfd239fb92c6f2168443ee4096@pivotal.io"},"message":"Fix used_segspace counter leak\n\nGPDB currently has 2 APIs of creating work files\n  1. Using workfile_mgr :\n\n    1. This uses a workfile set to contain all the related workfiles.\n    2. All workfiles are created under the same directory. As a result,\n       when it is time to delete the workfiles, we can simply delete the directory.\n    3. There is no mechanism to control the exact name of the workfile created.\n       All workfiles are referenced using an ID. `\"%s/spillfile\\_f%u\", work\\_set-\\>path, file\\_no);`\n    4. Deletion of workiles is automatically handled in case of an exception,\n       as all the files are contained in one directory, thus no counter/files are leaked.\n\n  2. Using ExecWorkfile :\n\n    1. There is a Create/Open/Read/Write/Flush/Close API.\n    2. This is the lower-level API also used by workfile_mgr to manage the workfiles directly.\n    3. Each operator is resposible to correctly close the workfile it creates.\n\n  When we write to a workfile, we reserve and add the number of bytes to used_segspace,\n  and add that amount to `workfile->size`. Then, we call `workfile_update_in_progress_size`.\n  If the workfile has an owning workset, we update the workset's `in_progress_size` counter.\n  However, if it has no such workset, we completely ignore the count -\n  and this is what ultimately leaks the `used_segspace` counter.\n\n  This is a fix to account for bytes written in workfiles that are not part of any workfile set -\n  that is those created using the lower level API. Hence when we abort or error out,\n  we subtract this amount from the `used_segspace` counter.\n\nAuthors:\nShreedhar Hardikar <shardikar@pivotal.io>\nXin Zhang <xzhang@pivotal.io>\nKarthikeyan Jambu Rajaraman <karthi.jrk@gmail.com>\nNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/041e0547d5c945edd0296dd88b9404f8cd413ba6"},{"sha":"96f22dac357e04b6e950ca7d36a852b45cb08d5a","author":{"name":"Nikhil Kak","email":"83ab3f4ad51991c4170b6be4fdd82970805fcb50@pivotal.io"},"message":"Print if codegen is enabled/disabled at the beginning of icg/icb\n\nSigned-off-by: Nikos Armenatzoglou <nikos.armenatzoglou@gmail.com>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/96f22dac357e04b6e950ca7d36a852b45cb08d5a"},{"sha":"12cfd7bd5493fcd709c508f625897b7f540b5877","author":{"name":"Nikos Armenatzoglou","email":"f57a902b906b8cf54eee80fb211c5b86711ba0fc@gmail.com"},"message":"Support offset calculation when there is null in the tuple and codegen is enabled\n\nSigned-off-by: Nikhil Kak <nkak@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/12cfd7bd5493fcd709c508f625897b7f540b5877"},{"sha":"6509f0fa207119241f6028cdcf5f5f66350796da","author":{"name":"Wu Ning","email":"5c67ce7d9cdec775a87d969dfcd8840a11ecb607@pivotal.io"},"message":"Refactor gphdfs test cases to work with pg_regress","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/6509f0fa207119241f6028cdcf5f5f66350796da"},{"sha":"2e387d0e9247c7b802ef911f500f6d9e8b955e80","author":{"name":"Jesse Zhang","email":"5e2fc7e57000747fbf2d33f76a3ff452cec131a2@gmail.com"},"message":"Disable aggressive loop optimizations in GCC 4.8+ (#1200)\n\nSummary:\r\n* Properly propagate the C++ compiler from autoconf\r\n* Disable aggressive loop optimizations in GCC 4.8+\r\n\r\nThis commit is in the spirit of postgres/postgres@105f3ef4 , but done\r\nfor C++ code so that the GPORCA translator can properly build when the\r\ncompiler is GCC 4.8+\r\n\r\nFixes greenplum-db/gpdb#1186 .\r\n\r\nTL;DR, here is the additional context on what specific to GPORCA translator:\r\n\r\nGCC 6.2.0 compiler (which is required for codegen) got aggressive loop optimization to remove loop when enumerating variable length array.\r\n\r\nIn code `CTranslatorRelcacheToDXL.cpp`, we have a loop to enumerate all\r\nthe attributes of an index:\r\n\r\n```\r\nINT iAttno = pgIndex->indkey.values[ul];\r\n```\r\n\r\nWhere `values[ul]` is of following data structure:\r\n\r\n```\r\ntypedef struct\r\n{\r\n...\r\n\tint2\t\tvalues[1];\t\t/* VARIABLE LENGTH ARRAY */\r\n} int2vector;\t\t\t\t\t/* VARIABLE LENGTH STRUCT */\r\n```\r\n\r\nThis is standard way of dealing with variable length array in Postgres. However, optimizer\r\nthinking there is only 1 element, hence removed the loop.\r\n\r\nThis caused wrong result when using GPDB with GPORCA. The repro is\r\n```\r\n-- multi-column index\r\ncreate table index_test (a int, b int, c int, d int, e int,\r\n  constraint index_test_pkey PRIMARY KEY (a, b, c, d));\r\n\r\ninsert into index_test select i,i%2,i%3,i%4,i%5 from generate_series(1,100) i;\r\n\r\n-- expecting using index scan with index cond: c=5\r\nexplain select * from index_test where c = 5;\r\n```\r\n\r\nWhen compile with GCC 6.2.0, the `index scan` is not selected, but a `table scan` is chosen\r\ninstead. The root cause is the compiler removed the loop, and only keep the first column.\r\n\r\nThe fix is to add $CXXFLAG auto detection to add the\r\n`-fno-aggressive-loop-optimizations` for $CXX compilers if that version of compiler supporting\r\nsuch optimization. Hence to avoid having the above issue for gpopt component.","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/2e387d0e9247c7b802ef911f500f6d9e8b955e80"},{"sha":"02057c30430c6db0cfebfee54df81d1858e41098","author":{"name":"Dave Cramer","email":"d7b5680fb37b2d29f756291fe983e570b4e442f2@pivotal.io"},"message":"Fix spelling of Filespace Name","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/02057c30430c6db0cfebfee54df81d1858e41098"},{"sha":"67963ee0b169820274097fe771faca38725f8f0a","author":{"name":"Jimmy Yih","email":"98e833c712dc566889d0111a71a89f7346ada3fc@pivotal.io"},"message":"Fix gpactivatestandby after CaQL removal.\n\nIn commit 8df78e67f4de4bda603f021f573e81745102902b, there were some\nCaQL removal. The scan that replaced the CaQL call was using the wrong\ndbid.\n\nAuthor: Jimmy Yih\nReported by @volkovandr in https://github.com/greenplum-db/gpdb/issues/1202","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/67963ee0b169820274097fe771faca38725f8f0a"},{"sha":"7e7870670ef541ac0932d96e4d4c27ed7c2dffd0","author":{"name":"Chris Hajas","email":"5ccdbb8b522782ac8d296843136e494ec918fd04@gmail.com"},"message":"gprecoverseg shouldn't recover segments with persistent mirroring dis… (#1196)\n\ngprecoverseg shouldn't recover segments with persistent mirroring disabled\r\n\r\nIf a cluster with mirrors was rebuilt with the gp persistent rebuild tool without\r\nmirrors, catalog inconsistencies may be present. gprecoverseg should\r\nnot attempt to recover these segments, but should still recover segments\r\nwithout this inconsistency.\r\n\r\nAuthors: Chris Hajas, Chumki Roy, Karen Huddleston","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/7e7870670ef541ac0932d96e4d4c27ed7c2dffd0"},{"sha":"4517f59503c4fbb4a1609d282e4a1b3c2b3380c8","author":{"name":"Chumki Roy","email":"b1677aabb069a4a67bc596a8f898f77979fc6443@pivotal.io"},"message":"Fix pylint warnings in gprecoverseg.\n\nThere is no functional changes in this commit.\n\nAuthors: Chris Hajas and Chumki Roy","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/4517f59503c4fbb4a1609d282e4a1b3c2b3380c8"},{"sha":"ae9882a55662ec28bee8ddcc312532e4aa81ad7c","author":{"name":"Chumki Roy","email":"b1677aabb069a4a67bc596a8f898f77979fc6443@pivotal.io"},"message":"Fix whitespace in gprecoverseg.","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/ae9882a55662ec28bee8ddcc312532e4aa81ad7c"},{"sha":"f0423f1146ba19cb80b1ab73ad62307c49d4dc14","author":{"name":"Marbin Tan","email":"620e76fd4d9447470e0337003ab3e76adbed7ab2@gmail.com"},"message":"Enable GPDB to dump with Netbackup client 7.6 (#1198)\n\n* Enable to build with Netbackup client libraries 7.6\r\n* Remove all libgpbsa shared objects when doing clean\r\n* Add netbackup behave 7.6","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/f0423f1146ba19cb80b1ab73ad62307c49d4dc14"},{"sha":"2687460e258dd0c9e9c626929f98c310e7abc260","author":{"name":"Shoaib Lari","email":"e11ef6bf53cf0228048cf909cb3766160a39e97a@pivotal.io"},"message":"Set persistentTid and persistentSerialNum in XLog record in log_newpage().\n\nThe log_newpage() routine allocates an XLog record on the stack with\nuninitialized persistentTid and persistentSerialNum fields.  Insertion of these\nXLog records causes problems in XLog replay during recovery.\n\nThis commit ensures that the XLog records written by log_newpage() always have\nthe persistentTid and persistentSerial set correctly.\n\nThis commit also makes the test\nsrc/test/tinc/tincrepo/mpp/gpdb/tests/storage/crashrecovery/test_reindex_pg_class.py\npass.\n\nSigned off by: Asim Praveen <apraveen@pivotal.io>, Amil Khanzada\n<akhanzada@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/2687460e258dd0c9e9c626929f98c310e7abc260"},{"sha":"80d1fc211b6cb716ee3e8d43e0001f308e984a92","author":{"name":"Marbin Tan","email":"620e76fd4d9447470e0337003ab3e76adbed7ab2@gmail.com"},"message":"add test for gprecoverseg -r when the segments are waiting to be synchronized (#1192)\n\nThis is a followup test for PR #1005","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/80d1fc211b6cb716ee3e8d43e0001f308e984a92"},{"sha":"352d8d7d835e23d9f4bf9fe4647fdb944d43c85f","author":{"name":"kaknikhil","email":"b5d7cc9edd3d4ddfde1388dd3787d8f8d77999af@users.noreply.github.com"},"message":"Explicitly enable/disable codegen/orca while running installcheck-good and installcheck-bugbuster (#1213)\n\nWhile running installcheck , we are not explicitly setting codegen or orca to \"off\" . This causes confusion and also is prone to bugs where the feature may be turned \"on\" before running installcheck.\r\n\r\nThis commit explicitly turns off the feature during installcheck-good and installcheck-bugbuster.\r\n\r\nThanks,\r\nNikhil & Nikos","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/352d8d7d835e23d9f4bf9fe4647fdb944d43c85f"},{"sha":"4aaf7c03821b166b6ec69cd0ceb668b02fea8746","author":{"name":"Pengzhou Tang","email":"4736f73c0a0a41fcbf6ab8f4c01b0b4c45dc0393@pivotal.io"},"message":"Fix double free error caused by failure of repalloc\n\nFor big chunk, chunk info is freed before the chunk is actually reallocated. If gp_realloc() get failed, existing code do not rollback related info and pfree() will report double free issue due to inconsistent info","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/4aaf7c03821b166b6ec69cd0ceb668b02fea8746"},{"sha":"f626e74dda981f7a71e88f552284c60b11aac856","author":{"name":"Pengzhou Tang","email":"4736f73c0a0a41fcbf6ab8f4c01b0b4c45dc0393@pivotal.io"},"message":"Fix asynchronous gang creation bug which send startup packet to not connected connections\n\nPQconnectPoll() must *not* be called, until the socket is writeable, otherwise PQconnectPoll() assumes that\nthe connect() has finished and sends startup packet to it which is actually not connected yet.","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/f626e74dda981f7a71e88f552284c60b11aac856"},{"sha":"6331aa6884e5ce1ac63c4c02667cc849990c611a","author":{"name":"Jimmy Yih","email":"98e833c712dc566889d0111a71a89f7346ada3fc@pivotal.io"},"message":"Use relpath for ReadBuffer_common error messages.\n\nThis patch refactors ReadBuffer_common to remove relErrMsgString\nargument and use relpath of reln->smgr_rnode instead.\n\nAuthor: Jimmy Yih","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/6331aa6884e5ce1ac63c4c02667cc849990c611a"},{"sha":"cc18e46fd6c9fa7c667e2c12241c2bf948341cb9","author":{"name":"Shreedhar Hardikar","email":"4541b579c4884004751c6cf121c69d07df4a5fe7@users.noreply.github.com"},"message":"Add new task in perf pipeline to setup GPDB (#1204)\n\n* Add new task in perf pipeline to setup GPDB\r\n\r\n* Install GPDB from an installer copied over to the instance\r\n* Add remote_push and remote_pull for easy copying\r\n* Fix failure when remote_run_script is called when EXPORTS is empty\r\n\r\nAuthors:\r\n- Shreedhar Hardikar <shardikar@pivotal.io>\r\n- Omer Arap <oarap@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/cc18e46fd6c9fa7c667e2c12241c2bf948341cb9"},{"sha":"f9c2dfcd7e394e8f9b76b87773c3b6dee5b0b83c","author":{"name":"Adam Lee","email":"6bef8114f791610f325e21bf98cab17795dfd86b@pivotal.io"},"message":"Remove obsolete relaosegrelid and relaosegidxid fields\n\nRelated commit:\n\n    commit 9e1e324d344a6526f1b8310ec3b7d6fb0845daeb\n    Author: Heikki Linnakangas <hlinnakangas@pivotal.io>\n    Date:   Tue Aug 2 00:59:25 2016 +0300\n\n        Remove obsolete relaosegrelid and relaosegidxid fields from pg_class.\n\n        They were not used for anything. Look at segrelid and segidxid in\n        pg_appendonly instead.\n\n[#132551801]\n\nSigned-off-by: Xin Zhang <xzhang@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/yydzero/gpdb/commits/f9c2dfcd7e394e8f9b76b87773c3b6dee5b0b83c"}]}
{"actor":{"display_login":"yydzero"}}