1. 08 5月, 2018 4 次提交
  2. 07 5月, 2018 3 次提交
    • T
      Support creating sequence before trasnfer the table data · 43a7a9e9
      Tingfang Bao 提交于
      * Create the sequence which is belonged to a table.
      * Correct the sequence next value
      
      We will check the dependent sequences before transfering the table data.
      If the table contains the sequeces. gptransfer will pg_dump all the
      metadata of the sequences with data. and import it into the
      destiantion cluster
      Signed-off-by: NMing LI <mli@apache.org>
      43a7a9e9
    • A
      Alter tables which distributed wrongly to randomly after testing · 864d6162
      Adam Lee 提交于
      These table are inserted values not distributed right, via setting the
      GUC gp_enable_segment_copy_checking off and `COPY FROM ON SEGMENT`.
      
      Alter them to distributed randomly after testing to not break following
      tests against the databases left by ICW.
      864d6162
    • N
      resgroup: change max spill_ratio back to 100. · 533e4d0c
      Ning Yu 提交于
      In 3be31490 we changed max spill_ratio
      to INT_MAX, but it will not take effect until more related logic is
      accordingly changed.
      
      Before we have all the work done we will change the max spill_ratio back
      to 100.
      533e4d0c
  3. 05 5月, 2018 1 次提交
  4. 04 5月, 2018 3 次提交
  5. 03 5月, 2018 5 次提交
    • M
      DOCS: clarify GPORCA index support (#4916) · 1d6a55f1
      Mel Kiyama 提交于
      * DOCS: clarify GPORCA index support
      -only B-tree and bitmap indexes are supported. GPORCA ignores indexes created with unsupported indexing methods.
      
      * docs: GPORCA index support review update - move notes to index type parameter.
      1d6a55f1
    • Z
      Add Global Deadlock Detector. · 03915d65
      Zhenghua Lyu 提交于
      To prevent distributed deadlock, in Greenplum DB an exclusive table lock is
      held for UPDATE and DELETE commands, so concurrent updates the same table are
      actually disabled.
      
      We add a backend process to do global deadlock detect so that we do not lock
      the whole table while doing UPDATE/DELETE and this will help improve the
      concurrency of Greenplum DB.
      
      The core idea of the algorithm is to divide lock into two types:
      
      - Persistent: the lock can only be released after the transaction is over(abort/commit)
      - Otherwise cases
      
      This PR’s implementation adds a persistent flag in the LOCK, and the set rule is:
      
      - Xid lock is always persistent
      - Tuple lock is never persistent
      - Relation is persistent if it has been closed with NoLock parameter, otherwise
        it is not persistent Other types of locks are not persistent
      
      More details please refer the code and README.
      
      There are several known issues to pay attention to:
      
      - This PR’s implementation only cares about the locks can be shown
        in the view pg_locks.
      - This PR’s implementation does not support AO table. We keep upgrading
        the locks for AO table.
      - This PR’s implementation does not take networking wait into account.
        Thus we cannot detect the deadlock of GitHub issue #2837.
      - SELECT FOR UPDATE still lock the whole table.
      Co-authored-by: NZhenghua Lyu <zlv@pivotal.io>
      Co-authored-by: NNing Yu <nyu@pivotal.io>
      03915d65
    • P
      Reserse answer file and output file in gpdiff command in tinc tests. · ecb0a9a9
      Paul Guo 提交于
      This makes the diff format align with that in pg_regression tests.
      Personally I think the pg_regression format is more human understandable.
      ecb0a9a9
    • A
      3763b0aa
    • A
      Get transaction commit functions closer to upstream. · e82dd3bd
      Ashwin Agrawal 提交于
      FinishPreparedTransaction() and CommitTransaction() were modified for filerep
      and persistent tables. Now, that need no more exists hence revert back these
      functions to upstream code and thereby also help concurrency.
      e82dd3bd
  6. 02 5月, 2018 4 次提交
    • H
      Re-enable MIN/MAX optimization. · 362fc756
      Heikki Linnakangas 提交于
      I'm not sure why it's been disabled. It's not very hard to make it work, so
      let's do it. Might not be a very common query type, but if you happen to
      have a query where it helps, it helps a lot.
      
      This adds a GUC, gp_enable_minmax_optimization, to enable/disable the
      optimization. There's no such GUC in upstream, but we need at least a flag
      in PlannerConfig for it, so that we can disable the optimization for
      correlated subqueries, along with some other optimizer tricks. Seems best
      to also have a GUC for it, for consistency with other flags in
      PlannerConfig.
      362fc756
    • A
      Remove incorrect isRoleMirror assertion for FTS_PROMOTE_SUCCESS. · 874fcdc5
      Ashwin Agrawal 提交于
      Incase promote message is send twice while mirror already undergoing promotion,
      isRoleMirror can be retruned as false. ON mirror in this case promote message is
      ignored. So, on master fts shouldn't check what the isRoleMirror returns.
      874fcdc5
    • A
      FTS detects when primary is in recovery avoiding config change · d453a4aa
      Ashwin Agrawal 提交于
      Previous behavior when primary is in crash recovery FTS probe fails and hence
      qqprimary is marked down. This change provides a recovery progress metric so that
      FTS can detect progress. We added last replayed LSN number inside the error
      message to determine recovery progress. This allows FTS to distinguish between
      recovery in progress and recovery hang or rolling panics. Only when FTS detects
      recovery is not making progress then FTS marks primary down.
      
      For testing a new fault injector is added to allow simulation of recovery hang
      and recovery in progress.
      
      Just fyi...this reverts the reverted commit 7b7219a4.
      Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io>
      Co-authored-by: NDavid Kimura <dkimura@pivotal.io>
      d453a4aa
    • M
      Migrating gpexpand tests into behave · 2452a109
      Marbin Tan 提交于
      In addition to migrating the TiNC tests notable changes were made:
      + Made gpexpand tests for a cluster with mirrors work
      + Migrated Behave tests for duration and end time as behave tests
      + Add gpexpand behave tests to pipeline template
      + Cleanup some dead code in environment.py
      Co-authored-by: NJamie McAtamney <jmcatamney@pivotal.io>
      Co-authored-by: NJim Doty <jdoty@pivotal.io>
      Co-authored-by: NKevin Yeap <kyeap@pivotal.io>
      Co-authored-by: NNadeem Ghani <nghani@pivotal.io>
      Co-authored-by: NShoaib Lari <slari@pivotal.io>
      2452a109
  7. 01 5月, 2018 7 次提交
  8. 27 4月, 2018 3 次提交
    • N
      resgroup: no warning in Probe() in dummy backend · b9dd7629
      Ning Yu 提交于
      The resgroup dummy backend currently generate a warning in the Probe() call, this
      is not supposed as this function is designed to be called no matter
      resgroup is enabled or not.
      
      Removed the warning message from dummy Probe().
      
      Also update warning messages in dummy backend.
      
      It used to generate warning messages like below in the dummy backend:
      
          cpu rate limitation for resource group is unsupported on this system.
      
      This message was originally introduced when resgroup supported only cpu
      rate limitation, but as now there are more supported capabilities we
      should have this message updated.
      b9dd7629
    • D
      Bump ORCA version to 2.56.0 · a8825b0a
      Dhanashree Kashid 提交于
      Signed-off-by: NSambitesh Dash <sdash@pivotal.io>
      a8825b0a
    • D
      Increase the default GPORCA array expansion threshold to 100 · e46039dc
      Dhanashree Kashid 提交于
      It is common to have large IN/NOT IN list in user queries hence 25 is
      too low of a bound.  After running several experiments, 100 turned out
      to be good threshold value for this GUC.
      Signed-off-by: NSambitesh Dash <sdash@pivotal.io>
      e46039dc
  9. 26 4月, 2018 7 次提交
  10. 25 4月, 2018 3 次提交
    • B
      Fix pushing of quals containing window functions · a802eb2f
      Bhuvnesh Chaudhary 提交于
      Fix qual_is_pushdown_safe_set_operation to correctly resolve the
      qual vars and identify if there are any window references in the top
      level of the set operation's left or right subqueries. Before commit
      b8002a9, instead of starting with rte of the level where the qual is
      attached we started scanning the rte of the subqueries of the left and
      right args of setop to identify the qual. However, because of this the
      varno didn't match to the corresponding RTE due to which the quals
      couldn't be resolved to winref and were incorrectly pushed down. This
      caused the planner to return an error during execution.
      a802eb2f
    • A
      Fix fts_unblock_primary answer file. · 01adf026
      Ashwin Agrawal 提交于
      Remove the extra WARNING only gets generated for MAC.
      01adf026
    • D
      Fix ftsprobe during walsender state is startup · 17979ee0
      David Kimura 提交于
      Commit 90ce5138 changed the logic for
      calculating grace period. Previously the variable marked_pid_zero_at_time was
      set to zero every time PID was set to valid value. With this changed logic the
      grace period is calculated even when PID is not zero (walsender state=startup).
      This resulted in FailedAssertion(!(walsnd->marked_pid_zero_at_time)). Now
      instead of resetting marked_pid_zero_at_time when the PID is set to valid
      value, we reset whenever walsender state changes to catchup or streaming.
      Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io>
      17979ee0