Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
None
-
None
-
None
-
None
Description
For table coprocessors, we create coprocessor classloaders and cache them keyed on the path to the coprocessor jar. However, we cache weak refs so it's quite possible if the refs are not being retained due to heap pressure we might create a new classloader on the next region open, i.e. after a split or relocation. If under very heavy write load, perhaps ingest with all edits skipping the WAL for example, we'd be both generating a ton of garbage and rapidly splitting at the same time.
We should revisit the notion of keeping only weak refs.
Attachments
Issue Links
- is related to
-
HBASE-7205 Coprocessor classloader is replicated for all regions in the HRegionServer
- Closed