Skip to content
This repository was archived by the owner on May 22, 2024. It is now read-only.
Robert Eckhardt edited this page Sep 11, 2017 · 30 revisions

PostgreSQL 8.4 merge

Resources:

Plan on breakdown into iterations: https://groups.google.com/a/greenplum.org/d/msg/gpdb-dev/qlTs4J36Xo4/OhGzrZDhCgAJ

Spreadsheet that lists all the commits between 8.3 and 8.4: https://docs.google.com/spreadsheets/d/1dDDDqV4ysVmDHjzLPjZGO6IMJO5DKldbgIZv8x3uMJQ/edit?usp=sharing

Some advice on dealing with merge conflicts: https://github.com/greenplum-db/gpdb/wiki/Merge-Conflict-Zoo

How to create a merge iteration branch: https://github.com/greenplum-db/gpdb/wiki/Creating-a-merge-iteration-branch

Tips & Tricks

  • Here's a little perl script that auto-resolves the most trivial merge conflicts:
  • The upstream sources will be consulted regularly: clone a PostgreSQL tree into a directory named 8.4 and check out REL8_4_STABLE, and another one in a 8.3 directory with REL8_3_STABLE. That will make it easy to compare versions of files.

What is the definition of done?

Spirit is: are we realizing the value of the code that we have merged

  1. Master CI is green
  • Tests run both w/ and w/o Orca
  • Existing tests are green
  • All test brought in from PG are green
  • Listed here to be explicit but is included in the CI being green
    • Upgradable gpupgrade from 5.x to Master -- pg_upgrade as a proxy until gpupgrade exists
    • No platform regressions -- RHEL, SUSE, Ubuntu(?)
    • Output a build at the end of each merge back into master
  1. If it works for HEAP it needs to work for AO/AOCO
  2. CVEs are identified and addressed -- to be addressed at the very end of the cycle
  3. Benchmarking performance monthly -- to be done by a different team
  4. Fast/slow retro -- +/∆