[
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)