accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy
Date Wed, 14 Nov 2012 02:32:12 GMT


Keith Turner commented on ACCUMULO-708:

Still do not have the unit test running.  It may be a configuration issue on my workstation,
but its not the umask issue, still investigating.  A few more comments on the code.

 * In AccumuloVFSClassLoader and AccumuloClassLoader the methods replaceEnvVars(), addUrl(),
findAccumuloURLs(), etc. look very similar.  Are these methods just copies? If not, what is
the essence of the diffs?  
 * Seems like unit test AccumuloContextClassLoaderTest would benefit from using two seprate
jars.  The same jar is loaded into two different context.   Seems like it would be better
to load two different jars with different classes.  Then verify that each context contains
only the expected classes and nothing else.
 * AccumuloReloadingVFSClassLoaderTest would also benefit from another jar.  Test are needed
for a new class coming into existence, a new version of an existing class coming into existence,
and an existing class going out of existence.

Moving forward on this we need to start thinking about having a table prop for configuring
per table classloaders.   If you would like help I can work on that after we get this checked
in, just let me know.  

I was thinking of a scenario where we have the following two classloader contexts :

 * system class loader context : contains accumulo server and core jars and all deps in HDFS
 * table foo class loader context : contains user iterator jars in HDFS

It seems like the two context above are siblings.  Is this correct?  Therefore the foo class
loader will not have accumulo-core jars in itself or its parent class loaders.  Will this
cause problems when loading an iterator from the foo classloader?   

> Modify ClassLoader to support different applications / multi-tenancy
> --------------------------------------------------------------------
>                 Key: ACCUMULO-708
>                 URL:
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: start
>            Reporter: Dave Marion
>            Assignee: Dave Marion
>              Labels: classloader
>             Fix For: 1.5.0
>         Attachments: ACCUMULO-708-1.patch
>   Original Estimate: 24h
>          Time Spent: 33h
>  Remaining Estimate: 0h
> I'd like to expand the current classloader to support loading classes from HDFS and different
application contexts. I'll be modifying the ticket as the idea matures.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message