You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/03/30 18:22:03 UTC

[GitHub] [accumulo] dlmarion commented on pull request #2601: Add exception to catch class loading error

dlmarion commented on pull request #2601:
URL: https://github.com/apache/accumulo/pull/2601#issuecomment-1083468315


   So, I went back and looked at some code, and I believe that when `useAccumuloClassLoader`  is false, it means to load the class from the (Client) VMs classpath. Client is in parens here because I believe it's a distinction between server side and client side use of the code. If you look at the client-side references (ClientSideIteratorScanner, OfflineIterator, RFileScanner) to `IterLoad.useAccumuloClassLoader`, in all but one case they set it to `false` meaning use the client VM classloader (reference IterConfigUtil.loadClass).
   
   The context is just a the name of a configured classloader. If context is null, then classes are loaded from the JVM application classloader. If context is not null, then classes are loaded from the classloader associated with that context name. 
   
   > The problem I am having is there are parts of the code where we set useAccumuloClassLoader = true but context = null.
   
   I don't think this is a problem. This is just saying that you want to load a class from the application classloader
   
   > Table context is optional for users to set but internally this seems like a bug to me since we are expecting to use the "AccumuloClassLoader" to be returned but return the deprecated AccumuloVFSClassLoader
   
   The deprecated AccumuloVFSClassLoader is effectively the application classloader. I don't think this is a bug.


-- 
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: notifications-unsubscribe@accumulo.apache.org

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