Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 367759

Summary: [engine] Bogus behavior when attached CU overlaps "local" touchpoint data of an IU
Product: [Eclipse Project] Equinox Reporter: Katya Stoycheva <katya.stoycheva>
Component: p2Assignee: P2 Inbox <equinox.p2-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: irbull, s.yousouf
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=263087
Whiteboard: stalebug

Description Katya Stoycheva CLA 2012-01-03 08:31:10 EST
Build Identifier: 

When an IU carries touchpoint data (in the IU itself) and there's applicable CU which is attached at installation, the result is undeterministic - combining of CU touchpoint data and local touchpoint data might be unexpected in some cases.

It would be good to have a mechanism which ensures deterministic behavior. 

As discussed in the ml, there are several ways to achieve this:
1. Drop the CU for the local touchpoint data. This may sound straightforward, but it's not flexible and it couples without real need p2 engine and resolver concepts (touchpoint data is responsibility of the the engine and the attachment mechanism is provided by the resolver and should only deal with matching a CU to an IU).

2. A more appropriate solution would consists in enhancing the engine and the touchpoint data to allow each instructions section to declare the expected behaviour when the situation arises. It could be done with several keys: before, after, override, delegate, etc that would control this (better wording could be found in the AspectJ literature). For example, override would say that the value in the CU would override what is specified in the IU; delegate would mean run whatever is in the IU and ignore what is in me the CU; before and after meaning run the CU in addition to the other instructions.
 


Reproducible: Always

Steps to Reproduce:
1. Publish p2 repo with two IUs:
 - IU representing bundle and carrying touchpoint data for bundle auto-start and setting bundle start level to 3 
 - default bundle tooling (auto-start = false; start level = 4).
2. Install the bundle from the p2 repo above
3. Observe that the touchpoint data calculated at runtime for the bundle is unexpected (see bundles.info entry).
Comment 1 Eclipse Genie CLA 2019-07-02 08:40:16 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.