hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bharath Vissapragada <bhara...@cloudera.com>
Subject Re: Upgrading a coprocessor
Date Tue, 28 Oct 2014 17:51:53 GMT
Hi Hayden,

Currently there is no workaround. We can't unload already loaded classes
unless we make changes to Hbase's classloader design and I believe its not
that trivial.

- Bharath

On Tue, Oct 28, 2014 at 2:52 AM, Hayden Marchant <haydenm@amobee.com> wrote:

> I have been using a RegionObserver coprocessor on my HBase 0.94.6 cluster
> for quite a while and it works great. I am currently upgrading the
> functionality. When doing some testing in our integration environment I met
> with the issue that even when I uploaded a new version of my coprocessor
> jar to HDFS, HBase did not recognize it, and it kept using the old version.
>
> I even disabled/reenabled the table - no help. Even with a new table, it
> still loads old class. Only when I changed the location of the jar in HDFS,
> did it load the new version.
>
> I looked at the source code of CoprocessorHost and I see that it is
> forever holding a classloaderCache with no mechanism for clearing it out.
>
> I assume that if I restart the region server it will take the new version
> of my coprocessor.
>
> Is there any workaround for upgrading a coprocessor without either
> changing the path, or restarting the HBase region server?
>
> Thanks,
> Hayden
>
>


-- 
Bharath Vissapragada
<http://www.cloudera.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message