DescriptionCode changes cause patches to grow in size and complexity over time.
For example, a code change may cause a two-way interdependency between objects contained in two patches. In such cases, the patch contents are accumulated together into a single patch, and the other patch is obsoleted.
Large patches take longer to download and install. A customer wishing to get a simple bug fix may need to take a large amount of change and, if the patch requires a reboot, incur downtime to apply the fix if its applied to an active boot partition. Complex patches may specify Special Install Instructions which customers need to follow. This increases the cost of applying patches.
Steps to FollowTo help address these problems, the concept of Patch Rejuvenation was developed.
Patch Rejuvenation
The Kernel patches associated with Solaris[TM] Update releases tend to be complex, as they contain significant feature code change as well as bug fixes.
Patch Rejuvenation enables such large, complex patches to be frozen so that their complexity is not further propagated. Instead, further code changes are delivered in a series of new, smaller, and simpler patches.
Patches which have been rejuvenated include:
- 108528-29 (SPARC) / 108529-29 (x86) which is a Solaris[TM] 8 Kernel patch and was the first patch to be rejuvenated.
- 118833-36 (SPARC) / 118855-36 (x86) which is the Kernel patch associated with the Solaris[TM] 10 11/06 release (Update 3)
- 120011-14 (SPARC) / 120012-14 (x86) which is the Kernel patch associated with the Solaris[TM] 10 8/07 release (Update 4)
The concept of rejuvenation is simple.
No more revisions of the patch which is to be rejuvenated are created.
Instead, further code changes made to objects contained in that patch are delivered in a series of new, smaller child patches, each of which requires the parent patch from which they were rejuvenated.
For example, 127111 (SPARC) / 127112 (x86) is the child Kernel patch resulting from the rejuvenation of 120011-14 (SPARC) / 120012-14 (x86).
Other child patches of the rejuvenation contain new bug fixes to other objects contained in 120011-14 / 120012-14.
For example, 123398 is the child ufsboot patch which resulting from the rejuvenation of 120011-14. This enables bug fixes to ufsboot to be delivered independently of Kernel patch 127111, reducing the amount of change customers need to apply. It also reduces the downtime associated with patching a live boot environment since 123398 does not require Single User Mode installation or a reboot while 127111 does.
Similarly, 137280-02 (SPARC) / 127736 (x86) is the child dld patch resulting from the rejuvenation of 120011-14 (SPARC) / 120012-14 (x86).
Customers still need to install the large parent patch once, but the subsequent child patches are smaller and simpler to install.
Over time, some of the child patches may grow and they too may become candidates for rejuvenation. For example, 120011-14 / 120012-14 is a descendant of 118833-36 / 118855-36 which was itself rejuvenated.
The large patches effectively provide "stepping-stones" to reach certain key functionality levels, with rejuvenation enabling smaller incremental change in-between.
ProductSunSolve 5
AttachmentsThis solution has no attachment