1. 01 2月, 2019 12 次提交
    • P
      Make GDD tests deterministic · a0b9fde8
      Pengzhou Tang 提交于
      GDD tests framework now acquire the desired lock by updating the nth tuple
      in a segment instead of a specified value, so even a hash algorithm changed,
      the tests will not be affected. This method works fine except that a segment
      has not enough tuples to provide the nth tuple. Fix is simple, enlarge the
      test tables from 20 rows to 100 rows.
      
      Authored-by: Ning Yu nyu@pivotal.io
      a0b9fde8
    • Z
      Update serially when GDD is disabled · 29e7f102
      Zhang Shujie 提交于
      If Global Deadlock Detector is enabled, then the table lock may
      downgrade to RowExclusiveLock, It may lead two problems:
      
      1. When updating distributed keys concurrently, SplitUpdate node
         would generate more tuples in the table.
      2. When updating concurrently, it may trigger the EvalPlanQual
         function, when the SubPlan has Motion node, it can not execute
         correctly.
      
      Now we add a GUC for GDD, if it is disabled, we execute these
      UPDATE statement serially, if it is enabled, we raise an error when
      updating concurrently.
      
      Co-authored-by: Zhenghua Lyu zlv@pivotal.io
      29e7f102
    • P
      Remove ext submodule folder · 1e43b584
      Peifeng Qiu 提交于
      We rmeoved the submodule address but didn't remove the actural
      folder. Submodule clone will fail due to missing url link. Remove
      the folder to avoid that.
      1e43b584
    • J
      Fix OOM after cluster reset when gp_vmem_protect_limit > 16GB (#6862) · 9e0e7c27
      Jialun 提交于
      The function VmemTracker_ShmemInit will initialize chunkSizeInBits
      according to gp_vmem_protect_limit. Which is the unit of chunk size.
      The base value of chunkSizeInBits is 20(1MB). If gp_vmem_protect_limit
      is larger than 16GB, it will increase to adapter the large memory
      environment. This value should not be changed after initialized.
      But if this function was called more times, chunkSizeInBits will
      accumulate.
      
      Considering the scenario, QD crashed, then postmaster will reaper the
      QD process and reset shared memory. This will lead to VmemTracker_ShmemInit
      be called more times. So chunkSizeInBits will increase every time after
      crash when gp_vmem_protect_limit is larger than 16GB. At last, the
      chunkSize will be very large which means the new reserved chunk will
      always be zero or a very small value. So the memory limit mechanism
      takes no effect and will cause Out-of-Memory when cannot really
      allocate new memory.
      
      So we set chunkSizeInBits to BITS_IN_MB in VmemTracker_ShmemInit
      every time instead of Assert.
      
      Why there is no new test case in this commit?
      - We just change an Assert to assignment, no logic changes.
      - It is very difficult to add a crash case in current isolation test
        frame, for the connection will be lost due to crash.
      
      We have verified the case in our dev environment manually by setting
      gp_vmem_protect_limit to 65535 and kill -9 QD process. Then we see
      chunkSizeInBits increases every time. At last, we got error message
      "ERROR:  Canceling query because of high VMEM usage."
      9e0e7c27
    • P
      Remove unused gpfdist dependency submodule and WIN32 Readme (#6861) · 7281a162
      Peifeng Qiu 提交于
      We no longer use the ext submodule for gpfdist dependencies. Remove
      it to avoid confusion. WIN32 build process is changed to native
      build. We will add README when it's ready.
      7281a162
    • P
      Remove a FIXME related to recoveryTargetIsLatest. (#6863) · 406fa028
      Paul Guo 提交于
      The recoveryTargetIsLatest setting code was missing somehow and later
      it was added back in commit 55808e18. Removing the FIXME comment.
      Reviewed-by: NJimmy Yih <jyih@pivotal.io>
      Reviewed-by: NGeorgios Kokolatos <gkokolatos@pivotal.io>
      406fa028
    • A
      Set needToPromoteCatalog before updating ControlFile->state. · 434bd5b9
      Ashwin Agrawal 提交于
      Commit 6d80ce31 moved updating the
      control file state above, which caused failure in CI for
      gpactivatestandby test. As catalog update got missed since
      needToPromoteCatalog remained set as false. Hence, move setting
      needToPromoteCatalog before setting the ControlFile->state.
      434bd5b9
    • A
      Avoid FinishPreparedTransaction() calling readRecoveryCommandFile() · cb256d04
      Ashwin Agrawal 提交于
      Not sure why we had FinishPreparedTransaction() calling
      readRecoveryCommandFile(), seems serves no purpose to me. Seems to
      exist from ages and wasn't able to find the rational for the same,
      definitely not with current code. Seems unnecessary performance hit on
      every commit to read and parse the file.
      cb256d04
    • A
      Align transaction log manager (xlog.c and xlog.h) to upstream. · 6d80ce31
      Ashwin Agrawal 提交于
      Lot of differences collected over the years compared to upstream. Some
      confusing or redundant code as well hence better to make it match
      upstream.
      6d80ce31
    • A
      concourse: Remove unused dev_generate_installer.yml · b55a0b71
      Amil Khanzada 提交于
      - We're not sure when this file became abandoned, but it doesn't seem to
        be being used anywhere.
      - Also remove task file and bash scripts that were only referenced by
        this pipeline.
      Co-authored-by: NBradford D. Boyle <bboyle@pivotal.io>
      Co-authored-by: NAmil Khanzada <akhanzada@pivotal.io>
      b55a0b71
    • G
      Remove disabled code in set_plan_references_input_asserts() · e8238cc1
      Georgios Kokolatos 提交于
      This commit removes GPDB_93_MERGE_FIXME introduced while including
      46c508fb from upstream. The intention of the upstream commit is
      to keep planner params separated so that they don't get reused
      incorrectly. In doing so, it removed the need for a global list of
      PlannerParamItems.
      
      The removed assertion in this commit was verifying that each Param
      in the tree was included in a global list of PlannerParamItems, and
      that each datatype of each Param matches that in the global list.
      
      At the time of the assertion, we simply don't have the necessary
      information to be able to verify properly. An argument could be made
      for re-introducing such a global list PlannerParamItems. However
      this assertion would not verify that a parameter is ancored in the
      right place and it would introduce additional code to maintain.
      Reviewed-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      e8238cc1
    • G
      Remove fixme comment as it is not relative to the merge itself · 9baf5269
      Georgios Kokolatos 提交于
      However, it correctly identifies that xidWarnLimit should not be
      configurable. The same should also apply for xidStopLimit. The GUCs
      for those were added in time immemorial, i.e. significantly before
      greenplum was opensourced, with a commit message clearly identifying
      their addition as a one shot hotfix.
      
      A proposal for their depracation has been made in the forum.
      Co-authored-by: NDaniel Gustafsson <dgustafsson@pivotal.io>
      Reviewed-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      9baf5269
  2. 31 1月, 2019 9 次提交
    • H
      Remove work arounds for SSL_get_current_compression. · cb5d1db9
      Heikki Linnakangas 提交于
      gpcloud uses OpenSSL's libcrypto, even if you ran configure
      --without-openssl. The #include <openssl/ssl.h> in gpcloud clashed with
      the #define in port.h. I suspect the "ssl.h" was a typo, and should've been
      "sha.h", because gpcloud only uses OpenSSL for the hash functions. Change
      it that way.
      
      It's a bit bogus that it builds with libcrypto, even if you specified no
      OpenSSL support in configure, but
      Reviewed-by: NDaniel Gustafsson <dgustafsson@pivotal.io>
      cb5d1db9
    • M
      docs - gpcheckcat: add test orphaned_toast_tables (#6737) · 492059c9
      Mel Kiyama 提交于
      * docs -  gpcheckcat: add test orphaned_toast_tables
      
      * docs - update Note for gpcheckcat test orphaned_toast_table.
      
      * docs - gpcheckcat orphaned TOAST table change. Added term mismatch to note.
      mismatch is the term used in the gpcheckcat output/logfile
      
      * docs - gpcheckcat clarified note that this one one a toast table can be orphaned
      492059c9
    • K
      94b727f1
    • D
      Docs - updating Gemfile.lock · 90d4ec18
      David Yozie 提交于
      90d4ec18
    • J
      Remove gpfaultinjector · eaf7258b
      Jimmy Yih 提交于
      The gpfaultinjector utility was been replaced with the gp_inject_fault
      extension located in gpcontrib directory.
      eaf7258b
    • A
      pg_basebackup and pg_rewind: exclude internal.auto.conf. · c238563e
      Ashwin Agrawal 提交于
      Previously, to exclude this `internal.auto.conf` greenplum specific
      file pg_rewind and pg_basebackup used different mechanisms. Both
      didn't even exist in backend code also. This commit uses the new
      exclusion code we have now to easily exclude `internal.auto.conf` file
      for both pg_basebackup and pg_rewind.
      c238563e
    • A
      pg_basebackup and pg_rewind: exclude pg_log. · 6ec64226
      Ashwin Agrawal 提交于
      This commit makes pg_rewind to exclude pg_log from performing any
      operation, means comparing and copying from current primary to old
      primary.
      
      Also, it uses the new upstream style to exclude pg_log in
      pg_basebackup.
      6ec64226
    • F
      Make pg_rewind skip files and directories that are removed during server start. · 8d2595bd
      Fujii Masao 提交于
      The target cluster that was rewound needs to perform recovery from
      the checkpoint created at failover, which leads it to remove or recreate
      some files and directories that may have been copied from the source
      cluster. So pg_rewind can skip synchronizing such files and directories,
      and which reduces the amount of data transferred during a rewind
      without changing the usefulness of the operation.
      
      Author: Michael Paquier
      Reviewed-by: Anastasia Lubennikova, Stephen Frost and me
      
      Discussion: https://postgr.es/m/20180205071022.GA17337@paquier.xyz
      (cherry picked from commit 266b6acb)
      8d2595bd
    • A
      pg_basebackup: cherry-pick upstream code to exclude directories and files. · 9ac2cf9c
      Ashwin Agrawal 提交于
      This commit cherry-picks parts of upstream commit
      6ad8ac60 "Exclude additional
      directories in pg_basebackup".
      ------------
      Author: Peter Eisentraut <peter_e@gmx.net>
      Date:   Wed Sep 28 12:00:00 2016 -0400
      
          Exclude additional directories in pg_basebackup
      
          The list of files and directories that pg_basebackup excludes from the
          backup was somewhat incomplete and unorganized.  Change that with having
          the exclusion driven from tables.  Clean up some code around it.  Also
          document the exclusions in more detail so that users of pg_start_backup
          can make use of it as well.
      
          The contents of these directories are now excluded from the backup:
          pg_dynshmem, pg_notify, pg_serial, pg_snapshots, pg_subtrans
      
          Also fix a bug that a pg_repl_slot or pg_stat_tmp being a symlink would
          cause a corrupt tar header to be created.  Now such symlinks are
          included in the backup as empty directories.  Bug found by Ashutosh
          Sharma <ashu.coek88@gmail.com>.
      
          From: David Steele <david@pgmasters.net>
      Reviewed-by: NMichael Paquier <michael.paquier@gmail.com>
          (cherry picked from commit 6ad8ac60)
      ------------
      
      Pieces relating to symlink handling already exists from our merge to
      9.4.20. This commit is mainly bringing in the code to have the
      exclusion driven from tables and help make the code same with
      pg_rewind.
      9ac2cf9c
  3. 30 1月, 2019 19 次提交