[
https://issues.apache.org/jira/browse/HBASE-7843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13583854#comment-13583854
]
Sergey Shelukhin commented on HBASE-7843:
-----------------------------------------
note: files HBASE-7902 for the semantics of major compaction... I think this
should be good to go without that.
I will probably remove scanType there, or change minor/major compaction names
(of scantype) if that is too intrusive.
> enable encapsulating compaction policy/compactor/store file manager
> interaction shennanigans
> --------------------------------------------------------------------------------------------
>
> Key: HBASE-7843
> URL: https://issues.apache.org/jira/browse/HBASE-7843
> Project: HBase
> Issue Type: Improvement
> Components: Compaction
> Affects Versions: 0.96.0
> Reporter: Sergey Shelukhin
> Assignee: Sergey Shelukhin
> Priority: Critical
> Fix For: 0.96.0
>
> Attachments: HBASE-7843-v0.patch, HBASE-7843-v1.patch
>
>
> To avoid massive casting and/or deciphering of structures traveling between
> SFM, compaction policy, and compactor in non-trivial compaction schemes like
> stripe or level, we need to make interaction between themselves hidden.
> Elsewhere, the changes are being made to coprocessor for compactions that
> will make CompactionRequest a limited-visibility class for users, with
> coprocessors being able to subclass and return it. -This seems like a viable
> solution for the problem at hand too. Policy will (optionally) subclass
> compaction request and return it. Instead of calling something.compact(req),
> req.compact() will be called (with "something" already stored inside req as
> of now), after which, magic will happen.-
> After merging that code I actually see that subclassing compactionrequest in
> both will break the policy, or require bunch of ugly code in coprocessors (a
> subclass for every policy, and telling them apart.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira