[ 
https://issues.apache.org/jira/browse/HBASE-8607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated HBASE-8607:
--------------------------------

    Description: 
One solution to allowing custom filters and coprocessors to be updated for a 
region server without requiring a restart might be to run the HBase server in 
an OSGi container (maybe there are other approaches as well?). Typically, 
applications that use coprocessors and custom filters also have shared classes 
underneath, so putting the burden on the user to include some kind of version 
name in the class is not adequate. Including the version name in the package 
might work in some cases (at least until dependent jars start to change as 
well), but is cumbersome and overburdens the app developer.

Regardless of what approach is taken, we'd need to define the life cycle of the 
coprocessors and custom filters when a new version is loaded. For example, 
in-flight invocations could continue to use the old version while new 
invocations would use the new ones. Once the in-flight invocations are 
complete, the old code/jar could be unloaded.

  was:Run the HBase server in an OSGi container to support updating custom 
filters and coprocessor updates without requiring a region server reboot. 
Typically, applications that use coprocessors and custom filters also have 
shared classes underneath, so putting the burden on the user to include some 
kind of version name in the class is not adequate. Including the version name 
in the package might work in some cases (at least until dependent jars start to 
change as well), but is cumbersome and overburdens the app developer.

        Summary: Allow custom filters and coprocessors to be updated for a 
region server without requiring a restart  (was: Run HBase server in an OSGi 
container)
    
> Allow custom filters and coprocessors to be updated for a region server 
> without requiring a restart
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8607
>                 URL: https://issues.apache.org/jira/browse/HBASE-8607
>             Project: HBase
>          Issue Type: New Feature
>          Components: regionserver
>            Reporter: James Taylor
>
> One solution to allowing custom filters and coprocessors to be updated for a 
> region server without requiring a restart might be to run the HBase server in 
> an OSGi container (maybe there are other approaches as well?). Typically, 
> applications that use coprocessors and custom filters also have shared 
> classes underneath, so putting the burden on the user to include some kind of 
> version name in the class is not adequate. Including the version name in the 
> package might work in some cases (at least until dependent jars start to 
> change as well), but is cumbersome and overburdens the app developer.
> Regardless of what approach is taken, we'd need to define the life cycle of 
> the coprocessors and custom filters when a new version is loaded. For 
> example, in-flight invocations could continue to use the old version while 
> new invocations would use the new ones. Once the in-flight invocations are 
> complete, the old code/jar could be unloaded.

--
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

Reply via email to