1. 10 6月, 2020 1 次提交
  2. 04 6月, 2020 1 次提交
  3. 21 5月, 2020 1 次提交
  4. 12 5月, 2020 1 次提交
  5. 02 3月, 2020 1 次提交
    • H
      Add max_retries flag for gpload (#9606) · 1bb52ea8
      Huiliang.liu 提交于
      Add max_retries flag for gpload. It indicates the max times on connecting to GPDB timed out.
      max_retries default value is 0 which means no retry.
      If max_retries is -1 or other negative value, it means retry forever.
      
      Test has been done manually.
      
      ( cherry pick from master commit: b891b85b)
      1bb52ea8
  6. 03 1月, 2020 2 次提交
  7. 24 9月, 2019 1 次提交
    • P
      Ship subprocess32 and replace subprocess with it in python code (#8658) · 7e44dbf1
      Paul Guo 提交于
      * Ship modified python module subprocess32 again
      
      subprocess32 is preferred over subprocess according to python documentation.
      In addition we long ago modified the code to use vfork() against fork() to
      avoid some "Cannot allocate memory" kind of error (false alarm though - memory
      is actually sufficient) on gpdb product environment that is usually with memory
      overcommit disabled.  And we compiled and shipped it also but later it was just
      compiled but not shipped somehow due to makefile change (maybe a regression).
      Let's ship it again.
      
      * Replace subprocess with our own subprocess32 in python code.
      
      Cherry-picked 9c4a885b and
                    da724e8d and
                    a8090c13 and
                    4354f28c
      7e44dbf1
  8. 26 8月, 2019 2 次提交
  9. 11 4月, 2019 1 次提交
  10. 01 2月, 2019 1 次提交
    • H
      Rename gp_distribution_policy.attrnums to distkey, and make it int2vector. · 69ec6926
      Heikki Linnakangas 提交于
      This is in preparation for adding operator classes as a new column
      (distclass) to gp_distribution_policy. This naming is consistent with
      pg_index.indkey/indclass. Change the datatype to int2vector, also for
      consistency with pg_index, and some other catalogs that store attribute
      numbers, and because int2vector is slightly more convenient to work with
      in the backend. Move the column to the end of the table, so that all the
      variable-length and nullable columns are at the end, which makes it
      possible to reference the other columns directly in Form_gp_policy.
      
      Add a backend function, pg_get_table_distributedby(), to deparse the
      DISTRIBUTED BY definition of a table into a string. This is similar to
      pg_get_indexdef_columns(), pg_get_functiondef() etc. functions that we
      have. Use the new function in psql and pg_dump, when connected to a GPDB6
      server.
      Co-authored-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      Co-authored-by: NPeifeng Qiu <pqiu@pivotal.io>
      Co-authored-by: NAdam Lee <ali@pivotal.io>
      69ec6926
  11. 17 1月, 2019 1 次提交
  12. 13 12月, 2018 1 次提交
    • D
      Reporting cleanup for GPDB specific errors/messages · 56540f11
      Daniel Gustafsson 提交于
      The Greenplum specific error handling via ereport()/elog() calls was
      in need of a unification effort as some parts of the code was using a
      different messaging style to others (and to upstream). This aims at
      bringing many of the GPDB error calls in line with the upstream error
      message writing guidelines and thus make the user experience of
      Greenplum more consistent.
      
      The main contributions of this patch are:
      
      * errmsg() messages shall start with a lowercase letter, and not end
        with a period. errhint() and errdetail() shall be complete sentences
        starting with capital letter and ending with a period. This attempts
        to fix this on as many ereport() calls as possible, with too detailed
        errmsg() content broken up into details and hints where possible.
      
      * Reindent ereport() calls to be more consistent with the common style
        used in upstream and most parts of Greenplum:
      
      	ereport(ERROR,
      			(errcode(<CODE>),
      			 errmsg("short message describing error"),
      			 errhint("Longer message as a complete sentence.")));
      
      * Avoid breaking messages due to long lines since it makes grepping
        for error messages harder when debugging. This is also the de facto
        standard in upstream code.
      
      * Convert a few internal error ereport() calls to elog(). There are
        no doubt more that can be converted, but the low hanging fruit has
        been dealt with. Also convert a few elog() calls which are user
        facing to ereport().
      
      * Update the testfiles to match the new messages.
      
      Spelling and wording is mostly left for a follow-up commit, as this was
      getting big enough as it was. The most obvious cases have been handled
      but there is work left to be done here.
      
      Discussion: https://github.com/greenplum-db/gpdb/pull/6378Reviewed-by: NAshwin Agrawal <aagrawal@pivotal.io>
      Reviewed-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      56540f11
  13. 30 11月, 2018 1 次提交
  14. 29 11月, 2018 1 次提交
    • D
      Compare with None using the is operator · e39047b5
      Daniel Gustafsson 提交于
      While == None works for comparison, it's a wasteful operation as it
      performs type conversion and expansion. Instead move to using the
      "is" operator which is the documented best practice for Python code.
      
      Reviewed-by: Jacob Champion
      e39047b5
  15. 14 11月, 2018 1 次提交
  16. 30 7月, 2018 1 次提交
    • P
      gpload: exit with os._exit to prevent hang (#5335) · f3e5c093
      Peifeng Qiu 提交于
      gpload test case will run gpload with subprocess, read stdout
      and stderr from it and wait for exit. sys.exit in gpload does some
      cleanup may cause deadlock between test and gpload. os._exit will
      exit immediately, but we need to flush stdout and stderr before
      that.
      f3e5c093
  17. 24 7月, 2018 1 次提交
  18. 23 7月, 2018 1 次提交
    • H
      support fast_match option in gpload config file (#5310) · d240a284
      Huiliang.liu 提交于
      - add fast_match option in gpload config file. If both reuse_tables
      and fast_match are true, gpload will try fast match external
      table(without checking columns). If reuse_tables is false and
      fast_match is true, it will print warning message.
      d240a284
  19. 23 4月, 2018 1 次提交
  20. 03 4月, 2018 1 次提交
    • A
      Get rid of pg_exttable.fmterrtbl · 8f6fe2d6
      Adam Lee 提交于
      The pg_exttable.fmterrtbl column stored the OID of the error table, but
      without an error table it is just set to the OID of the external table.
      That is not necessary, there are other columns which indicate if error
      logging is enabled. Therefore this column can be removed.
      8f6fe2d6
  21. 27 3月, 2018 1 次提交
    • P
      Use hard kill in gpload to avoid unexpected gpfdist hang (#4765) · 83fb63c0
      Peifeng Qiu 提交于
      When gpload finishes its query, it will send SIGTERM to gpfdist.
      gpfdist handle SIGTERM with exit(1), which will invoke registered
      apr handlers and cleanup all apr resources including apr_pool. If
      this happens just during normal destruction of apr_pool in
      do_close, gpfdist will hang.
      
      Call _exit in gpfdist to avoid any cleanup handlers, and let gpload
      send SIGKILL to perform hard kill.
      83fb63c0
  22. 26 2月, 2018 1 次提交
    • H
      fix gpload bug about handling nullas option (#4583) · 2e330960
      huiliang-liu 提交于
      - if the data file contains "\N" as the delimiter, it would not be
      recognized properly by gpload
      - root cause: gpload replace the quote in nullas option as well as
      replace '\' as '\\'
      - solution: add quote_no_slash function to handle nullas option
      2e330960
  23. 19 1月, 2018 1 次提交
  24. 27 12月, 2017 1 次提交
  25. 13 11月, 2017 1 次提交
    • J
      fix error_table (#3848) · d0b6e344
      Jialun 提交于
      gpload ERROR_TABLE configuration is forbidden in GPDB5 and use
      LOG_ERRORS instead. That's why Informatica 9.x connector can't
      load data into GPDB5.
      
      So we accept ERROR_TABLE, if ERROR_TABLE is set, we will not
      create it as before, but set LOG_ERRORS and REUSE_TABLE to true
      instead.
      d0b6e344
  26. 30 10月, 2017 1 次提交
    • J
      fix bug gpload error count (#3629) · c9977c1d
      Jialun 提交于
      gpload error count is incorrect when more than one segment has format
      error, for the cmdtime is different, and only errors with the newest
      cmdtime is counted.
      
      So we add startTime which will be used for counting all the errors
      occured during the same gpload operation.
      c9977c1d
  27. 07 8月, 2017 1 次提交
  28. 27 7月, 2017 1 次提交
  29. 11 7月, 2017 2 次提交
    • A
      gpload: log gpfdist outputs by default · 64d150e9
      Adam Lee 提交于
      Which is important for debugging customers' issues. (log level still
      matters)
      64d150e9
    • M
      Fixed gpload freezed when logging some non-unicode data · 769836cc
      Ming LI 提交于
      1. Log raw string if it can't be decoded as unicode.
      2. If similar exception issues in log(), continue processing left log with a warning.
      3. If other exception issues in CatThread, log thread exit without blocking worker process,
      and report warning "gpfdist log halt because Log Thread got an exception:".
      769836cc
  30. 30 6月, 2017 1 次提交
  31. 05 5月, 2017 1 次提交
  32. 18 4月, 2017 2 次提交
  33. 03 3月, 2017 1 次提交
    • W
      Fix gpload reuse table issues (#1693) · 051f456e
      Wu Ning 提交于
      * Fix gpload reuse table issues
      
      This commit fixes issues below:
      
      1, reports unexpected error when reuse_table is enabled
      2, doesn't recognize GPDB delimiter syntax like E'\t'
      3, unnecessary case sensible of column names
      Signed-off-by: NAdam Lee <ali@pivotal.io>
      Signed-off-by: NNing Wu <nwu@pivotal.io>
      
      * delimiter '\t' handled
      
      * Fixed report warnings wrongly when reusable table exists
      
      * remove the tailing space and simplify sql
      051f456e
  34. 22 2月, 2017 1 次提交
  35. 18 1月, 2017 1 次提交
  36. 10 1月, 2017 1 次提交