1. 07 12月, 2017 20 次提交
    • P
      Ignore errors when closing external file if QueryFinishPending is true · 41844808
      Pengzhou Tang 提交于
      In GPDB, a web external scan is mainly divided to 3 steps:
      1. url_execute_fopen () forks a child process and creates a pipe so that
      child process can execute a command and sends the output back through
      the pipe.
      2. url_execute_fread () reads data from the pipe until child closed the
      peer of the pipe.
      3. url_execute_fclose () close the pipe firstly, then wait for the child
      process to exit if failOnError is true.
      
      However, for queries with LIMIT clause, QE may receive a query finish
      signal after url_execute_fopen () and url_execute_fread() may be skipped
      which means parent may close read peer of the pipe before child writing
      some data and child will exit with SIGPIPE error. To fixed this, we set
      failOnError to false if QueryFinishPending is true so that any errors
      when closing external file will be ignored, QueryFinishPending means QD
      have got enough tuples and query can return correctly, so it should be
      fine to ignore the error in such case.
      
      This fixes issue #4064
      41844808
    • P
      Fix issue that rows are inserted into wrong partitions · db0a430b
      Pengzhou Tang 提交于
      Command "alter table xxxx alter partition xxx split default partition
      into xxx" splits an existing partition into two partitions, previously
      split_rows() only checked the first constraint of the new partitions to
      decide the target partition of the row, it was proved to be incorrect
      and rows were split to unexpected partitions.
      
      This fixes the issue #4051 which is hard to caught, per an analysis by
      Jesse Zhang: in CheckConstraintFetch where the tuple descriptor was
      constructed and later passed into split_rows, we were enumerating the
      constraints using the index pg_constraint_conrelid_index, which is only
      indexed on conrelid.  This means that the traversal order is not
      guaranteed to be the insertion order: a B-tree node split can render an
      index insertion out-of-order. That also means that depending on the
      timing of when the test was run, we may or may not get in-order
      traversal of the constraints, where the "first" constraint often happens
      to be the leaf-level constraint (which is the one that will determine
      the split direction of the old partition).
      Signed-off-by: NJesse Zhang <jzhang@pivotal.io>
      db0a430b
    • P
      Do deactiving and runaway detecting before ReadyForQuery() · cb72d8af
      Pengzhou Tang 提交于
      This fixes issue #4022, so any OOM errors of current query
      will not muddle following queries.
      cb72d8af
    • P
      Resent a cancel/finish signal if QE didn't respond for a long time. · 07ee8008
      Pengzhou Tang 提交于
      Previously, dispatcher only send cancel/finish signal to QEs once, so if
      the signal arrives faster than the query or is omitted by the secure_read(),
      the QE may have no chance to quit if the QE is assigned to execute a MOTION
      node and it's peer has been canceled.
      
      This fixes issue #3950
      07ee8008
    • S
      Explicitly set the compiler used in the conan test job · 0381a709
      Shreedhar Hardikar 提交于
      [#153460065]
      Signed-off-by: NJesse Zhang <sbjesse@gmail.com>
      0381a709
    • J
      Oops we missed two tasks in the last commit · 1cb62daa
      Jesse Zhang 提交于
      Those also should switch to the new image.
      
      [#153460065]
      [ci skip]
      Signed-off-by: NShreedhar Hardikar <shardikar@pivotal.io>
      1cb62daa
    • S
      Update image used by ORCA pipeline · 8a104286
      Shreedhar Hardikar 提交于
      [#153460065]
      [ci skip]
      Signed-off-by: NJesse Zhang <sbjesse@gmail.com>
      8a104286
    • C
      Add documentation for citext module (#4063) · 56586f93
      Chuck Litzell 提交于
      * Add documentation for citext module
      
      * Move citext before dblink in the nav
      
      * Edits, formatting, mention on data types reference topic
      
      * Correct xref file name
      56586f93
    • M
      docs: fix dita syntax error · 8a97db87
      mkiyama 提交于
      8a97db87
    • M
      docs: fix dita error · c26f071c
      mkiyama 提交于
      c26f071c
    • S
      gpexpand: test parallelism more loosely to reduce flakes · 10d8eebd
      Shoaib Lari 提交于
      The parallelism tests were too stringent, wanting to observe maximum parallelism
      in order to go green. An example failure we saw was as follows, when 3 threads
      had been "In Progress" together, but not all four (because one thread finished
      really quickly):
      
      `Worker GpExpandTests.check_number_of_parallel_tables_expanded_case_1 failed
      execution: AssertionError: The specified value was never reached.`
      
      Now, we simply assert that some parallelism is observed at some point (2 or more
      "In Progress" at a time). If a test run "flakes" such that there never were two
      "In Progress" at a time, that would be indistinguishable from serial execution,
      so the test would still fail.
      
      Author: C.J. Jameson <cjameson@pivotal.io>
      Author: Shoaib Lari <slari@pivotal.io>
      10d8eebd
    • D
      docs - update resource groups kernel bug note for SuSE 12 · 3d1f24b6
      dyozie 提交于
      3d1f24b6
    • C
      gpstop: Document --host flag. · 5f6c036e
      C.J. Jameson 提交于
      Author: C.J. Jameson <cjameson@pivotal.io>
      Author: Shoaib Lari <slari@pivotal.io>
      5f6c036e
    • S
      gpstop: Recognize downed segments before exiting · 8d2a56a4
      Shoaib Lari 提交于
      Run a distributed query across all segments to force FTS to detect and mark all
      downed segments.
      
      Author: Nadeem Ghani <nghani@pivotal.io>
      Author: Marbin Tan <mtan@pivotal.io>
      Author: Shoaib Lari <slari@pivotal.io>
      Author: C.J. Jameson <cjameson@pivotal.io>
      8d2a56a4
    • C
      gpstop: prevent `gpstop --host` if system doesn't have mirrors · 4f96c774
      C.J. Jameson 提交于
      If we did stop all primaries on that host, the cluster would be down
      anyway. Best to just do a full-cluster gpstop, then bring it all back up
      together.
      4f96c774
    • C
      gpstop: prevent `gpstop --host` if host has a master or standby on it · 2f1d9d56
      C.J. Jameson 提交于
      underlying pylib code identifies master and standby by content id
      
      `gpstop --host localhost` will fail differently: it will simply not find
      the host in the set of hostnames (unless that's how you configured
      things at first)
      2f1d9d56
    • S
      gpstop: Disallow flags incompatible with the --host flag. · 70f15158
      Shoaib Lari 提交于
      For interaction with `-r`: Since we don't stop the master with --host, restart
      will fail anyways, so we don't allow it from the get go.
      
      For interaction with `-m`: If someone is using `--host` and then thinking they
      want to stop the master but not the segments on a particular host, they should
      just do a full gpstop and then bring everything back up. If someone is using
      `-m` and then thinking they need to specify the host for the `-m` flag, they
      don't need to -- the tool infers from the system and shell state.
      
      Author: C.J. Jameson <cjameson@pivotal.io>
      Author: Shoaib Lari <slari@pivotal.io>
      Author: Marbin Tan <mtan@pivotal.io>
      70f15158
    • C
      990b7518
    • M
      gpstop: add ability to stop mirrors and primaries on a specific host · fa2ef5e7
      Marbin Tan 提交于
      Add a flag `--host` which stops all segments
      on the specified host. An easy way to take down a set of segments
      without having to ssh and kill processes.
      
      Refuse to stop specific host if any primary isn't synched
      Signed-off-by: NNadeem Ghani <nghani@pivotal.io>
      Signed-off-by: NC.J. Jameson <cjameson@pivotal.io>
      fa2ef5e7
    • N
      gparray: fix constructor setup · 5dfb9814
      Nadeem Ghani 提交于
      This class was handling the hasMirrors field incorrectly. Now we're
      correctly setting the hasMirrors flag.
      
      This change broke the gpaddmirrors test, so fixed it.
      5dfb9814
  2. 06 12月, 2017 10 次提交
  3. 05 12月, 2017 10 次提交