1. 08 5月, 2019 4 次提交
  2. 07 5月, 2019 4 次提交
    • L
      docs - address lock exhaustion shared mem error msg (#7594) · 92e9a194
      Lisa Owen 提交于
      * docs - address lock exhaustion shared mem error msg o
      
      * capitalize Out in title
      92e9a194
    • P
      Recursively create tablespace directories if they do not exist but we need... · 1ed2d8cf
      Paul Guo 提交于
      Recursively create tablespace directories if they do not exist but we need them when re-redoing some tablespace related xlogs (e.g. database create with a tablespace) on mirror.
      
      It is observed many time that gp_replica_check test fails because some mirror nodes
      can not be brought up before testing recently. The related log looks like this:
      
      2019-04-17 14:52:14.951 CST [23030] FATAL:  could not create directory "pg_tblspc/65546/PG_12_201904072/65547": No such file or directory
      2019-04-17 14:52:14.951 CST [23030] CONTEXT:  WAL redo at 0/3011650 for Database/CREATE: copy dir 1663/1 to 65546/65547
      
      That is because some mirror nodes can not be recovered after previous testing,
      not due to gp_replica_check itself. The root cause is that tablespace recovery
      related. Pengzhou Tang and Hao Wu digged that intially and kindly found a mini
      repro as below.
      
      run on shell:
        rm -rf /tmp/some_isolation2_pg_basebackup_tablespace
        mkdir -p /tmp/some_isolation2_pg_basebackup_tablespace
      
      copy and run the below sql on psql client:
        drop tablespace if exists some_isolation2_pg_basebackup_tablespace;
        create tablespace some_isolation2_pg_basebackup_tablespace location '/tmp/some_isolation2_pg_basebackup_tablespace';
        \!gpstop -ra -M fast;
        drop database if exists some_database_with_tablespace;
        create database some_database_with_tablespace tablespace some_isolation2_pg_basebackup_tablespace;
        drop database some_database_with_tablespace;
        drop tablespace some_isolation2_pg_basebackup_tablespace;
        \!gpstop -ra -M immediate;
      
      The root cause is on mirror after drop database & drop tablespace, 'immediate'
      stop causes the pg_control file not up-to-date with latest redo start lsn (this
      is allowed), when the node restarts, it re-redoes 'create database
      some_database_with_tablespace tablespace
      some_isolation2_pg_basebackup_tablespace' but the tablespace directories have
      been deleted in previous redoing.
      
      The 'could not create directory' error could happen on re-redoing create table
      in a tablespace also. We've seen this case on the ci environment, but that is
      because missing of a get_parent_directory() call in the 'create two parents'
      code block in TablespaceCreateDbspace(). Changing it to a simpler call
      pg_mkdir_p() instead.
      
      Also it seems that the src_path could be missing also in dbase_redo() for the
      example below. For example re-redoing at the alter step since tbs1 directory is
      deleted in later 'drop tablespace tbs1'.
        alter database db1 set tablespace tbs2;
        drop tablespace tbs1;
      
      There is discussion on upstream about this,
        https://www.postgresql.org/message-id/flat/CAEET0ZGx9AvioViLf7nbR_8tH9-%3D27DN5xWJ2P9-ROH16e4JUA%40mail.gmail.com
      
      In this patch I recreate those directories to avoid this error. Other solutions
      include ignoring the directory-not-existing error or forcing a flush when
      redoing those kind of checkpoint xlogs which are added normally in drop
      database, etc.
      
      Let's revert or update the code change after the solution is finalized on
      upstream.
      1ed2d8cf
    • J
      Remove gpseginstall · 9a181d4b
      Jamie McAtamney 提交于
      Now that the enterprise version of GPDB is only provided via RPM, including
      gpseginstall in the distribution would cause conflicts if users try to install
      GPDB with RPMs and with gpseginstall on the same cluster.  While it could be
      preserved for use by the OSS community, there are several standard tools for
      copying GPDB files to segment hosts in a cluster, and recommendations for using
      one or more of those tools will be included in the GPDB documentation.
      
      In addition to removing gpseginstall itself, this commit removes references to
      it in other utilities' documentation and removes code in gppylib that was only
      called by gpseginstall.
      Co-authored-by: NJamie McAtamney <jmcatamney@pivotal.io>
      Co-authored-by: NKalen Krempely <kkrempely@pivotal.io>
      (cherry picked from commit 64014685)
      9a181d4b
    • B
      Bump ORCA to v3.39.0 · 4c2b5b97
      Bhuvnesh Chaudhary 提交于
      4c2b5b97
  3. 05 5月, 2019 1 次提交
  4. 04 5月, 2019 1 次提交
  5. 03 5月, 2019 6 次提交
  6. 02 5月, 2019 12 次提交
  7. 30 4月, 2019 1 次提交
  8. 27 4月, 2019 2 次提交
  9. 26 4月, 2019 8 次提交
    • X
      Remove transaction state DTX_STATE_ACTIVE_NOT_DISTRIBUTED · ee76756c
      xiong-gang 提交于
      DTX_STATE_ACTIVE_NOT_DISTRIBUTED indicates the transaction is started on QD and
      two-phase commit is not required yet, in this state, distributed transaction ID
      is also generated. If this transaction is not a two-phase transaction, e.g. implicit
      select-only transaction, it will also need to acquire the ProcArrayLock to clear
      the distributed transaction ID, and that leads to unnecessary lock contention.
      ee76756c
    • Z
      Fix bug missing initializing timeout · 9631892c
      Zhenghua Lyu 提交于
      We found that if gp_segment_configuration is locked, then it will
      fail by triggering FTS. We got the stack below
      	#2  0x0000000000a6bb29 in ExceptionalCondition at assert.c:66
      	#3  0x0000000000aac19a in enable_timeout timeout.c:143
      	#4  0x0000000000aacb6c in enable_timeout_after timeout.c:473
      	#5  0x00000000008e86ef in ProcSleep at proc.c:1300
      	#6  0x00000000008deb70 in WaitOnLock at lock.c:1894
      	#7  0x00000000008e019e in LockAcquireExtended at lock.c:1205
      	#8  0x00000000008dd2d8 in LockRelationOid at lmgr.c:102
      	#9  0x000000000051c928 in heap_open at heapam.c:1083
      	#10 0x0000000000b7feaf in getCdbComponentInfo at cdbutil.c:173
      	#11 0x0000000000b81365 in cdbcomponent_getCdbComponents at cdbutil.c:606
      	#12 0x00000000007603e1 in ftsMain at fts.c:351
      	#13 0x0000000000760715 in ftsprobe_start at fts.c:121
      	#14 0x00000000004cc7b0 in ServerLoop ()
      	#15 0x00000000008769bf in PostmasterMain at postmaster.c:1531
      	#16 0x000000000079098b in main ()
      So it is that FTS hasn't initialized timeout. Any process that
      wants to use timeout must call initilization first. This is the
      root cause gpexpand job fails on master pipeline in build 71 and 79.
      We added this initialization in FTS and GDD.
      9631892c
    • C
    • C
      Remove add_missing_from GUC from all docs (#7551) · f56facd6
      Chuck Litzell 提交于
      f56facd6
    • C
      Docs - update pg_class and pg_index catalog table references (#7504) · 9f7b4971
      Chuck Litzell 提交于
      * Docs - update pg_class and pg_index catalog table references
      
      * dyozie review comments
      9f7b4971
    • L
      1da629fd
    • J
      gppkg: remove special Concourse task for GPHOME copying · 9b8047d8
      Jacob Champion 提交于
      concourse/scripts/gppkg_behave.sh, which installs an identical copy of
      GPHOME into a new location, existed for exactly one test. Modify that
      test to perform its own copy-install.
      
      (cherry picked from commit e6b40a71)
      9b8047d8
    • J
      CI: fix Concourse template for gpexpand · 1c7721bf
      Jacob Champion 提交于
      gpexpand requires centos6, ICW, and CLI jobs to be enabled, but it was
      being included in the groups when only a subset of those requirements
      was met, so fly refused the pipeline. With this change, centos6/CLI
      pipelines should work again.
      
      (cherry picked from commit 52a21767)
      1c7721bf
  10. 25 4月, 2019 1 次提交