yittg commented on pull request #3797:
URL: https://github.com/apache/iceberg/pull/3797#issuecomment-1011659358


   
   > In this case, it looks like the [reader used to load the file's key-value 
metadata](https://github.com/apache/iceberg/blob/master/core/src/main/java/org/apache/iceberg/ManifestReader.java#L100-L102)
 doesn't have the class loader set like the [reader used to scan the 
manifest](https://github.com/apache/iceberg/blob/master/core/src/main/java/org/apache/iceberg/ManifestReader.java#L207).
 I would first try setting the class loader the same way.
   
   @rdblue  It's also my first choice, FYI 
https://github.com/apache/iceberg/issues/3776#issuecomment-998502908, but it's 
not enough, as described in my comment, you can not pass the correct one to all 
cases in the dependencies.
   
   > For example, the follow code snippet in 
[java.xml](https://github.com/openjdk/jdk/blob/jdk-11%2B12/src/java.xml/share/classes/javax/xml/parsers/FactoryFinder.java#L285)
   > ```
   > final ServiceLoader<T> serviceLoader = ServiceLoader.load(type);
   > ```
   
   IMO, the right way is not to use the static shared thread pool. But it's 
hard to fix here, the shared pool is involved in too many places.
   
   So i choose this quick fix to walk around it.
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to