1. 08 1月, 2019 4 次提交
    • P
      Fix fts_recovery_in_progress test failure because pg_rewind runs before... · 4bb7df08
      Paul Guo 提交于
      Fix fts_recovery_in_progress test failure because pg_rewind runs before timeline id updating after mirror promotion.
      
      This issue was actually seen on PG upstream and was fixed by Heikki in
      pg_rewind test case. In gpdb, we are much more automatically using pg_rewind
      via gprecoverseg, so we'd better fix that in our own code (gprecoverseg or
      pg_rewind). On gpdb, after mirror promotion via fts, the time is possibly not
      short before a correct timeline id is flushed into the pg_control file. For
      such case, if we do incremental recovery via gprecoverseg, it will succeed but
      the target node (new mirror) is still not functional.
      
      commit 484a848a
      Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
      Date:   Thu Apr 30 21:57:18 2015 -0700
      
          Fix pg_rewind regression failure after "fast promotion"
      
          pg_rewind looks at the control file to determine the server's timeline. If
          the standby performs a "fast promotion", the timeline ID in the control
          file is not updated until the next checkpoint. The startup process requests
          a checkpoint immediately after promotion, so this is unlikely to be an
          issue in the real world, but the regression suite ran pg_rewind so quickly
          after promotion that the checkpoint had not yet completed.
      
          Reported by Stephen Frost
      4bb7df08
    • A
      Initdb: Ignore distributed log check. · 8b1a3980
      Ashwin Agrawal 提交于
      Without this commit, after initdb datfrozenxid for all databases
      remains 3. Ideally, databases should get freezed during initdb as
      tools like pg_upgrade make assumptions on the same.
      Co-authored-by: NEkta Khanna <ekhanna@pivotal.io>
      8b1a3980
    • M
      docs - first HA updates that use WAL replication. (#6588) · 96803e5b
      Mel Kiyama 提交于
      * docs - first HA updates that use WAL replication.
      
      --Removed references to filerep
      --Updated segment instance states to use WAL rep states
      --Other misc. updates.
      
      * docs -  HA updates for WAL replication - review comment upates
      96803e5b
    • A
      a52fa413
  2. 07 1月, 2019 7 次提交
    • H
      Refactor executor Squelch and EagerFree functions. · 6195b967
      Heikki Linnakangas 提交于
      Merge the two concepts, squelching and eager-freeing. There is now only
      one function, ExecSquelchNode(), that you can call. It recurses to
      children, as before, but it now also performs eager-freeing of resources.
      Previously that was done as a separate call, but that was an unnecessary
      distinction, because all callers of ExecSquelchNode() also called
      ExecEagerFree()
      
      The concept of eager-freeing still lives on, as ExecEagerFree*() functions
      specific to many node types. But it no longer recurses! The pattern is
      that ExecSquelchNode() always performs eager freeing of the node, and also
      recurses. In addition to that, some node types also call the node-specific
      EagerFree function of the same node, after reaching the end of tuples.
      
      This makes it more clear which function should be called when.
      
      ExecEagerWalker() used to have special handling for the pattern of:
        Result
        -> Material
          -> Broadcast Motion
      
      I tried removing that, but then I started to get "illegal rescan of motion
      node" errors in the regression tests, from queries with a LIMIT node in a
      subquery. Upon closer look, I believe that was because the Limit node was
      calling ExecSquelchNode() on the input, even though the Limit node was
      marked as rescannable. To fix that, I added delayEagerFree logic to Limit
      node, to not call ExecSquelchNode() when the node might get rescanned
      later.
      
      The planstate_walk_kids() code did not know how to recurse into the
      children of a MergeAppend node. We missed adding that logic, when we
      merged the MergeAppend node type from upstream, in 9.1. We don't use that
      mechanism for recursing in ExecSquelchNode() anymore, but that probably
      should be fixed, anyway, as a separate commit later.
      
      Fixes https://github.com/greenplum-db/gpdb/issues/6602 and
      https://github.com/greenplum-db/gpdb/issues/6074.
      Reviewed-by: NTang Pengzhou <ptang@pivotal.io>
      6195b967
    • H
      Remove pointless mock test. · 45160699
      Heikki Linnakangas 提交于
      The test was testing, that when ExecEagerFree() is called on a
      ShareInputScanState node, it calls ExecEagerFreeShareInputScan(). But that
      is trivially true, there is a direct call to ExecEagerFreeShareInputScan()
      in ExecEagerFree(). Seems pointless to have a test for it.
      45160699
    • H
      Fix struct name in comment. · 3ef7748e
      Heikki Linnakangas 提交于
      3ef7748e
    • H
      Fix typos in comments. · 76797520
      Heikki Linnakangas 提交于
      Mostly misspellings of "function".
      76797520
    • P
      Do not use hardcoded TemplateDbOid for database access during standby promotion. (#6601) · f13bc209
      Paul Guo 提交于
      TemplateDbOid is for database template1, but template1 could be recreated and
      thus its oid is not longer TemplateDbOid.
      
      Also change to Use database postgres to find database oid and tablespace like
      what fts and gdd do. We should better use the same database for such
      purpose. I thought about which database gpdb should use: template1 or
      postgres. Both of them are template database, but it seems that some users
      or customers sometimes customize their own template1 database and
      template1 is the default template for database creating so if some auxiliary
      processes use that, "create database" command will fail. Using database
      postgres seems to be more reasonable. In addition, of course, users possibly
      drop the database postgres, but that is a rare case and they could easily
      recreate one for our purpose. We really do not need to over-design for such rare case.
      f13bc209
    • P
      remove unused field within CdbComponentDatabases · 9b6c40de
      Pengzhou Tang 提交于
      9b6c40de
    • J
      Fallback 'default_transaction_isolation' guc from serializable to repeatable read (#6572) · 00527685
      Jinbao Chen 提交于
      
      Serializable is not yet supported, so we need to fallback gucs
      'transaction_isolation' and 'default_transaction_isolation' from
      serializable to repeatable read. Before, we just right fallback the
      transaction_isolation. For default_transaction_isolation, we only use
      the correct fallback when using the ‘SET SESSION CHARACTERISTICS AS
      TRANSACTION ISOLATION LEVEL serializable’ statement. But we do not
      fallback when using 'SET default_transaction_isolation = 'serializable''.
      Add a check hook 'check_DefaultXactIsoLevel' to fix it.
      00527685
  3. 05 1月, 2019 2 次提交
  4. 04 1月, 2019 3 次提交
  5. 03 1月, 2019 8 次提交
  6. 31 12月, 2018 7 次提交
  7. 29 12月, 2018 2 次提交
  8. 28 12月, 2018 7 次提交