How to handle future backports from JDK 10 into JDK 9?

joe darcy joe.darcy at oracle.com
Mon Feb 13 22:54:27 UTC 2017


Hello,

An open question in Mark's announcement that the JDK 10 forests are open 
[1] concerned how to manage backports from JDK 10 to JDK 9:

"In the (hopefully infrequent) event that a change in JDK 10 needs to be
back-ported to JDK 9 we'll have to figure out how to handle the duplicate
bug ids that will arise when a back-ported change is later merged forward
into JDK 10.  One solution may just be to disable the unique bug-id test
in jcheck, on the assumption that existing social conventions adequately
protect us from the pathological scenarios that are prevented by this
test.  Thoughts welcome ..."

As a reminder, the overall model (for now) is that all fixes from JDK 9 
will be synced into JDK 10; the first sync of several hundred bugs 
happened recently and went smoothly. [2]

The potentially problematic situation would occur if

* Bug JDK-8181818 is first fixed in JDK 10
* Bug JDK-8181818 is then backported to JDK 9
* The next sync of JDK 9 into JDK 10 would fail on the duplicate bug id 
JDK-8181818 even though the code may be identical

One way to avoid this problem would be to do the push to JDK 9 under an 
explicit backport bug id rather than the main bug id JDK-8181818. This 
approach has a number of drawback. First, long-standing social 
convention has been to "always use the main bug id." Second, tooling 
like Hg updater has been written on the assumption that the main bug id 
will always be used to conceptually refer to an issue.

The purpose of the jcheck unique bug id check stems from preventing 
sloppy bug handling where multiple changesets partially and 
incrementally address a bug and it is not clear whether or not an issue 
is fully fixed or not.

However, even without programmatic enforcement of unique bug id, I don't 
think JDK development practices would devolve in that way. As supporting 
evidence, the unique bug id check is disabled in the 8 update forests to 
allow fixes from multiple releases to come back together in the 
always-open forest and the pathologies around partial fixes have not 
occurred.

Therefore, I think the better option is to also disable the unique bug 
id check for the JDK 10 forests to allow easier syncing between 9 and 10.

Comments?

Cheers,

-Joe

[1] 
http://mail.openjdk.java.net/pipermail/jdk10-dev/2017-January/000041.html

[2] 
http://mail.openjdk.java.net/pipermail/jdk10-dev/2017-February/000054.html



More information about the jdk10-dev mailing list