Community
Participate
Working Groups
Build Identifier: multiple Applying a feature patch which updates a previous feature patch behaves differently and across eclipse version 3.4.2, 3.5.1 and 3.6 I20100115 build. The second patch is applied as expected only in 3.4.2 if original feature (not the patched) was installed with install UI and in 3.6 I build when original feature was dropped in. My expectation was that this would work as expected and behave identical. Reproducible: Always Steps to Reproduce: Will attach more detailed steps soon and used plugin/features zipped up. Below is an extended summary what I am seeing. There are 3 versions of the hello plugin and one hello2 plugin. Each was generated with the hello world eclipse generator but the action was changed so that each one displays a different text in the message box shown when the button is clicked. These Plugins are: hello_1.0.0.200911201237.jar says 'Hello, Eclipse World' hello_1.0.1.200911201237.jar says 'Hello2, Eclipse World' hello_1.0.1.200911201358.jar says 'Hello3, Eclipse World' hello2_1.0.0.200911201358.jar says 'Another Hello, Eclipse world plugin' The original hello 1.0.0.* bundle is packed in feature 'hellofeature' There are two consecutive feature patches: 1. feature patch hellopatch_1.0.0 which: -> updates hello to hello_1.0.1.200911201237 (msg: 'Hello2,...') 2. an update of that feature patch hellopatch_1.0.1.200911201358.jar which: -> updates hello to hello_1.0.1.200911201358.jar (msg: 'Hello3,...') -> adds hello2 bundle (msg:'Another Hello...') I tested applying these patches consecutively by dropping them into Eclipse SDK version 3.4.2, 3.5.1 and I build 20100115 of 3.6. The first patch applied always as I expected, which means that hello bundle was always updated to hello_1.0.1.200911201237.jar which says 'Hello2, Eclipse World' However the second patch did only apply as expected (having both bundles of second patch active) in 3.4.2, or in 3.6 when the original hellofeature was installed via drop in as well. Here is a summary on how dropping in the second patch behaved. I: If original hellofeature was installed via install UI: 3.4.2 OK. 3.5.1 second patch did have no effect. 3.6 I second patch did have no effect. II. If original hellofeature was installed via drop in: 3.4.2 strange mix: original hello bundle and hello2 bundle of second patch 3.5.1 same as 3.4.2 3.6 I OK
Created attachment 156556 [details] detailed steps
Created attachment 156557 [details] used plugins and features both as drop-ins and p2 sites
> I: If original hellofeature was installed via install UI: [...] > II. If original hellofeature was installed via drop in: [...] Are the feature patch installed through dropins in both cases? Also did you had a change to install the patches through the UI ?
(In reply to comment #3) > Are the feature patch installed through dropins in both cases? Yes. Only the install of original feature was done using UI. > > Also did you had a change to install the patches through the UI ? I will report back what the result is when using the UI.
When installing the initial feature as well as the patches using the UI all tested versions behaved the same. The first patch applied as expected. The second patch updated only the hello bundle which was already install but did not add the new hello2 bundle. As a result there is a single actions saying 'Hello3, Eclipse World'. This is different than the behaviors reported before. In all cases I was told that the original request was modified and that 'Hellopatch 2' is already installed, so an update will be performed instead. I believe only 3.6 presented the license panels when installing the patches.
I tried a variation were the second feature patch (is unrelated to the first as it has a different id 'other.hellopatch'). -- Original feature installed via UI. First patch already dropped in. 'other.hellopatch' dropped in: -- 3.4.2: OK (other.hellopatch updated bundles hello and added hello2). 3.5.1: Not applied: > the following error is logged: !ENTRY org.eclipse.equinox.p2.director 4 0 2010-01-21 11:34:43.625 !MESSAGE Problems resolving provisioning plan. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-01-21 11:34:43.625 !MESSAGE No solution found because the problem is unsatisfiable. 3.6 I: Not applied. Looks like there is an exception causing this. I am going to attach the log. -- Original feature and first patch already installed via UI. 'other.hellopatch' also installed via UI. -- 3.4.2: seems to undo install of first patch but does NOT bring in its own new bundles. As a result the original unpatched hello plugin is active. 3.5.1: Patch cannot be applied. UI reports error Install Wizard reports error: (x) The operation cannot be completed. See the details. Details: "Other Hellopatch" is not applicable to the current configuration and will not be installed. Only [< Back] or [Cancel] buttons are enabled. 3.6 I: Same as 3.5.1.
(In reply to comment #6) Sorry I was accidentally mixing different second patches while performing the steps. I am redo this. Sorry for the noise.
Consider this a replacement of comment 6: I tried a variation were the second feature patch which is unrelated to the first as it has a different id. (hellopatch.differentid_1.0.0.200912011647.jar) Otherwise it is similar to the previously provided second version of 'hellopatch' 1.0.1.200911201358 in that it updates the hello bundle and adds a new hello2 bundle. ---------- Scenario I: Original feature installed via UI. First patch already dropped in. 'other.hellopatch' dropped in: 3.4.2: OK bundle hello is updated and hello2 added so that both bundles of second patch are active 3.5.1: Not applied: > the following error is logged: !ENTRY org.eclipse.equinox.p2.director 4 0 2010-01-21 11:34:43.625 !MESSAGE Problems resolving provisioning plan. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-01-21 11:34:43.625 !MESSAGE No solution found because the problem is unsatisfiable. 3.6 I: Not applied. Looks like there is an exception causing this. I am going to attach the log. ---------- Scenario II: Original feature and first patch were installed via UI. 'other.hellopatch' is also installed via UI: 3.4.2: second patch seems to uninstall first patch but does NOT bring in its own new content. As a result the original unpatched hello bundle is active. > No errors in log or UI. 3.5.1: second patch cannot be applied. Install Wizard reports error: (x) The operation cannot be completed. See the details. Details: Cannot complete the install because of a conflicting dependency. Software currently installed: Hellofeature 1.0.0.200911201237 (hellofeature.feature.group 1.0.0.200911201237) Only one of the following can be installed at once: Hello 1.0.1.200912011647 (hello 1.0.1.200912011647) Hello 1.0.1.200911201237 (hello 1.0.1.200911201237) Cannot satisfy dependency: From: Hellofeature 1.0.0.200911201237 (hellofeature.feature.group 1.0.0.200911201237) To: null Cannot satisfy dependency: From Patch: hellopatch.differentid.feature.group 1.0.0.200912011647 Hellofeature 1.0.0.200911201237 (hellofeature.feature.group 1.0.0.200911201237) To: hello [1.0.1.200912011647] Cannot satisfy dependency: From Patch: hellopatch.feature.group 1.0.0 Hellofeature 1.0.0.200911201237 (hellofeature.feature.group 1.0.0.200911201237) To: hello [1.0.1.200911201237] 3.6 I: second patch cannot be applied. Install Wizard reports error: (x) The operation cannot be completed. See the details. Details: "Hellopatch Differentid" is not applicable to the current configuration and will not be installed.
Created attachment 156871 [details] hellopatch.differentid_1.0.0.200912011647 used in comment8
Created attachment 156873 [details] .log file showing exceptions mentioned in comment 8
Looks like an encoding problem. Will take a look at it.
Henrich did you had a chance to look at the test case I released in HEAD? Is it really representative of your scenario? Note that we have done some changes in the encoding late last week and your original problem may no longer be happening.
I looked into this with recent I build: I20100225-1936. I.) Using original feature and patches as describe in Description a) Scenario: dropin install of feature patches. When installing updated feature patch, the results are > has no effect > log says: !ENTRY org.eclipse.equinox.p2.director 4 0 2010-02-26 16:43:27.328 !MESSAGE Problems resolving provisioning plan. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-02-26 16:43:27.328 !MESSAGE No solution found because the problem is unsatisfiable. b) Scenario: UI install of feature patches. When installing updated feature patch: - UI displays message: Your original request has been modified. "Hellopatch 2" is already installed, so an update will be performed instead. Also License is shown > Only the updated bundle is installed but not bundle added in the second feature patch. > Did not see any error messages. No messages in the log. II.) Have the second feature patch be a different id, as attached in comment 9: a) Scenario: dropin install of feature patches. When installing updated feature patch, the results are > has no effect > log says: ENTRY org.eclipse.equinox.p2.director 4 0 2010-03-01 14:03:15.468 !MESSAGE Problems resolving provisioning plan. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-03-01 14:03:15.468 !MESSAGE No solution found because the problem is unsatisfiable. b) Scenario: UI install of feature patches. - UI displays message: The operation cannot be completed. See the details. Details: "Hellopatch Differentid" is not applicable to the current configuration and will not be installed. > Same message is in log. Next/Finish is disabled so that the feature with different ID cannot be installed.
(In reply to comment #12) > Henrich did you had a chance to look at the test case I released in HEAD? Is it > really representative of your scenario? Note that we have done some changes in > the encoding late last week and your original problem may no longer be > happening. Pascal, My test case was work in progress attempting to assert my expectation which is to insist that the update would install the updated hello bundle and also add the new hello2. I think it is not complete and my expectations may also not be what is truly expected.
Henrich, did you figure out your expectations? :)
Closing waiting for more information.