[
https://issues.apache.org/jira/browse/PHOENIX-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14223753#comment-14223753
]
Andrew Purtell edited comment on PHOENIX-1479 at 11/24/14 11:27 PM:
--------------------------------------------------------------------
See
https://issues.apache.org/jira/browse/HBASE-12566?focusedCommentId=14223732&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14223732
I think it's a bad idea for Phoenix to be substituting HBase's split
transaction for its own, mostly cut-and-pasted version. We've recently made a
number of improvements to SplitTransaction in HBase to aid debugability. None
of them have made it in to this code. Most of us had no idea this existed.
That's just the beginning, though. Any change to low level region handling,
region assignment, meta table encoding, etc. - anything could break indexes
without warning because this code relies upon none of that changing implicitly.
Each major version of HBase will require it's own IndexSplitTransaction. Even
within minor releases Phoenix can't expect HBase to maintain stability of the
accumulation of all of these low level details. Finally, this approach ignored
the Private annotation tag on HRegion rather than work with the HBase community
for a supportable interface. I proposed HBASE-12566 to retroactively change
that but can't say if there will be consensus to do so, maybe not.
was (Author: apurtell):
See
https://issues.apache.org/jira/browse/HBASE-12566?focusedCommentId=14223732&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14223732
I think it's a bad idea for Phoenix to be substituting HBase's split
transaction for its own, mostly cut-and-pasted version. We've recently made a
number of improvements to SplitTransaction in HBase to aid debugability. None
of them have made it in to this code. Most of us had no idea this existed.
That's just the beginning, though. Any change to low level region handling,
region assignment, meta table encoding, etc. - anything could break indexes
without warning. Each major version of HBase will require it's own
IndexSplitTransaction. Even within minor releases Phoenix can't expect HBase to
maintain stability of the accumulation of all of these low level details.
Finally, this approach ignored the Private annotation tag on HRegion rather
than work with the HBase community for a supportable interface. I proposed
HBASE-12566 to retroactively change that but can't say if there will be
consensus to do so, maybe not.
> IndexSplitTransaction won't compile after HBASE-12550
> -----------------------------------------------------
>
> Key: PHOENIX-1479
> URL: https://issues.apache.org/jira/browse/PHOENIX-1479
> Project: Phoenix
> Issue Type: Bug
> Reporter: Andrew Purtell
>
> {code}
> [ERROR]
> /Users/apurtell/src/phoenix/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexSplitTransaction.java:[364,28]
> method createDaughterRegionFromSplits in class
> org.apache.hadoop.hbase.regionserver.HRegion cannot be applied to given types;
> [ERROR] required: org.apache.hadoop.hbase.HRegionInfo,int
> [ERROR] found: org.apache.hadoop.hbase.HRegionInfo
> [ERROR] reason: actual and formal argument lists differ in length
> [ERROR]
> /Users/apurtell/src/phoenix/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexSplitTransaction.java:[368,28]
> method createDaughterRegionFromSplits in class
> org.apache.hadoop.hbase.regionserver.HRegion cannot be applied to given types;
> [ERROR] required: org.apache.hadoop.hbase.HRegionInfo,int
> [ERROR] found: org.apache.hadoop.hbase.HRegionInfo
> [ERROR] reason: actual and formal argument lists differ in length
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)