1. 17 1月, 2018 3 次提交
    • H
      Remove unnecessary NULL checks. · f13c334c
      Heikki Linnakangas 提交于
      As Coverity pointed out, 'pelem' has already been dereferenced in the
      function, and hence it can never be NULL here. And indeed it should never
      be NULL.
      
      With 'prule', we explicitly checked for NULL earlier in the function.
      f13c334c
    • M
      doc: MADlib fix when upgrading to 1.13 (#4309) · 74444c3f
      Mel Kiyama 提交于
      PR for 5X_STABLE
      Will be ported to MAIN
      74444c3f
    • M
      docs: plcontainer logging and attribute updates. (#4303) · de9d81b7
      Mel Kiyama 提交于
      * docs: plcontainer logging and attribute updates.
      
      -attribute names have changed for logging, and network
      -the GUC log_min_messages controls the log level
      -add note information about controlling container lifetime
      
      PR for 5X_STABLE
      Will be ported to MAIN
      
      * docs: update for pl/container logging
      
      * docs: plcontainer - udpates based on review comments.
      
      * docs - plcontainer - review updates from dev. tracker stories
      
      Add limitations
        -pl/container not supported when GPDB is run in Docker
        -multi-dimensional array not supported
      
      Add ID max length 63 bytes
      Clarify terminology
      Update example output
      Fix edits and typos
      
      * docs: plcontainer - fix runtime-add example
      
      * docs: pl/container does not support PL/R multi-dim. arrays
      
      * docs: plcontainer - In Docker Images section, remove references to Pivotal.
      de9d81b7
  2. 16 1月, 2018 6 次提交
  3. 15 1月, 2018 8 次提交
    • D
      Reduce overhead in partition testing · 90a957eb
      Daniel Gustafsson 提交于
      Since ICW is a very longrunning process, attempt to reduce time
      consumption by reducing overhead during testing while keeping the
      test constant (coverage not reduced).
      
      Avoid dropping/recreating underlying test tables when not required,
      reduce the number of partitions in some cases and skip pointless
      drops for objects we know doesn't exist. In total this shaves about
      30-40 seconds off an ICW run on my local machine, mileage may vary.
      90a957eb
    • D
      Add test for partition exchange with external table · 629f8161
      Daniel Gustafsson 提交于
      Make sure that we are able to exchnage in an external partition, and
      also ensure that truncation doesn't recurse into the ext partition.
      629f8161
    • D
      Reword FIXME comments to match syntax · d4ad72d3
      Daniel Gustafsson 提交于
      Make sure all merge related FIXME markers are following the same
      format so that we don't accidentally overlook any due to not
      matching the grep pattern used.
      d4ad72d3
    • D
      Backport timezone data format change · f590dc94
      Daniel Gustafsson 提交于
      This backports the below commit which moved from the source timezone
      file to the newly introduced compact format.
      
        commit 097b24cea68ac167a82bb617eb1844c8be4eaf24
        Author: Tom Lane <tgl@sss.pgh.pa.us>
        Date:   Sat Nov 25 15:30:11 2017 -0500
      
          Replace raw timezone source data with IANA's new compact format.
      
          Traditionally IANA has distributed their timezone data in pure source
          form, replete with extensive historical comments.  As of release 2017c,
          they've added a compact single-file format that omits comments and
          abbreviates command keywords.  This form is way shorter than the pure
          source, even before considering its allegedly better compressibility.
          Hence, let's distribute the data in that form rather than pure source.
      
          I'm pushing this now, rather than at the next timezone database update,
          so that it's easy to confirm that this data file produces compiled zic
          output that's identical to what we were getting before.
      
          Discussion: https://postgr.es/m/1915.1511210334@sss.pgh.pa.us
      f590dc94
    • D
      Update timezone data and management code to match PostgreSQL · ba5cfa93
      Daniel Gustafsson 提交于
      The timezone data in Greenplum are from the base version of
      PostgreSQL that the current version of Greenplum is based on.
      This cause issues since it means we are years behind on tz
      changes that have happened. This pulls in the timezone data
      and code from PostgreSQL 10.1 with as few changes to Greenplum
      as possible to minimize merge conflicts. The goal is to gain
      data rather than features, and for Greenplum for each release
      to be able to stay current with the iana tz database as it is
      imported into upstream PostgreSQL.
      
      This removes a Greenplum specific test for the Yakutsk timezone
      as it was made obsolete by upstream tz commit 1ac038c2c3f25f72.
      ba5cfa93
    • D
      Clarify comment on gp_replica_check compatibility · cb29e49e
      Daniel Gustafsson 提交于
      We can't run gp_replica_check on btree, gin and gist as they are
      currently not guaranteeing physical equivalence, only logical.
      When we've merged 9.4, we can however start turning this on again
      as the pages are then holding the physical equivalence property.
      cb29e49e
    • J
      cs_walrep_2: fix races in test_negative · 5569b924
      Jacob Champion 提交于
      pg_ctl and gpstart appear to be running simultaneously, because we're
      not waiting for pg_ctl to finish before moving to the next call.
      (subprocess.Popen() doesn't return the process's return code -- it
      returns a Popen instance.)
      
      cs_walrep_2 in the master pipeline is currently failing roughly 50% of
      the time due to a crash during test_negative. Let's see if this helps at
      all.
      5569b924
    • J
      pipeline: update gpdb_master with segwalrep changes · 73af772d
      Jacob Champion 提交于
      The temporary segwalrep pipeline can be removed now.
      73af772d
  4. 13 1月, 2018 23 次提交
    • X
      Remove filerep from gpdb-tpl and enabled walrep · 0282d75c
      Xin Zhang 提交于
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jimmy Yih <jyih@pivotal.io>
      0282d75c
    • A
      Avoid InitXLOGAccess() for FTS on mirror. · 93681bd0
      Ashwin Agrawal 提交于
      93681bd0
    • A
      Remove -x to postgres from walrep tests. · 87ebf6db
      Ashwin Agrawal 提交于
      87ebf6db
    • A
      fef67414
    • X
      Add DEFAULT_QD_MAX_CONNECTION to 250 · 6cd8395c
      Xin Zhang 提交于
      This is to pass isolation2 max concurrency tests.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jimmy Yih <jyih@pivotal.io>
      6cd8395c
    • A
      isolation2: Change dbid to content-id in SQL · 6489bc5d
      Ashwin Agrawal 提交于
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jimmy Yih <jyih@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      6489bc5d
    • A
      isolation2: For utiltiy mode use content-id instead of dbid. · 50f3cb12
      Ashwin Agrawal 提交于
      dbid is not consistent (like content 0 mirror will always have dbid 5), as
      segments get created in parallel and get assigned those based on order of
      execution. Hence better convention to use is content-id, to specify which
      segment to connect. Framework currently connects to primary of specified
      content-id.
      
      If later needed, maybe when we enable hot-standby feature can extend further to
      start supporting connecting to specified content-ids mirror as well. Not
      something needed as of now.
      50f3cb12
    • X
      Make reader_waits_for_lock test more readable · 2e0778d6
      Xin Zhang 提交于
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      2e0778d6
    • A
      Fix parsing of recovery.conf to not fail due to PGOPTIONS. · 7eae4fed
      Ashwin Agrawal 提交于
      This is mostly cherry-pick of upstream commit
      commit 970a1868
      Author: Robert Haas <rhaas@postgresql.org>
      Date:   Fri Dec 3 08:44:15 2010 -0500
      
          Use GUC lexer for recovery.conf parsing.
      
          This eliminates some crufty, special-purpose code and, as a non-trivial
          side benefit, allows recovery.conf parameters to be unquoted.
      
          Dimitri Fontaine, with review and cleanup by Alvaro Herrera, Itagaki
          Takahiro, and me.
      7eae4fed
    • J
      Add mirror_promotion test for failover and back · 909fbc66
      Jacob Champion 提交于
      The test uses \retcode to ignore the output of the external script, but
      remember the return code in the expected result.
      
      It's very useful for this scenario to ensure, we don't care for the
      details of the recoveryfull operation, but we do care this operation
      complete successfully.
      
      The test stop the primary and trigger failover to its mirror, then fail
      back to the original segment configuration. At the end of the test, the
      gp_segment_configuration is the same as the beginning of the test.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      909fbc66
    • X
      gpsegwalrep.py: Bug fixes for recoverfull · 4c82a3dc
      Xin Zhang 提交于
      Originally, we don't wait for mirror in sync after recoverfull, and the
      final state of the cluster would be non-deterministic. Since, we are
      doing the full recovery here, hence the final state the mirrors should
      always be in-sync with their primaries.
      
      Author: Xn Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      4c82a3dc
    • X
      gpsegwalrep.py: Add rebuild operation · e4d25e5b
      Xin Zhang 提交于
      `rebuild` is different from `recoverfull`. It will create new directory
      for the new mirror with new port for given content id.
      
      `recoverfull` on the other hand will just recover all the failed mirrors
      using existing information in gp_segment_configuration.
      
      The both use basebackup to build the mirror.
      
      We reduce port increment to avoid over the port limit after multiple
      rebuild.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      e4d25e5b
    • X
      gpsegwalrep.py: Fix for clusterstart · 81f076e5
      Xin Zhang 提交于
      Ignore segments not marked as up for clusterstart operation.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      81f076e5
    • X
      gpsegwalrep.py: Bug fix for InitMirrors() and DestroyMirrors() · 1e9df4c4
      Xin Zhang 提交于
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      1e9df4c4
    • X
      gpsegwalrep.py: Using distinct content IDs · 1a7e4d72
      Xin Zhang 提交于
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      1a7e4d72
    • A
      Fix FTS probe context with correct number of primaries · 8900d60a
      Ashwin Agrawal 提交于
      Originally, we skip probing primary without mirrors, however, we still
      use the num_primary_segments to indicate number of requests. This caused
      inconsistency when processing the response, since, not all the primary
      segments got probe response.
      
      The fix is to only track the actual number of probe requests sent.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      8900d60a
    • X
      Primary to mirror failover · 4d9c7897
      Xin Zhang 提交于
      - detect primary goes down
      - flip the role to m/p/d/n and p/m/u/n (role/prefer/status/mode) in
        gp_segment_configuration
      - send promotion message to mirror to promote it
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      4d9c7897
    • A
      isolation2: Fix Makefile to run test manually · c5fe4b59
      Ashwin Agrawal 提交于
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      c5fe4b59
    • X
      isolation2: Refactor connectdb() · f723dc54
      Xin Zhang 提交于
      In the past, the utility mode will not be retried, and caused wrong
      behavior when trying to connect to given segment under utility mode.
      
      In this refactoring, both utility mode and normal mode will go through
      connectdb() that has the retry logic.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      f723dc54
    • J
      isolation2: add an exit-code-only execution mode · 21c13fb3
      Jacob Champion 提交于
      We don't want to diff the output from `segwalrep.py recoverfull`, but we
      do want to know if the command has succeeded or not. Add a new execution
      mode, invoked via
      
          !\retcode EXECUTABLE [OPTIONS ...]
      
      which will bracket the program's stdout/stderr with begin/end_ignore,
      and also print out an exit code (which is not ignored).
      21c13fb3
    • J
      isolation2: remove EXTRA_TESTS · 4199c12e
      Jacob Champion 提交于
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      4199c12e
    • A
      Set number of content IDs correctly on mirrors · 85e48dc4
      Asim R P 提交于
      If number of segments is not set to a value > 0, the assertion in
      getgpsegmentCount() trips.  Executor calls this function from many
      places.  Without this change, executing "select * from
      gp_stat_replication;" trips the assertion on a promoted mirror because
      number of contents is set to 0.
      
      Author: Asim R P <apraveen@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      85e48dc4
    • H
      Remove two tests for old bugs that were specific to persisent tables. · b03f5fb5
      Heikki Linnakangas 提交于
      There is no reason to believe that these bugs could reappear, in the same
      form.
      b03f5fb5