[ https://issues.apache.org/jira/browse/HBASE-17732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Appy updated HBASE-17732: ------------------------- Attachment: HBASE-17732.master.004.patch > 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, > HBASE-17732.master.004.patch > > > The two main changes are: > * *Adding template for coprocessor type to CoprocessorEnvironment i.e. > {{interface CoprocessorEnvironment<C extends Coprocessor>}}* > ** Enables 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 > duplicated in each host. For eg. CoprocessorOperations, > CoprocessorOperationWithResult, execOperations(). > * *Introduce 4 coprocessor classes and use composition between these new > classes and and old observers* > ** The real gold here is, moving forward, we'll be able to break down giant > everything-in-one observers (masterobserver has 100+ functions) into smaller, > more focused observers. These smaller observer can then have different compat > guarantees!! > 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)