1. 15 9月, 2017 9 次提交
  2. 14 9月, 2017 13 次提交
  3. 13 9月, 2017 12 次提交
  4. 12 9月, 2017 6 次提交
    • H
      Remove unnecessary handlers of raw parse nodes in contain_windowfuncs() · 211db82e
      Heikki Linnakangas 提交于
      We no longer call contain_windowfunc() on raw parse trees, so we can
      revert this to the way it is in the upstream.
      211db82e
    • H
      Merge with commit '0f855d62', from PostgreSQL 8.4devel. · bea61a71
      Heikki Linnakangas 提交于
      This is the first merge commit, on our way to merging with PostgreSQL 8.4.
      
      Nothing too exciting in this batch. Most of the included changes we had
      in fact already backported earlier. But some things worth mentioning:
      
      * This bumps up the PostgreSQL version number to 8.4devel. This might
        require 3rd party tools to be fixed to cope with that.
      
      * Bumping the version number caused some \d queries in psql to fail,
        because they did a version check and tried to run queries that only work
        on PostgreSQL 8.4. This happens because the GPDB version of psql has been
        backported from 9.0. To make it work for now, I #ifdef'd out the version
        checks, and added GPDB_84_MERGE_FIXME comments to remind us to re-enable
        them again later, once we have merged the backend catalog changes that
        they need.
      
      * Same for a some version checks in pg_upgrade.
      
      * The build system now links the whole backend in one invocation, instead
        of using the per-directory intermediate SUBSYS.o files. We had already
        backported the Makefile changes for that, so this just flips the switch
        to start using it.
      
      This has been a joint effort between Heikki Linnakangas, Daniel Gustafsson,
      Jacob Champion and Tom Meyer.
      bea61a71
    • P
      Make gp_resgroup_status work with concurrently resgroup drops. · 5893ca3c
      Pengzhou Tang 提交于
      The view gp_toolkit.gp_resgroup_status collect resgroup status
      information on both QD and QEs, also before and after a 300ms delay to
      measure the cpu usage. When there is concurrently resgroup drops it
      might fail due to missing resgroups.
      
      This is fixed by holding ExclusiveLock which blocks the drop operations.
      Signed-off-by: NNing Yu <nyu@pivotal.io>
      5893ca3c
    • P
      Decrease the max_connections to adopt weak agents · 71f31202
      Pengzhou Tang 提交于
      In some weak test agents, the shared semaphore is two small to support large
      max_connections like 150, so refine test cases to make it work with
      40 max_connections.
      71f31202
    • P
      Set resWaiting under ResGroupLock to avoid race condition · 88233315
      Pengzhou Tang 提交于
      Previously in ResGroupSlotRelease(), we mark the resWaiting flag to
      false out of the ResGroupLock, a race condition can happen as that
      the waitProc that meant to be wake up is canceled just before it's
      resWaiting is set to false and in the window resWaiting is set, the
      waitProc run another query and wait for a free slot again, then
      resWaiting is set and the waitProc will get another unexpected free slot.
      
      eg: rg1 has concurrency = 1
      
      s1: BEGIN;
      s2: BEGIN; -- blocked
      s1: END; -- set breakpoint just before resWaiting is set in ResGroupSlotRelease()
      s2: cancel it;
      s3: BEGIN; -- will get a free slot.
      s2: BEGIN; -- run begin again and be blocked.
      s1: continue;
      s2: s2 will got unexpected free slot
      
      To avoid leak of resgroup slot, we set resWaiting under ResGroupLock so the
      waitProc have no window to re-fetch the slot before resWaiting is set.
      It's hard to add a regression test, adding breakpoint in ResGroupSlotRelease
      may block all other operations because it holds the ResGroupLock.
      88233315
    • X
      gpcheckcloud: use strncpy() to set eolString · d3fb0fab
      Xiaoran Wang 提交于
      string overflow won't happen here because gpcheckcloud_newline was
      checked before, but still, strncpy() looks better.
      Signed-off-by: NXiaoran Wang <xiwang@pivotal.io>
      Signed-off-by: NAdam Lee <ali@pivotal.io>
      d3fb0fab