1. 05 9月, 2016 1 次提交
  2. 04 9月, 2016 1 次提交
    • H
      Remove unused file load.sql · 1033c536
      Haisheng Yuan 提交于
      Through the file content we know it uses personal absolute path, which
      can't be used by others. DisableXform/EnableXform are already built-in
      functions if GPDB is built with Orca. So we can safely delete this file.
      1033c536
  3. 03 9月, 2016 8 次提交
  4. 02 9月, 2016 5 次提交
  5. 01 9月, 2016 5 次提交
    • H
      Fix mis-merged code. · 3d3d3cc2
      Heikki Linnakangas 提交于
      Looks like this got applied to wrong side of the if(). It's a bit
      disturbing that we haven't seen any failures because of this. Trying
      to release the content lock, when we're not holding it, should trigger
      an error.
      
      Also, need to use ReleaseContentLock() rather than LWLockRelease
      directly.
      3d3d3cc2
    • B
    • S
      Fix gpinitsystem failing when built without codegen · 4a6125f3
      Shreedhar Hardikar 提交于
      This failure was introduced when we set the new GUC
      (codegen_optimization_level) during init.
      Fixes issue from this commit :
      f160fa5a.
      4a6125f3
    • A
      Check for zero persistentTID in xlog record · 9b2eb416
      Ashwin Agrawal 提交于
      Refactor code to use common routine to fetch PT info for xlogging. Check can
      be easliy added at this common place to validate persistent info is
      available. Plus still add check during recovery for persistentTID zero. As
      with postgres upstream merges possible the function to populate persistent info is
      not called at all, so this check will not hit during xlog record construction
      but atleast gives clear clue during recovery.
      9b2eb416
    • A
      Skip persistent tables in VACUUM · 0cf6476d
      Ashwin Agrawal 提交于
      Vacuum lazy is harmless, but also no benefit to perform just extra work.
      Vacuum full could turn out dangerous as it has potential to move tuples
      around causing the TIDs for tuples to change, which violates its reference
      from gp_relation_node. In general persistent table has all frozen tuples
      so vacuum full is harmless too, but for example one scenario where it becomes
      dangerous is zero-page case due to failure after page extension but before
      page initialization. Also, since all the tuples in persistent table are
      frozen inserts, skip it from database age calculation.
      0cf6476d
  6. 31 8月, 2016 5 次提交
    • A
      Add Greenplum specific permissions to \du output · b223c5ef
      Andreas Scherbaum 提交于
      Closes: #1050
      Closes: #1028
      b223c5ef
    • K
      Fix postmaster reset failure on segment nodes with mirror configured · 1b02bd8f
      Kenan Yao 提交于
      If a QE crashes for reasons such as SIGSEGV, SIGKILL or PANIC, segment
      postmaster reset fails sometimes. The root cause is: primary segment
      postmaster would first tell child processes to exit, then start a filerep
      peer reset process to instruct mirror postmaster do reset; the filerep peer
      reset process would only exit when mirror postmaster finishes or fails the
      reset procedure; primary postmaster would wait for the termination
      of important processes such as AutoVacuum, BgWriter, CheckPoint, filerep peer
      reset process etc, before it resets share memory and restarts auxiliary
      processes; however, in some cases, primary postmaster would be stuck in filerep
      peer reset step, if mirror postmaster is hanging/waiting for some events;
      if this happens, filerep peer reset process would wait there until timeout(1 hour),
      and retry 10 times before reports failure to primary postmaster (so 10 hours in total);
      so the final result is primary postmaster takes 10 hours to report reset failure.
      
      This happens almost every time on mirror segment host machine with poor performance
      for reasons that: mirror postmaster would do similar reset procedure with
      primary postmaster, i.e, notify child processes to exit and wait their
      terminations and then restart auxiliary processes; filerep peer reset process
      would first connect to mirror postmaster to request a postmaster reset, then it would
      check the reset status of mirror every 10ms by connecting to mirror postmaster;
      so it can happen that filerep peer reset process keeps connecting mirror
      postmaster, which would lead to continuous dead_end backend processes forked,
      while at the same time mirror postmaster waits for the exit of all dead_end backend
      processes, so it is possible that the speed of generating new dead_end processes
      exceeds the exit speed, and hence mirror postmaster can never see the clearance of
      child processes. All in all, this can lead to hang issue and failure of postmaster reset.
      
      This issue exists for master postmaster reset as well on heavy workload circumstances.
      1b02bd8f
    • K
      Remove WalSendServerProc enum since it is never used · aa02fa06
      Kenan Yao 提交于
      aa02fa06
    • K
      Fix the postmaster reset failure on master node · 6b323078
      Kenan Yao 提交于
      If a QD crashes for reasons such as SIGSEGV, SIGKILL or PANIC,
      postmaster reset fails sometimes. The root cause is: postmaster
      would first tell child processes to exit, and then wait for the
      termination of important processes such as AutoVacuum, BgWriter,
      CheckPoint etc, before it resets share memory and restarts auxiliary
      processes; however, WAL writer process is missed in the waiting list,
      so it can happen that postmaster spawns StartupProcess and then notices
      the exit of WAL writer, so it tells StartupProcess to exit; then
      postmaster would notice the abnormal exit of StartupProcess in turn,
      and treats it as recovery failure, then call exit() itself. Thus, we end
      up with no postmaster process on master node at all.
      
      This happens almost everytime when master host machine has poor performance.
      6b323078
    • S
      Add new GUC to control Codegen Optimization level. · f160fa5a
      Shreedhar Hardikar 提交于
      Used when compiling generated code. EXPLAIN codegen also
      runs optimize with this optimize level, making it easier to see
      the features the compiler optimizes.
      f160fa5a
  7. 30 8月, 2016 1 次提交
  8. 29 8月, 2016 4 次提交
    • P
      Validate relation for further process in isSimplyUpdatableRelation · 17540cf5
      Pengzhou Tang 提交于
      isSimplyUpdatableRelation may get an invalid input from statements like
      "DECLARE XX CURSOR FOR SELECT * FROM LOWER('HH')" where a function is selected.
      17540cf5
    • P
      Fix few defects when creating gang in synchronous way · 72dee63d
      Pengzhou Tang 提交于
      1. Remove retry mechanism for reader gang and non "in recovery mode" error, gp_segment_connect_timeout is default
      set to 10 mins, so it should be long enough to say we temporary lost the segments.
      
      2. Fix "in recovery mode" retry mechanism, original codes can not recognize a in-recovery-mode error.
      
      3. Add failure details. "failed to acquire resources on one or more segments" hide too many details.
      72dee63d
    • P
      Fix few defects when creating gang in asynchronous way · f3aa5e30
      Pengzhou Tang 提交于
      1. Remove retry mechanism for reader gang and non "in recovery mode" error, gp_segment_connect_timeout is default
      set to 10 mins, so it should be long enough to say we temporary lost the segments.
      
      2. Fix "in recovery mode" retry mechanism, original codes can not recognize a in-recovery-mode error.
      
      3. Add failure details. "failed to acquire resources on one or more segments" hide too many details.
      
      4. Only destroy all gangs when create writer gang failed, otherwise it may clean cursor opened gangs and cause
      unexpected error.
      f3aa5e30
    • P
      Fix few dispatch related bugs · eb40e073
      Pengzhou Tang 提交于
      1.Fix primary writer gang leak: accidentally set PrimaryWriterGang to NULL which cause disconnectAndDestroyAllGangs()
        can not destroy primary writer gang.
      2.Fix gang leak: when creating gang, if retry count exceed the limitation, forget to destroy the failed gang.
      3.Remove duplicate sanity check before dispatchCommand().
      4.Remove unnecessary error-out when a broken Gang is no longer needed.
      5.Fix thread leak problem
      6.Enhance error handling for cdbdisp_finishCommand
      eb40e073
  9. 28 8月, 2016 1 次提交
  10. 26 8月, 2016 8 次提交
  11. 25 8月, 2016 1 次提交