hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tsuna <tsuna...@gmail.com>
Subject Giving a chance to buggy coprocessors to clean up
Date Tue, 10 Dec 2013 05:46:16 GMT
Hi there,
If a coprocessor is buggy and throws an uncaught exception, it gets
removed without having its stop() method called, and it therefore
can't free up resources.

Any resources that are held by global variables (e.g. statics on a
class loaded by the coprocessor) can't be freed because of bug
HBASE-9046 (Coprocessors can't be upgraded in service reliably). And
the coprocessor can't be removed because of HBASE-9046.  Therefore
there is no way that I can see to release those resources, short of
restarting the RegionServer (yikes!).

Is there any rationale behind not calling stop() when forcefully
removing the buggy coprocessor?  Or should we maybe add some sort of a
cleanUp() method to give a chance to the coprocessor to save face and
die gracefully?

Benoit "tsuna" Sigoure

View raw message