Proposal to revise forest graph and integration practices for JDK 9

Omair Majid omajid at redhat.com
Sat Nov 23 14:08:00 PST 2013


* Joe Darcy <joe.darcy at oracle.com> [2013-11-23 11:35]:
> The current arrangements of sets of integration forests for a JDK
> platform release, like JDK 8, impose high overheads on development.
> I'm proposing we use an alternate forest arrangement for JDK 9 that
> will dramatically reduce the propagation time of fixes across the
> set of forests. More details below.

I think this is a huge step forward. Thank you for proposing this.

> * The dev forest conceptually replaces TL and hosts all
> libraries-related changes. When the sources in dev are in a
> known-good state, that state can be integrated to master. This
> integration cycle would happen at least weekly. In a change from
> current practice, HotSpot changes would be integrated into dev and
> *not* into master. All other team forests would also integrate into
> dev rather than master.

Would forests for specific projects (as an example, lets say jigsaw)
also follow this pattern of pulling from and merging to dev ?

> * Coordinated HotSpot + other component fixes would *both* get first
> pushed through the HotSpot forest.

With the benefit of hindsight, I wonder why it wasn't this way to start
with :)

> By having team forests integrate directly into dev as well as having
> many libraries developers pushing directly to dev, the dev forest
> serves as an active collaboration area with greatly reduced
> propagation times across the whole system. With this model there is
> less cross-team isolation; teams and individuals are responsible for
> promptly fixing any breakage which is introduced. If problems are
> not quickly addressed, a problematic changeset may be anti-delta'ed.

Could you elaborate on what is a 'breakage'? Would, say, a changeset
that (unintentionally) makes hotspot fail to build on arm using zero
constitute a breakage? Would a patch that fails causes non-closed builds
to fail constitute breakage?

Any ideas about what would constitute a 'prompt' response? Obviously for
a patch that breaks all builds, prompt might be a few hours.

Thanks,
Omair

-- 
PGP Key: 66484681 (http://pgp.mit.edu/)
Fingerprint = F072 555B 0A17 3957 4E95  0056 F286 F14F 6648 4681


More information about the jdk9-dev mailing list