1. 06 6月, 2017 2 次提交
    • J
      Add binary compatibility testing. · 7970ca4b
      Jimmy Yih 提交于
      We need some tests to see if binaries can be swapped around. This
      commit provides a simple framework and basic tests to check if
      binaries can be upgraded/downgraded by just swapping the Greenplum
      binary install paths. Running the tests requires the user to have
      another Greenplum compiled which will be provided as an argument to
      the test script. It also requires the regression database to be built
      from running tests in src/test/regress.
      7970ca4b
    • S
      Generate Xlog for AO/CO operations. · 42a45941
      Shoaib Lari 提交于
      Define a xlog format for AO operations. The xlog is generated when an AO block
      is written.
      
      A test is added to receive the AO log from the WAL Sender process after an
      INSERT operation and verify that the the received xlog has the AO xlog record in
      it.
      Signed-off-by: NAbhijit Subramanya <asubramanya@pivotal.io>
      42a45941
  2. 05 6月, 2017 2 次提交
    • D
      Fix XML whitespace option parsing · c20e5c4e
      Daniel Gustafsson 提交于
      At some point in the past it seems the keyword list was merged from
      upstream 8.4 without merging the actual code, and instead keywords
      which weren't yet supported where commented out. The XML whitespace
      keywords for STRIP WHITESPACE and PRESERVE WHITESPACE were however
      not uncommented when XML support was merged, resulting in the below
      error when trying to restore the XML views in ICW back after a dump:
      
      db=# SELECT XMLPARSE(CONTENT '<abc>x</abc>'::text PRESERVE WHITESPACE) AS "xmlparse";
      ERROR:  syntax error at or near "WHITESPACE"
      LINE 1: ...CT XMLPARSE(CONTENT '<abc>x</abc>'::text PRESERVE WHITESPACE...
                                                                   ^
      Put the keywords back, and also remove commented out keywords which
      we dont support but will get when merging 8.4 to reduce the diff with
      upstream. Also add a testcase for XML whitespace syntax parsing.
      c20e5c4e
    • R
      Record memory usage for resource group. · 83b58aef
      Richard Guo 提交于
      Record memory usage for resource group.
      
      1. Update total memory usage for a resource group when
         a session belonging to this group allocates/frees memory.
      
      2. Update total memory usage for related resource groups
         when a session enters into or leaves from a resource group.
      
      3. Dispatch current resource group ID from QD to QEs to
         keep track of current resource group.
      
      4. Show total memory usage of a resource group.
      
      5. Add test case for memory usage recording of resource group.
      Signed-off-by: Nxiong-gang <gxiong@pivotal.io>
      Signed-off-by: NKenan Yao <kyao@pivotal.io>
      Signed-off-by: NNing Yu <nyu@pivotal.io>
      83b58aef
  3. 02 6月, 2017 2 次提交
  4. 01 6月, 2017 4 次提交
  5. 31 5月, 2017 3 次提交
  6. 27 5月, 2017 1 次提交
  7. 26 5月, 2017 1 次提交
  8. 25 5月, 2017 7 次提交
    • J
      ICW changes for subselect_gp, gppc, and gpload. · 27d0ae5d
      Jimmy Yih 提交于
      For subselect_gp test, we were removing the distribution policy of a
      table to see if it would do a gather motion or not. Since it's
      technically a corrupted table, we should delete it after we're done
      with it. We also remove a quicklz reference that should not have been
      there.
      
      For gppc test, they were using the regression database. This made our
      gpcheckcat call at the end of ICW relatively useless since all our
      data would have been deleted due to gppc tests recreating the
      regression database.
      
      For gpload test, some generated files were previously commited. We
      should be actively cautious of this and remove them when we see them.
      27d0ae5d
    • V
      Add start/end_ignore where needed · ebc36838
      Venkatesh Raghavan 提交于
      ebc36838
    • V
      Remove disable/enable xform function · 19dd6c68
      Venkatesh Raghavan 提交于
      19dd6c68
    • V
      Rename gp_optimizer tests to gporca · b545a0c4
      Venkatesh Raghavan 提交于
      b545a0c4
    • D
      Reduce dependency on pl/perl in ICW · dfddacb7
      Daniel Gustafsson 提交于
      PL/Perl is an optional component, and the main ICW should not use
      it as it may not be present. Move the tests that seem useful to
      the plperl test suite instead and remove the ones which we have
      ample coverage for elsewhere.
      dfddacb7
    • D
      Move gpmapreduce tests from src/test/regress to gpAux · d65a54c6
      Daniel Gustafsson 提交于
      The gpmapreduce application is an optional install included via
      the --enable-mapreduce configure option. The tests were however
      still in src/test/regress and unconditionally included in the
      ICW schedule, thus causing test failures when mapreduce wasn't
      configured.
      
      Move all gpmapreduce tests to co-locate them with the mapreduce
      code and only test when configured.
      
      Also, add a dependency on Perl for gpmapreduce in autoconf since
      it's a required component.
      d65a54c6
    • B
      Fix Default partition level for indexes · e0e8703e
      Bhuvnesh Chaudhary 提交于
      - Before building Index object (IMDIndex), we build LogicalIndexes
        via calling `gpdb::Plgidx(oidRel)` in which a partition tables is
        traversed and index  information (such as logicalIndexOid,
        nColumns, indexKeys, indPred, indExprs, indIsUnique, partCons,
        defaultLevels) is captured.
      - For Indexes which are available on all the partitions partCons
        and defaultLevels are NULL/empty.
      - Later in `CTranslatorRelcacheToDXL::PmdindexPartTable` to build
        Index object, we use the derived LogicalIndexes information and
        populates the array  holding the levels on which default
        partitions exists. But since defaultLevels is NIL in this case,
        pdrgpulDefaultLevels is set to empty i,e `default partitions on levels: {}`
      - This causes an issue while trying to build the propagation expression,
        as because of wrong number of default partitions on level we mark the
        scan as partial and tries to construct a test propagation expression
        instead of a const propagation expression.
      - This patch fixes the issue by marking the default partitions on
        levels for index equal to the default partitions on levels for the
        part relation if the index exists on all the parts.
      Signed-off-by: NJemish Patel <jpatel@pivotal.io>
      e0e8703e
  9. 23 5月, 2017 1 次提交
    • A
      pg_regress: converted files should be placed in `outputdir` · 82a19977
      Adam Lee 提交于
      `outputdir` here is where to place the converted files, not the
      directory named `output`. PostgreSQL places them into `outputdir`
      rightly.
      
          commit 64cdbbc4
          Author: Peter Eisentraut <peter_e@gmx.net>
          Date:   Sat Feb 14 21:33:41 2015 -0500
      
              pg_regress: Write processed input/*.source into output dir
      
              Before, it was writing the processed files into the input directory,
              which is incorrect in a vpath build.
      82a19977
  10. 22 5月, 2017 2 次提交
  11. 20 5月, 2017 1 次提交
    • A
      Basic walreceiver unit test. · be0219e6
      Ashwin Agrawal 提交于
      Just a start to have wal replication tests in ICW. This has simple protocol
      functions whichs kind-of mocks walreceiver side to help validate walsender and
      xlog stream. Mainly to portray something on these lines can be easily leveraged
      to validate like xlog generation and stream for AO tables when done, avoiding to
      fully instantiate a mirror or something on similar lines at ease.
      be0219e6
  12. 19 5月, 2017 5 次提交
    • N
      Remove resource_group from isolation2 schedule. · 2e87c5aa
      Ning Yu 提交于
      resource_group cases were already moved to the standalone resgroup
      target, however one entrance was still left in isolation2 schedule which
      caused a failure in pipeline.
      
      This commit is a cleanup to make pipeline green.
      2e87c5aa
    • N
      Move all resgroup tests out of ICW. · 0c5af857
      Ning Yu 提交于
      As cgroup is now required to enable resgroup on linux and cgroup itself
      requires privileged permission to setup & config, so resgroup tests will
      fail or at least produce extra warnings in ICW pipeline. We moved them
      to the installcheck-resgroup target as there is a standalone privileged
      pipeline to run this target.
      
      Also the tests are updated as the psql output format is different
      between ICW and installcheck-resgroup.
      0c5af857
    • P
      Implement resource group cpu rate limitation. · 2650f728
      Pengzhou Tang 提交于
      Resource group cpu rate limitation is implemented with cgroup on linux
      system. When resource group is enabled via GUC we check whether cgroup
      is available and properly configured on the system. A sub cgroup is
      created for each resource group, cpu quota and share weight will be set
      depends on the resource group configuration. The queries will run under
      these cgroups, and the cpu usage will be restricted by cgroup.
      
      The cgroups directory structures:
      * /sys/fs/cgroup/{cpu,cpuacct}/gpdb: the toplevel gpdb cgroup
      * /sys/fs/cgroup/{cpu,cpuacct}/gpdb/*/: cgroup for each resource group
      
      The logic for cpu rate limitation:
      
      * in toplevel gpdb cgroup we set the cpu quota and share weight as:
      
          cpu.cfs_quota_us := cpu.cfs_period_us * 256 * gp_resource_group_cpu_limit
          cpu.shares := 1024 * ncores
      
      * for each sub group we set the cpu quota and share weight as:
      
          sub.cpu.cfs_quota_us := -1
          sub.cpu.shares := top.cpu.shares * sub.cpu_rate_limit
      
      The minimum and maximum cpu percentage for a sub cgroup:
      
          sub.cpu.min_percentage := gp_resource_group_cpu_limit * sub.cpu_rate_limit
          sub.cpu.max_percentage := gp_resource_group_cpu_limit
      
      The acutal percentage depends on how busy the system is.
      
      gp_resource_group_cpu_limit is a GUC introduced to control the cpu
      resgroups assigned on each host.
      
          gpconfig -c gp_resource_group_cpu_limit -v '0.9'
      
      A new pipeline is created to perform the tests as we need privileged
      permission to enable and setup cgroups on the system.
      Signed-off-by: NNing Yu <nyu@pivotal.io>
      2650f728
    • V
      Make ICG tests pass when GPDB is compiled with disable-orca · 7e774f28
      Venkatesh Raghavan 提交于
      In the updated tests, we used functions like disable_xform and
      enable_xform to hint the optimizer to disallow/allow a particular
      physical node. However, these functions are only available when GPDB
      is built with GPORCA. Planner on the other hand accomplished this
      via a GUC.
      
      To avoid usage of these functions in tests, I have introduced couple
      of GUCS that mimic the same planner behavior but now for GPORCA.
      In this effort I needed to add an API inside GPORCA.
      7e774f28
    • A
      c00333c2
  13. 17 5月, 2017 1 次提交
  14. 16 5月, 2017 1 次提交
  15. 15 5月, 2017 2 次提交
    • V
      Streamline Orca Gucs · 9f2c838b
      Venkatesh Raghavan 提交于
      * Enable analyzing root partitions
      * Ensure that the name of the guc is clear
      * Remove double negation (where possible)
      * Update comments
      * Co-locate gucs that have similar purpose
      * Remove dead gucs
      * Classify them correctly so that they are no longer hidden
      9f2c838b
    • P
      Make a copy of Gp_interconnect_snd_queue_depth for each interconnect setup · 7ed4a178
      Pengzhou Tang 提交于
      Formally, GPDB assumed Gp_interconnect_queue_depth was constant during the interconnect life-time which was incorrect for Cursors, if Gp_interconnect_queue_depth was changed after a Cursor was declared, a panic occurred. To avoid this, we make a copy of Gp_interconnect_queue_depth when interconnect is set up. Gp_interconnect_snd_queue_depth has no such problem because it is only used by senders and senders of Cursor will never receive the GUC change command.
      7ed4a178
  16. 13 5月, 2017 2 次提交
  17. 12 5月, 2017 3 次提交