[ 
https://issues.apache.org/jira/browse/BEAM-5495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16999358#comment-16999358
 ] 

Luke Cwik commented on BEAM-5495:
---------------------------------

l would also agree that classgraph is a better choice since it has a much more 
narrow responsibility and is more actively developed in the past couple of 
years but xbean has been around for much longer. Either way the implementation 
that [~ŁukaszG] did is extensible and replaceable. The implementation can be 
overridden by specifying the pipeline resources detector factory option.

Adding a based pipeline resources detector factory that delegates to 
ServiceLoader to find an implementation seems fine as well and could be added 
as a future PR.

> PipelineResources algorithm is not working in most environments
> ---------------------------------------------------------------
>
>                 Key: BEAM-5495
>                 URL: https://issues.apache.org/jira/browse/BEAM-5495
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-flink, runner-spark, sdk-java-core
>            Reporter: Romain Manni-Bucau
>            Assignee: Lukasz Gajowy
>            Priority: Major
>             Fix For: 2.19.0
>
>          Time Spent: 15h 50m
>  Remaining Estimate: 0h
>
> Issue are:
> 1. it assumes the classloader is an URLClassLoader (not always true and java 
> >= 9 breaks that as well for the app loader)
> 2. it uses loader.getURLs() which leads to including the JRE itself in the 
> staged file
> Looks like this detect resource algorithm can't work and should be replaced 
> by a SPI rather than a built-in and not extensible algorithm. Another valid 
> alternative is to just drop that "guess" logic and force the user to set 
> staged files.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to