[ https://issues.apache.org/jira/browse/HBASE-17732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Appy updated HBASE-17732: ------------------------- Description: Adding template for coprocessor type to CoprocessorEnvironment will: - allow us to load only relevant coprocessors in hosts (right now each type of host loads all types of coprocs and it's only during execOperation that it checks if the coproc is of correct type i.e. XCoprocessorHost will load XObserver, YObserver, and all others, and will check in execOperation if {{coproc instanceOf XObserver}} and ignore the rest). - allow sharing of a bunch functions/classes which are currently 99% duplicate of each other. For eg. CoprocessorOperations, CoprocessorOperationWithResult, execOperations(). Here's a more detailed design doc: https://docs.google.com/document/d/1PBEnaqyJeiHvALFswF_yl81-rOpQmZuixCDua-LT9X4/edit was: Adding template for coprocessor type to CoprocessorEnvironment will: - get rid of 'instanceOf' checks we do in various coprocessor hosts - allow us to load only relevant coprocessors in hosts (right now i think each host loads all coprocs and it's only during execOperation that it checks if the coproc is of correct type ie XXCoprocessorHost will load XXObserver, YYObserver, and all others, and in will check in execOperation if coproc is of type XXObserver and ignore the rest). - allow sharing of a bunch functions/classes which are currently 99% duplicate of each other. For eg. CoprocessorOperations, CoprocessorOperationWithResult, execOperations(). Here's a more detailed design doc: https://docs.google.com/document/d/1PBEnaqyJeiHvALFswF_yl81-rOpQmZuixCDua-LT9X4/edit > Coprocessor Design Improvements > ------------------------------- > > Key: HBASE-17732 > URL: https://issues.apache.org/jira/browse/HBASE-17732 > Project: HBase > Issue Type: Improvement > Reporter: Appy > Assignee: Appy > Attachments: HBASE-17732.master.001.patch, > HBASE-17732.master.002.patch, HBASE-17732.master.003.patch > > > Adding template for coprocessor type to CoprocessorEnvironment will: > - allow us to load only relevant coprocessors in hosts (right now each type > of host loads all types of coprocs and it's only during execOperation that it > checks if the coproc is of correct type i.e. XCoprocessorHost will load > XObserver, YObserver, and all others, and will check in execOperation if > {{coproc instanceOf XObserver}} and ignore the rest). > - allow sharing of a bunch functions/classes which are currently 99% > duplicate of each other. For eg. CoprocessorOperations, > CoprocessorOperationWithResult, execOperations(). > Here's a more detailed design doc: > https://docs.google.com/document/d/1PBEnaqyJeiHvALFswF_yl81-rOpQmZuixCDua-LT9X4/edit -- This message was sent by Atlassian JIRA (v6.4.14#64029)