[
https://issues.apache.org/jira/browse/HBASE-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15051288#comment-15051288
]
Nick Dimiduk commented on HBASE-14944:
--------------------------------------
All three of these interfaces are marked as {{LimitedPrivate(COPROC)}},
{{Evolving}} on 1.1. According to out
[guidelines|http://hbase.apache.org/book.html#hbase.versioning], we promise
only ABI compatibility for server-side limited private interfaces.
bq. This implies binary compatibility for coprocessors and plugins (pluggable
classes, including replication) as long as these are only using marked
interfaces/classes.
{{Evolving}} appears to mean we could break this ABI compatibility on minor
releases, but not patch releases.
Furthermore, we say in summary (emphasis my own),
bq. A patch upgrade is a drop-in replacement. Any change that is not Java
binary compatible would not be allowed. _Downgrading versions within patch
releases may not be compatible._
Since the parent ticket HBASE-14686 is addressing a security lapse, I now think
we can and should accept these changes into 1.0 and 1.1.
Unless there are new objectors, I will go forward with the 1.1 release.
FYI [~enis] [~busbey]
> Minimize or eliminate source incompatible changes due to HBASE-14605,
> HBASE-14631, and HBASE-14655
> --------------------------------------------------------------------------------------------------
>
> Key: HBASE-14944
> URL: https://issues.apache.org/jira/browse/HBASE-14944
> Project: HBase
> Issue Type: Sub-task
> Reporter: Andrew Purtell
> Priority: Blocker
> Fix For: 1.1.3, 1.0.4
>
>
> Minimize or eliminate source incompatible changes due to HBASE-14605,
> HBASE-14631, and HBASE-14655. The changes are due to abstract method
> additions to carry the correct (not current) {{User}} through to where
> authoritative decisions or audit is performed.
> HBASE-14605 introduces source incompatible changes to the SplitTransaction
> interface:
> - Adds abstract method execute(Server, RegionServerServices, User)
> - Adds abstract method rollback(Server, RegionServerServices, User)
> HBASE-14631 introduces source incompatible changes to the
> RegionMergeTransaction interface:
> - Adds abstract method execute(Server, RegionServerServices, User)
> - Adds abstract method rollback(Server, RegionServerServices, User)
> HBASE-14655 introduces source incompatible changes to the Store interface:
> - Adds abstract method compact(CompactionContext,
> CompactionThroughputController, User)
> - Adds abstract method requestCompaction( int, CompactionRequest, User)
> Default implementations are provided for binary compatibility but
> implementors of these interface won't recompile until implementations of the
> new methods are added.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)