richardstartin commented on pull request #7400:
URL: https://github.com/apache/pinot/pull/7400#issuecomment-923962965


   @kkrugler I had a deeper look at this. 
   
   I think adding the URLs to `PluginClassLoader.class.getClassLoader()` is an 
historical workaround for plugin classes being loaded through the wrong class 
loader. It's unfortunate because it breaks isolation between plugins (loading a 
plugin modifies `PluginClassLoader.class.getClassLoader()`'s classpath) and 
it's nondeterministic (when there are conflicts between different plugins, 
`PluginClassLoader.class.getClassLoader()` will load different classes 
depending on the order plugins are loaded). This mechanism also won't work on 
JDK9+ but it solves a problem for JDK8 users by reinstating the workaround.
   
   I would like to rework this mechanism entirely so that plugins are isolated 
properly and this step isn't necessary, but don't want to get in the way of you 
fixing this for JDK8 users.


-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to