{"push_id":3131045659,"size":11,"distinct_size":11,"ref":"refs/heads/master","head":"e833befe7b2a80ebb077dac063ca5aabcd1c8f25","before":"64713257159a109388bb066b47f1be73575fede8","commits":[{"sha":"134f9f657a03bac1550fa94137a6a942637bc20d","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Fix compilation with AMS_VERBOSE_LOGGING.\n\nI'm not sure if anyone cares about it, but this at least makes it compile\nagain.\n\nReviewed-by: Shaoqi Bai <sbai@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/134f9f657a03bac1550fa94137a6a942637bc20d"},{"sha":"de0edeac4b0ab6cc486edf2737a6a02eeb655849","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Remove redundant index on pg_stat_last_operation.\n\nIt had two indexes:\n\n* pg_statlastop_classid_objid_index on (classid oid_ops, objid oid_ops), and\n* pg_statlastop_classid_objid_staactionname_index on (classid oid_ops, objid\n  oid_ops, staactionname name_ops)\n\nThe first one is completely redundant with the second one. Remove it.\n\nFixes assertion failure https://github.com/greenplum-db/gpdb/issues/6362.\nThe assertion was added in PostgreSQL 9.1, commit d2f60a3ab0. The failure\nhappened on \"VACUUM FULL pg_stat_last_operation\", if the VACUUM FULL\nitself added a new row to the table. The insertion also inserted entries\nin the indexes, which tripped the assertion that checks that you don't try\nto insert entries into an index that's currently being reindexed, or\npending reindexing:\n\n> (gdb) bt\n> #0  0x00007f02f5189783 in __select_nocancel () from /lib64/libc.so.6\n> #1  0x0000000000be76ef in pg_usleep (microsec=30000000) at pgsleep.c:53\n> #2  0x0000000000ad75aa in elog_debug_linger (edata=0x11bf760 <errordata>) at elog.c:5293\n> #3  0x0000000000acdba4 in errfinish (dummy=0) at elog.c:675\n> #4  0x0000000000acc3bf in ExceptionalCondition (conditionName=0xc15798 \"!(!ReindexIsProcessingIndex(((indexRelation)->rd_id)))\", errorType=0xc156ef \"FailedAssertion\",\n>     fileName=0xc156d0 \"indexam.c\", lineNumber=215) at assert.c:46\n> #5  0x00000000004fded5 in index_insert (indexRelation=0x7f02f6b6daa0, values=0x7ffdb43915e0, isnull=0x7ffdb43915c0 \"\", heap_t_ctid=0x240bd64, heapRelation=0x24efa78,\n>     checkUnique=UNIQUE_CHECK_YES) at indexam.c:215\n> #6  0x00000000005bda59 in CatalogIndexInsert (indstate=0x240e5d0, heapTuple=0x240bd60) at indexing.c:136\n> #7  0x00000000005bdaaa in CatalogUpdateIndexes (heapRel=0x24efa78, heapTuple=0x240bd60) at indexing.c:162\n> #8  0x00000000005b2203 in MetaTrackAddUpdInternal (classid=1259, objoid=6053, relowner=10, actionname=0xc51543 \"VACUUM\", subtype=0xc5153b \"REINDEX\", rel=0x24efa78,\n>     old_tuple=0x0) at heap.c:744\n> #9  0x00000000005b229d in MetaTrackAddObject (classid=1259, objoid=6053, relowner=10, actionname=0xc51543 \"VACUUM\", subtype=0xc5153b \"REINDEX\") at heap.c:773\n> #10 0x00000000005b2553 in MetaTrackUpdObject (classid=1259, objoid=6053, relowner=10, actionname=0xc51543 \"VACUUM\", subtype=0xc5153b \"REINDEX\") at heap.c:856\n> #11 0x00000000005bd271 in reindex_index (indexId=6053, skip_constraint_checks=1 '\\001') at index.c:3741\n> #12 0x00000000005bd418 in reindex_relation (relid=6052, flags=2) at index.c:3870\n> #13 0x000000000067ba71 in finish_heap_swap (OIDOldHeap=6052, OIDNewHeap=16687, is_system_catalog=1 '\\001', swap_toast_by_content=0 '\\000', swap_stats=1 '\\001',\n>     check_constraints=0 '\\000', is_internal=1 '\\001', frozenXid=821, cutoffMulti=1) at cluster.c:1667\n> #14 0x0000000000679ed5 in rebuild_relation (OldHeap=0x7f02f6b7a6f0, indexOid=0, verbose=0 '\\000') at cluster.c:648\n> #15 0x0000000000679913 in cluster_rel (tableOid=6052, indexOid=0, recheck=0 '\\000', verbose=0 '\\000', printError=1 '\\001') at cluster.c:461\n> #16 0x0000000000717580 in vacuum_rel (onerel=0x0, relid=6052, vacstmt=0x2533c38, lmode=8, for_wraparound=0 '\\000') at vacuum.c:2315\n> #17 0x0000000000714ce7 in vacuumStatement_Relation (vacstmt=0x2533c38, relid=6052, relations=0x24c12f8, bstrategy=0x24c1220, do_toast=1 '\\001', for_wraparound=0 '\\000',\n>     isTopLevel=1 '\\001') at vacuum.c:787\n> #18 0x0000000000714303 in vacuum (vacstmt=0x2403260, relid=0, do_toast=1 '\\001', bstrategy=0x24c1220, for_wraparound=0 '\\000', isTopLevel=1 '\\001') at vacuum.c:337\n> #19 0x0000000000969cd2 in standard_ProcessUtility (parsetree=0x2403260, queryString=0x24027e0 \"vacuum full;\", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, dest=0x2403648,\n>     completionTag=0x7ffdb4392550 \"\") at utility.c:804\n> #20 0x00000000009691be in ProcessUtility (parsetree=0x2403260, queryString=0x24027e0 \"vacuum full;\", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, dest=0x2403648,\n>     completionTag=0x7ffdb4392550 \"\") at utility.c:373\n\nIn this scenario, we had just reindexed one of the indexes of\npg_stat_last_operation, and the metatrack update of that tried to insert a\nrow into the same table. But the second index in the table was pending\nreindexing, which triggered the assertion.\n\nAfter removing the redundant index, pg_stat_last_operation has only one\nindex, and that scenario no longer happens. This is a bit fragile fix,\nbecause the problem will reappear as soon as you add a second index on the\ntable. But we have no plans of doing that, and I believe no harm would be\ndone in production builds with assertions disabled, anyway. So this will\ndo for now.\n\nReviewed-by: Ashwin Agrawal <aagrawal@pivotal.io>\nReviewed-by: Shaoqi Bai <sbai@pivotal.io>\nReviewed-by: Jamie McAtamney <jmcatamney@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/de0edeac4b0ab6cc486edf2737a6a02eeb655849"},{"sha":"28dd01525c28044c829cecb69ae805c983515658","author":{"name":"Jinbao Chen","email":"4b8aa61561a0d7225b8e46da0c0e9f7cf0f129a7@pivotal.io"},"message":" Enable alter table column with index (#6286)\n\n* Make sure ALTER TABLE preserves index tablespaces.\r\n\r\nWhen rebuilding an existing index, ALTER TABLE correctly kept the\r\nphysical file in the same tablespace, but it messed up the pg_class\r\nentry if the index had been in the database's default tablespace\r\nand \"default_tablespace\" was set to some non-default tablespace.\r\nThis led to an inaccessible index.\r\n\r\nFix by fixing pg_get_indexdef_string() to always include a tablespace\r\nclause, whether or not the index is in the default tablespace.  The\r\nprevious behavior was installed in commit 537e92e41, and I think it just\r\nwasn't thought through very clearly; certainly the possible effect of\r\ndefault_tablespace wasn't considered.  There's some risk in changing the\r\nbehavior of this function, but there are no other call sites in the core\r\ncode.  Even if it's being used by some third party extension, it's fairly\r\nhard to envision a usage that is okay with a tablespace clause being\r\nappended some of the time but can't handle it being appended all the time.\r\n\r\nBack-patch to all supported versions.\r\n\r\nCode fix by me, investigation and test cases by Michael Paquier.\r\n\r\nDiscussion: <1479294998857-5930602.post@n3.nabble.com>\r\n\r\n* Enable alter table column with index\r\n\r\nOriginally, we disabled alter table column with index. Because INDEX CREATE is dispatched immediately, which unfortunately breaks the ALTER work queue. So we have a workaround and disable alter table column with index.\r\nIn postgres91, is_alter_table param was introduced to 'DefineIndex'. So we have a chance to re-enable this feature.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/28dd01525c28044c829cecb69ae805c983515658"},{"sha":"8acaa682afa1ea3f5a36c5f7281f33daa6944687","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Don't pass distribution policy from QD to QEs in in COPY.\n\nWe store the distribution policy in segments nowadays (since commit\n7efe320489). This is no longer needed.\n\nReviewed-by: Adam Lee <ali@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/8acaa682afa1ea3f5a36c5f7281f33daa6944687"},{"sha":"ff83b198cfd76186188371573c8c2213b865163c","author":{"name":"Daniel Gustafsson","email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io"},"message":"Update ORCA expected file for altering indexed column\n\nCommit 28dd01525c28044c829cecb69ae805c98 relaxed the restriction on\naltering indexed columns, but missed to update the expected test\noutput for ORCA. This applies the diff from qp_misc_jiras.out to the\n_optimizer.out file as well.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/ff83b198cfd76186188371573c8c2213b865163c"},{"sha":"d95127af019437aa3d1619d888529d57f86f85f9","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Runtime key context is not needed, when there are no runtime keys.\n\nI'm not sure what was wrong when this comment was written, but it seems to\nwork now. For good measure, reset iss_RuntimeContext to NULL when it's\nfree'd, but 'dpe' is passing even without it.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/d95127af019437aa3d1619d888529d57f86f85f9"},{"sha":"4d2364c0333d83745cde6481cc0060dff8e62962","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Remove FIXME comment on how pg_dist_wait_status() is dispatched.\n\nWe could declare the function as ON SEGMENT, use SPI, and let the\nplanner/executor dispatch it, but there's no particular reason we would\nneed to do it that  way. I think dispatching the function call like this\nis totally OK.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/4d2364c0333d83745cde6481cc0060dff8e62962"},{"sha":"6b94952aab5b8dc60fa0cff8678c1ef5ce99bb45","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Remove obsolete forcing of test query to use index scans.\n\nI'm not sure what happened here, but the planner now chooses an index only\nscan, like PostgreSQL does, without forcing it. Remove the 'set\nenable_sort=off', and FIXME comment about it.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/6b94952aab5b8dc60fa0cff8678c1ef5ce99bb45"},{"sha":"028463c35db0775e78d3c66985eb748850f97d0f","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Remove unnecessary masking of DETAIL messages for ORCA.\n\nCommit e89be84bf8 changed the behavior so that this is not needed anymore.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/028463c35db0775e78d3c66985eb748850f97d0f"},{"sha":"e5d395f2b90abb532e409794feab41320379127c","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Remove obsolete FIXME comment.\n\nThe PR that it referred to was pushed, and replace_sirvf_rte() looks OK to\nme now. I don't think there's anything left to do here. I just forgot to\nremove this before pushing the 9.4 merge commit.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/e5d395f2b90abb532e409794feab41320379127c"},{"sha":"e833befe7b2a80ebb077dac063ca5aabcd1c8f25","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Downgrade FIXME comment on \"compact\" WAL records for distributed xacts.\n\nWe have no plans to implement that optimization for distributed\ntransactions any time soon.","distinct":true,"url":"https://api.github.com/repos/baobao0206/gpdb/commits/e833befe7b2a80ebb077dac063ca5aabcd1c8f25"}]}
{"actor":{"display_login":"baobao0206"}}