1. 08 2月, 2018 2 次提交
  2. 07 2月, 2018 11 次提交
    • D
      Fix typo in comment · 386a4fa6
      Daniel Gustafsson 提交于
      386a4fa6
    • H
      Fix a case with a Hash Agg and ORDER BY. · 9f3a4354
      Heikki Linnakangas 提交于
      A Hash Agg doesn't preserve sort order. The grouping extensions planner
      didn't get the memo. That caused an assertion failure, when a Gather Motion
      with a Merge Key was put on top of a Hash Agg, without a Sort, and the rows
      didn't come out in the expected order.
      
      This fixes the assertion fault mentioned in github issue #4488, but not
      the main issue of incorrect results.
      9f3a4354
    • D
      Fix typo in comment · 4ff41e42
      Daniel Gustafsson 提交于
      4ff41e42
    • D
      Remove assertions that will never fire · 4b7fd2b7
      Daniel Gustafsson 提交于
      Since node has already been checked in the preceeding if statement,
      the assertion is will never hit and will only cost processing so
      remove all instances of this pattern.
      4b7fd2b7
    • S
      Revert "Separate PXF system parameters from user parameters" · 8a2437b3
      Shivram Mani 提交于
      This reverts commit 8c538317.
      8a2437b3
    • S
      Separate PXF system parameters from user parameters · 8c538317
      Shivram Mani 提交于
      8c538317
    • X
      Fix missing_xlog with longer timeout · 4febabaf
      Xin Zhang 提交于
      There is 5 sec delay between mirror retry to connect to primary. The original
      timeout to detect for the streaming state change was 10 seconds, which caused
      stability issue of the test if the probe happen to fall between two mirror
      retries.
      
      The fix increase the timeout to 20 seconds (200), which is also consistent with
      rest of the timeout used in the test.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      4febabaf
    • K
      CI: Remove no longer used pulse CI code · 9e59af0a
      Kris Macoskey 提交于
      Pulse has been retired. Tests that once ran on Pulse now entirely use
      CCP. Maintaining Pulse code is no longer necessary.
      9e59af0a
    • M
      docs: gpload - new yaml file parameter STAGING_TABLE (#4402) · 4ca8504d
      Mel Kiyama 提交于
      * docs: gpload - new yaml file parameter STAGING_TABLE
      
      Ported from 4.3.x documentation.
      
      PR for 5X_STABLE
      Will be ported to MAIN
      
      * docs: gpload - updates for STAGING_TABLE based on review and email comments.
      4ca8504d
    • C
      concourse: Allow gen_pipeline.py to be run from any directory · 75632587
      C.J. Jameson 提交于
      The output argument `-O` is now a filepath, not a filename
      
      The template argument is still a filename within `templates/` because that's
      how Jinja likes it
      
      Co-Author: Kevin Yeap <kyeap@pivotal.io>
      Co-Author: Jim Doty <jdoty@pivotal.io>
      Co-Author: C.J. Jameson <cjameson@pivotal.io>
      Co-Author: Shoaib Lari <slari@pivotal.io>
      75632587
    • S
      gpstart: fix OOM issue · a993ef03
      Shoaib Lari 提交于
      gpstart did a cluster-wide check of heap_checksum settings and refused
      to start the cluster if this setting was inconsistent. This meant a
      round of ssh'ing across the cluster which was causing OOM errors with
      large clusters.
      
      This commit moves the heap_checksum validation to gpsegstart.py, and
      changes the logic so that only those segments which have the same
      heap_checksum setting as master are started.
      
      Author: Jim Doty <jdoty@pivotal.io>
      Author: Nadeem Ghani <nghani@pivotal.io>
      Author: Shoaib Lari <slari@pivotal.io>
      a993ef03
  3. 06 2月, 2018 4 次提交
    • H
      Fix assertion failure in cost estimation of merge joins. · c9842d0c
      Heikki Linnakangas 提交于
      When I run the regression tests with enable_mergejoin=on, I got:
      
      +FATAL:  Unexpected internal error (costsize.c:2010)
      +DETAIL:  FailedAssertion("!(outer_skip_rows <= outer_rows)", File: "costsize.c", Line: 2010)
      +HINT:  Process 26232 will wait for gp_debug_linger=120 seconds before termination.
      +Note that its locks and other resources will not be released until then.
      +server closed the connection unexpectedly
      +	This probably means the server terminated abnormally
      +	before or while processing the request.
      +connection to server was lost
      
      That happened in the 'gp_recursive_cte' test, with this query:
      
      select recursive_table_1.id from recursive_table_1, recursive_table_2 where recursive_table_1.id = recursive_table_2.id and EXISTS (select * from r where r.i = recursive_table_2.id);
      
      I tried to reduce that to a simpler test case, but gave up. I'm sure it
      could be done, but I wasn't able to, with quick testing. This bug seems
      unlikely to reappear in the same form, and it's covered by the existing
      test, even if it's a bit accidental, so that's good enough for me.
      c9842d0c
    • A
      TINC: Reduce time for udf_exception_handling tests. · 1b791f6c
      Ashwin Agrawal 提交于
      This is just preparation step/iteration before moving these tests to
      ICW. Reducing the number of combination it runs as nesting level 3 and 4 doesn't
      matter. Plus, reload the config (gpstop -u) only once after setting all the GUC
      instead of individual ones. Ideally while moving to ICW can set the GUC at
      session level and reload is not needed at all, plus all of these tests can be
      run in parallel.
      1b791f6c
    • T
      Fixes GOPATH · 3313de10
      Todd Sedano 提交于
      Sometime last year, we discussed setting the GOPATH and PATH as follows
      
      export GOPATH=/Users/pivotal/go:/Users/pivotal/workspace/gpdb/gpMgmt/go-utils
      export PATH=/Users/pivotal/go:/Users/pivotal/workspace/gpdb/gpMgmt/go-utils/bin:
      /Users/pivotal/.rbenv/shims:/Users/pivotal/go:/Users/pivotal/workspace/gpdb/gpMgmt/go-utils/bin:/usr/local/opt/python/libexec/bin:/usr/local/opt/python/libexec/bin:/Users/pivotal/.rbenv/shims:/Users/pivotal/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
      
      But I'm now realizing that this is tricky since PATH does not see all
      the binaries in the GOPATH. Only the last directory will have its bin:
      
      /Users/pivotal/go:/Users/pivotal/workspace/gpdb/gpMgmt/go-utils/bin:
      /usr/local/opt/python/libexec/bin:....
      
      Shell parameter expression could help solve this problem,
      PATH=${GOPATH//:/bin:}:$PATH but this adds /bin to all
      directories except for the last one.
      
      Instead, we will just hardcode both directories onto PATH
      3313de10
    • D
      Docs - removing unused file · 630b6a96
      David Yozie 提交于
      630b6a96
  4. 04 2月, 2018 1 次提交
  5. 03 2月, 2018 7 次提交
  6. 02 2月, 2018 10 次提交
    • D
      Fix documentation query · 83916dc1
      Daniel Gustafsson 提交于
      Remove extra semicolon which breaks the query for copy-paste.
      
      Per report by Michael Mulcahy
      83916dc1
    • D
      Fix typo in documentation and code comment · 1b1753da
      Daniel Gustafsson 提交于
      1b1753da
    • H
      Refactor handling of temporary files. · 8a257620
      Heikki Linnakangas 提交于
      * Change the API of various functions that create temporary files so that
        the caller is not supposed to include the 'pgsql_tmp/' prefix in the
        pathname. This includes ExecWorkFile_CreateUnique, BufFileCreateFile
        (renamed to BufFileCreateTempFile to make that more clear), and
        BufFileOpenFile (also renamed, to BufFileOpenTempFile)
      
      * The above-mentioned functions, which take an exact file name as argument,
        still don't obey temp_tablespaces. That's because it would make it
        unpredictable which exact path the file gets created in, which would make
        it hard to re-open the same file later. It is always created in the
        current database's pgsql_tmp diretory. (Normally, that's base/pgsql_tmp,
        but if the database's default tablespace is something else, then
        pgsql_tmp is also under that tablespace.)
      
      * The OpenTemporaryFile() function now respects temp_tablespaces. We left
        that out when we merged with PG 8.3, because it was not applicable when
        we still had filespaces. The upstream commit that implemented this was
        acfce502.
      
      The whole situation with temporary files is still a bit messy. Some
      temporary files are created using the workfile API, while others are not.
      The workfile code uses OpenNamedTemporaryFile() rather than
      OpenTemporaryFile(), so they still don't obey temp_tablespaces. On the
      other hand, the workfile code provides some extra features, like putting
      limits on disk space and compression. Temporary files opened without the
      workfile API still don't have those feature, even though they will now obey
      temp_tablespaces. But this is a step in the right direction.
      8a257620
    • H
      Clean up the BufFile creation/opening API. · 7472c612
      Heikki Linnakangas 提交于
      Rename BufFileCreateFile and BufFileOpenFile functions to
      BufFileCreateNamedTemp and BufFileOpenNamedTemp. This makes it more clear
      that these are for opening temporary files, not permantent ones, and the
      "Named" means that they create/open a file with a particular name. Unlike
      the upstream BufFileCreate() function, which constructs a unique filename
      on the fly.
      
      Remove the 'create' argument from BufFileOpenNamedTemp(). Previously, it
      could be used to create a new file or open an existing file, now you must
      use BufFileCreateNamedTemp() to create a new file, which seems more clear.
      
      Remove BufFileCreateTemp_ReaderWriter() function, and replace its use
      with BufFileCreateNamedTemp() and BufFileOpenNamedTemp(). It does the
      same thing, and the Create/Open names seem more clear.
      7472c612
    • H
      Split OpenTemporaryFile into two versions, for clarity. · 4edf8cb8
      Heikki Linnakangas 提交于
      OpenTemporaryFile() is now just like the upstream OpenTemporaryFile(),
      except that it takes an extra filename prefix argument, for debugging
      purposes. The files it creates are automatically made unique, and are
      deleted on close.
      
      OpenNamedTemporaryFile() creates a new file, or opens an existing file,
      in the temp directory, with given name. This can be used for inter-process
      communication.
      4edf8cb8
    • H
      Remove extra planner pass to remove "trivial" Result nodes. · c613cabf
      Heikki Linnakangas 提交于
      Instead, avoid creating such Result nodes in the first place, by making
      plan_pushdown_tlist() check if the Result node would have any work to do.
      
      With this, you get Result nodes in some cases where the old code could zap
      it away. But on the other hand, this can avoid inserting Result nodes, not
      only on top of Appends, but on top of any node. This can be seen in the
      included expected output changes: some test queries lose a Result, some
      gain one. So performance-wise this is about a wash, but this is simpler.
      
      The reason to do this right now is that we ran into issues with the
      "zapping" code while working on the 9.0 merge. I'm sure we could fix those
      issues, but let's do this rather than spend time debugging and fixing the
      zapping code with the merge.
      c613cabf
    • J
      Make gprecoverseg full work for walrep · 6c3bb2e9
      Jimmy Yih 提交于
      The gprecoverseg tool has been broken after filerep and persistent
      tables were removed.  This commit cleans it up a little bit and makes
      full mirror recovery work.  Also change mirror_promotion isolation2
      test to use gprecoverseg tool instead of gpsegwalrep dev script.
      6c3bb2e9
    • M
      docs: pl/container fixes: (#4468) · 13fbf4ed
      Mel Kiyama 提交于
      -Move note in Examples section to emphasize container ID depends on configuration
      -Add creating a docker group in Docker Install instructions for CentOS 6
      13fbf4ed
    • A
      Vacuum fix for ERROR updated tuple is already HEAP_MOVED_OFF. · 313ab24f
      Ashwin Agrawal 提交于
      `repair_frag()` should consult distributed snapshot
      (`localXidSatisfiesAnyDistributedSnapshot()`) while following and moving chains
      of updated tuples. Vacuum consults distributed snapshot
      (`localXidSatisfiesAnyDistributedSnapshot()`) to find which tuples can be
      deleted and not. For RECENTLY_DEAD tuples it used to make decision just based on
      comparison with OldestXmin which is not sufficient and even there distributed
      snapshot must be checked.
      
      Fixes #4298
      313ab24f
    • L
      docs - pxf default port is now 5888 (#4452) · 14f6e4a4
      Lisa Owen 提交于
      14f6e4a4
  7. 01 2月, 2018 5 次提交