You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Francke (JIRA)" <ji...@apache.org> on 2018/04/22 04:10:00 UTC

[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

    [ https://issues.apache.org/jira/browse/HBASE-19746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16447090#comment-16447090 ] 

Lars Francke commented on HBASE-19746:
--------------------------------------

[~chia7712] can you elaborate on what the plan is here? (Sorry for being late to the party, I'm only now stumbling across this)

This in particular I don't understand:

{quote}yep, it is a workaround to keep our API compatibility. We have suggested user to impl the {{getType}} in 2.0 so it is ok to remove the impl of {{getType}} (make it abstract) in 3.0 I think.{quote}

So for 3.0 we remove the default implementation again? And you do this to not break API compatibility between 1.x and 2.x?

As far as I understand the compatibility rules in the book (which I still have on my todo list to clarify) we don't guarantee any compatibility between Major releases. Otherwise how would we ever add new methods to interfaces for which we cannot provide a default implementation?

If this is the case I'm -0 to include this. Doesn't this just shift the problem to the next version? There's nothing notifying implementors of the Cell interface of this new default method (unlike with @deprecated things). There's also nothing in the release notes and the Javadoc for getType also doesn't notify users about what's going to happen.

> 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)