Jeff Mesnil [
https://community.jboss.org/people/jmesnil] commented on the document
"Single Installation Patching"
To view all comments on this document, visit:
https://community.jboss.org/docs/DOC-47500#comment-10927
--------------------------------------------------
Brian Stansberry wrote:
What's in thie previous-cumulative file? Just the name of the applied to version?
Yes, for history purpose, I think it's important to tell the user which version
the patch has been applied to (among all the acceptable <applies-to-version> of the
patch). He would want to know what will be the resulting version of a rollback prior to
perform it.
I think we are going to need to store the patch.xml, which contains that information plus
much more. That or something similar. For sure we are going to need to store the hashes of
any files changed in a one-off patch, plus data about any misc file changes that the user
elected not to have applied. We'll need this information for when we apply a CP on top
of a one-off patch.
This contradicts the previous sentence about cumulative patches
invalidating all one-off patches.
The way I represent the patches is a stack composed of 3 different parts on top of each
others:
+--------------------+
| one-off patches | * always applied at the top of a base version or a
cumulative patch
| | * can be empty if no one-off patches have been
applied
+--------------------+
| cumulative patches | * stack of applied cumulative patches
| | * can be empty if no cumulative patches have been
appplied
+--------------------+
| base version | * the base version of this AS7 installation
+--------------------+ * always present
The stack is ordered by the date at which the patch has been applied, the most recent
applied patch is at the top.
This is a correct representation if a CP invalidates one-off patches. eg to patch with a
new CP, we must first rollback all the applied one-off patches (whether it's part of
the patch procedure or an user intervention is to be determined).
Playing a bit with a show-history command, I'd expect to have an outcome such as:
[standalone@localhost:9999 core-service=patching] :show-history
{
"outcome" => "success",
"result" => {
"one-offs" => [
{
"patchID" => "patch-xyz",
"applied-to" => "7.2.3",
"applied-at" => "YYYY MM DD, HH:mm"
},
{
"patchID" => "patch-abc",
"applied-to" => "7.2.3",
"applied-at" => "YYYY MM DD, HH:mm"
}
],
"cumulatives" => [
{
"patchID" => "patch-YYY",
"resulting-version" => "7.2.3",
"applied-to" => "7.2.1",
"applied-at" => "YYYY MM DD, HH:mm"
},
{
"patchID" => "patch-XXX",
"resulting-version" => "7.2.1",
"applied-to" => "7.2.0",
"applied-at" => "YYYY MM DD, HH:mm"
}
],
"base-version" => "7.2.0.Alpha1-SNAPSHOT"
}
}
what do you think of this "stack" representation of the patches? Is it correct?
--------------------------------------------------