You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Dave Marion (JIRA)" <ji...@apache.org> on 2012/07/31 02:05:35 UTC

[jira] [Created] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Dave Marion created ACCUMULO-708:
------------------------------------

             Summary: Modify ClassLoader to support different applications / multi-tenancy
                 Key: ACCUMULO-708
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
             Project: Accumulo
          Issue Type: Improvement
          Components: start
    Affects Versions: 1.5.0
            Reporter: Dave Marion
            Assignee: Dave Marion


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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Re: [jira] [Commented] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Posted by Marc Parisi <ma...@accumulo.net>.
I think we should have a scan time class loader context that enables fully
hot swappable analysis and iteration. Security would need to be enforced,
but if we did that we could simply set the jar ala hadoop map/reduce and
have an iterator hot loaded in a different way for a different scan
session.

On Mon, Aug 6, 2012 at 7:50 PM, Dave Marion (JIRA) <ji...@apache.org> wrote:

>
>     [
> https://issues.apache.org/jira/browse/ACCUMULO-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13429587#comment-13429587]
>
> Dave Marion commented on ACCUMULO-708:
> --------------------------------------
>
> Documenting thoughts: Seems that there are only two contexts in which this
> applies: table operations (in which there is no user) and client operations
> (in which there is a user perform scan or update). The current classloader
> (be default) uses the boot classloader with a child classloader reading
> from $ACCUMULO_HOME/lib and a grandchild classloader reading from
> $ACCUMULO_HOME/lib/ext.
>
> We would need a way for the classloader to discover either the table name
> or the current user when loadClass is called in the thread. This is
> currently the part that I am not sure of. Need input from others and to
> look at the code more.
>
> > Modify ClassLoader to support different applications / multi-tenancy
> > --------------------------------------------------------------------
> >
> >                 Key: ACCUMULO-708
> >                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
> >             Project: Accumulo
> >          Issue Type: Improvement
> >          Components: start
> >    Affects Versions: 1.5.0
> >            Reporter: Dave Marion
> >            Assignee: Dave Marion
> >              Labels: classloader
> >   Original Estimate: 24h
> >  Remaining Estimate: 24h
> >
> > 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:
> https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>

[jira] [Commented] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Posted by "Dave Marion (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430312#comment-13430312 ] 

Dave Marion commented on ACCUMULO-708:
--------------------------------------

Marc Parisi said:

I think we should have a scan time class loader context that enables fully
hot swappable analysis and iteration. Security would need to be enforced,
but if we did that we could simply set the jar ala hadoop map/reduce and
have an iterator hot loaded in a different way for a different scan
session.


                
> Modify ClassLoader to support different applications / multi-tenancy
> --------------------------------------------------------------------
>
>                 Key: ACCUMULO-708
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: start
>    Affects Versions: 1.5.0
>            Reporter: Dave Marion
>            Assignee: Dave Marion
>              Labels: classloader
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Posted by "Dave Marion (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13429587#comment-13429587 ] 

Dave Marion commented on ACCUMULO-708:
--------------------------------------

Documenting thoughts: Seems that there are only two contexts in which this applies: table operations (in which there is no user) and client operations (in which there is a user perform scan or update). The current classloader (be default) uses the boot classloader with a child classloader reading from $ACCUMULO_HOME/lib and a grandchild classloader reading from $ACCUMULO_HOME/lib/ext.

We would need a way for the classloader to discover either the table name or the current user when loadClass is called in the thread. This is currently the part that I am not sure of. Need input from others and to look at the code more.
                
> Modify ClassLoader to support different applications / multi-tenancy
> --------------------------------------------------------------------
>
>                 Key: ACCUMULO-708
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: start
>    Affects Versions: 1.5.0
>            Reporter: Dave Marion
>            Assignee: Dave Marion
>              Labels: classloader
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Posted by "Christopher Tubbs (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ACCUMULO-708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Tubbs updated ACCUMULO-708:
---------------------------------------

    Affects Version/s:     (was: 1.5.0)
    
> Modify ClassLoader to support different applications / multi-tenancy
> --------------------------------------------------------------------
>
>                 Key: ACCUMULO-708
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: start
>            Reporter: Dave Marion
>            Assignee: Dave Marion
>              Labels: classloader
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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: http://www.atlassian.com/software/jira

[jira] [Commented] (ACCUMULO-708) Modify ClassLoader to support different applications / multi-tenancy

Posted by "Dave Marion (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430315#comment-13430315 ] 

Dave Marion commented on ACCUMULO-708:
--------------------------------------

So, I think that this makes sense iff scan sessions run in their own process. You can specify a custom classpath for map reduce because it spins up a new jvm for your map reduce tasks, its not a long running server process. I would be concerned doing that in the tablet server right now. 
                
> Modify ClassLoader to support different applications / multi-tenancy
> --------------------------------------------------------------------
>
>                 Key: ACCUMULO-708
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-708
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: start
>    Affects Versions: 1.5.0
>            Reporter: Dave Marion
>            Assignee: Dave Marion
>              Labels: classloader
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira