[SRU] update jtreg in 14.04 LTS to 4.2-b05

Bug #1694358 reported by Tiago Stürmer Daitx
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
jtreg (Ubuntu)
Invalid
Undecided
Unassigned
Trusty
New
Wishlist
Unassigned

Bug Description

[Proposal]

 * Update jtreg (universe) in 14.04 LTS from 4.1-2
   to 4.2-b05-1, which is also the same version that
   is running on Zesty and above.

[Impact]

 * In 14.04 LTS jtreg has no reverse runtime
   dependencies and a single reverse build
   dependency: openjdk-7 (main).

 * The current jtreg is based on upstream version
   4.1-b02-2 and does not have the capability to run
   tests concurrently - this was only introduced in
   version 4.1-b04.

 * Patching b02 to b04 is not enough, as various
   tests that were fine before end up failing when
   ran concurrently.

 * Version 4.2-b05-1 allows the openjdk-7 tests to
   run using the agentvm concurrently, which speeds
   things up. It also prevents many additional
   failures compared to updating it to 4.1-b04.
   A few tests still fail when run concurrently,
   but all on the jdk testsuite which was only
   recently enabled, so there's no real impact -
   these tests will eventually be ignored or fixed.

 * Example of the openjdk-7 build times with
   jtreg 4.1-2 (agentvm, no concurrency) and
   jtreg 4.2-b05-1 (agentvm, concurrency), ordered
   by build time:

   arch jtreg4.1 jtreg4.2 speedup
   ppc64el 03:53:57 01:49:57 2.1x
   arm64 05:31:43 03:53:12 1.4x
   powerpc 19:22:16 06:44:41 2.9x
   amd64 23:44:55 10:06:21 2.3x
   i386 27:07:27 09:20:25 2.9x
   armhf 33:53:22 12:16:16 2.8x

[Test Case]

 * Grab jtreg-4.2-b5-1 source
 * Edit its debian/control file:
   - change 'debhelper' build deps to version 9
     `Build-Depends: debhelper (>= 9), ...`
 * Update the changelog, debbuild it and push to a PPA
 * Grab the current openjdk-7 source from the archive
 * Update its debian/rules file:
   - find the first 'JTREG_OPTIONS = ...' line
   - replace it by 'JTREG_OPTIONS = -agentvm -conc:auto'
 * Update the changelog, debbuild it and push to a PPA
 * (optional) Build it 3 times, get the median
   - powerpc, ppc64el and arm64 build times are quite
     stable, but amd64 and i386 can vary by a lot
   - re-running builds allow for a somewhat stable(-ish)
     result
 * Download buildlogs and compare the PPA build
   with the ones in the archive.

[Regression Potential]

 * This package is used solely by the openjdk-7
   during build for running tests, the only impact
   would be additional failures in those tests.

 * This change has been tested quite a few times
   by doing a lot of openjdk-7 rebuilds, no
   significant changes were detected on its
   hotspot and langtools testsuites. The jdk
   testsuite has more failures when ran concurrently,
   but it has only been enabled recently and those
   tests either need to be fixed or ignored.

 * The jtreg package depends on libjtharness-java,
   from the jtharness source package. Xenial and above
   rely on jtharness 4.6-1, while Trusty still
   runs 4.4.0-MR1-Rel-b19-1. By updating just jtreg
   against an older jtharness we might be
   introducing failures on the test runs, such as the
   new failures in the jdk testsuite. If so, instead
   of simply updating or ignoring those tests we
   would then need to SRU jtharness as well.

[Other Info]

 * debdiff with jtreg update attached.

Tags: patch trusty
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

Attached debdiff containing the changelog and a updated debian/control file.

tags: added: patch
Robie Basak (racb)
Changed in jtreg (Ubuntu Trusty):
importance: Undecided → Wishlist
Changed in jtreg (Ubuntu):
status: New → Invalid
tags: added: trusty
Revision history for this message
Steve Langasek (vorlon) wrote :

This currently doesn't make sense to SRU alone into trusty because openjdk-7 in trusty doesn't actually use it, so it can only be evaluated in context with a proposed update for openjdk-7 itself. Have discussed this with Tiago offline, and am unsubscribing ubuntu-sponsors for now until this information is added.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.