Peter

Is that implementation agnostic of pack200/JSR 200? If not, it might be a 
(legal) issue. See the thread in the jdk-dev mailing list.

Dani



From:   Peter Firmstone <[email protected]>
To:     [email protected]
Date:   26.06.2018 23:26
Subject:        Re: [p2-dev] Pack200 compression
Sent by:        [email protected]



The library is an OSGi versioned bundle, the code is Java 5 source, as 
is ASM6.2, ASM is only used during compression, the Harmony code was 
originally Java 1.4 source compatible, so I could in theory, write a 
library that will uncompress Java 11 bytecode with Java 1.4.  Although a 
1.4 JVM can't run Java 11 bytecode, it could uncompress it.   For now 
I'm happy to stay at Java 5 though, so any jvm from 1.5 up can in theory 
and should in the next year, be able to compress and uncompress the 
latest bytecode.   So it's a matter of maybe refactoring p2's code to 
retry a couple of times, then dynamically updating to the latest 
libarary version if that fails.

Cheers,

Peter.

On 26/06/2018 5:48 PM, Ed Merks wrote:
>
> Mickael,
>
> I think p2 will currently just fail if pack200 is absent.  It 
> definitely could be smart enough to ignore pack200 artifacts if it 
> knows it can't unpack them, but I don't think that's currently the 
> case.  In fact there was some rather questionable logic in the code 
> that if some pack200 artifact is downloaded, but it can't be unpacked, 
> p2 will download it again, assuming that the artifact it downloaded is 
> corrupt, and it will try that 200 times (I believe that's the magic 
> number) before it tries to just download the plain .jar artifact, if 
> available.  This of course leads to horrible performance.
>
> But I agree that if there were a Java unpack200 library p2 could use, 
> that would be better and perhaps perform better than execing a process.
>
> Keep in mind that one of the "smart" aspects of the current design of 
> using the JRE's pack200 is that you could update your IDE from say a 
> version that currently requires Java 8 but is running with Java 9 to a 
> version that actually requires Java 9.   If the library for unpack200 
> is included in the IDE itself, it would only know about unpacking Java 
> 8 and wouldn't be able to unpack Java 9 (leading to the above horrible 
> performance problem).
>
> Regards,
> Ed
>
>
> On 26.06.2018 09:11, Mickael Istria wrote:
>> Hi Peter, hi Ed,
>>
>> Thanks Peter for anticipating this upcoming issue!
>> I think relying on a Java-based implementation of pack200 is a good 
idea.
>>
>> Indeed, when pack200 is not shipped with the JRE by default, p2 
>> wouldn't be able to use it anymore if there is no alternative. I 
>> think p2 has the necessary smartness (maybe some switches) to just 
>> ignore pack200 artifacts if we don't have a better solution by then.
>> In the meantime, I think the best strategy for p2 is just to wait 
>> until the removal of pack200 happens, and when it happens, switch to 
>> whichever best pack200 implementation (could be yours) or simply drop 
>> pack200 if it happens that the overall state of pack200 in the Java 
>> community reached a point where we can assume it's dead.
>> I do not have the feeling that p2 project and its contributors can be 
>> strong drivers about the future of pack200 here because everyone is 
>> busy with many things, and both p2 and the Eclipse world could 
>> survive very well without pack200 (updates would "just" be a bit 
>> slower). I guess pack200 is not critical enough to p2.
>> But that's an interesting topic to discuss with the community at 
>> large. I'll make it a topic for the Architecture Council to discuss. 
>> Maybe there will be more interest than I expect in actively keeping 
>> support of pack200.
>>
>> Cheers,
>>
>>
>> _______________________________________________
>> p2-dev mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
>> 
https://dev.eclipse.org/mailman/listinfo/p2-dev

>
>
> _______________________________________________
> p2-dev mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
> 
https://dev.eclipse.org/mailman/listinfo/p2-dev


_______________________________________________
p2-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/p2-dev






_______________________________________________
p2-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to