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
