[
https://issues.apache.org/jira/browse/HBASE-19746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16447227#comment-16447227
]
Chia-Ping Tsai commented on HBASE-19746:
----------------------------------------
{quote}I'd even be happy to try and provide a patch to remove it for 2.0 but
it's probably already too late for that?
{quote}
This is what I tried to do...Unfortunately, we encouraged user to write their
Cell impl for a long time since all of Put, Delete, Increment and Append have
the method - add(Cell). Hence, many users who had built custom Cell will be
hurt if we remove the #getTypeByte from Cell in 2.0. For example, our
application have 1x Cell impl so the compile error burst my build when I just
updated the hbase version from 1.x to 2.0-snapshot. By contrast, we don't
encourage user to build their custom Table so adding a new stuff to Table is
ok. The inheritance to Cell is a ambiguous stuff against our compatibility
rule. That is why I raised HBASE-18519 to add the cell builder to prevent user
from writing custom Cell impl, and the purpose of HBASE-19535 is to write the
new compatibility rule...
The deprecated cycle applied to Cell is weird I think. However, it approve us
to remove the #getTypeByte in 3.0 and this behavior doesn't break our rule
totally...
> Add default impl to Cell#getType
> --------------------------------
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
> Issue Type: Sub-task
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch,
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure
> whether any related discussion had be in HBASE-19112. It worthwhile, however,
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)