[
https://issues.apache.org/jira/browse/HBASE-29864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Himanshu Gwalani updated HBASE-29864:
-------------------------------------
Issue Type: Improvement (was: New Feature)
> Standardize KeyValueScanner interface and all implementations to
> LimitedPrivate
> -------------------------------------------------------------------------------
>
> Key: HBASE-29864
> URL: https://issues.apache.org/jira/browse/HBASE-29864
> Project: HBase
> Issue Type: Improvement
> Components: Scanners
> Reporter: Himanshu Gwalani
> Assignee: Himanshu Gwalani
> Priority: Minor
> Fix For: 2.7.0, 3.0.0-beta-2
>
>
> Currently, StoreFileScanner uses
> @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.PHOENIX)
> while the KeyValueScanner interface and all other implementations use
> @InterfaceAudience.Private.
> This inconsistency should be addressed for API clarity and maintainability.
> *Current State*
> - KeyValueScanner (interface): @InterfaceAudience.Private
> - StoreFileScanner:
> @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.PHOENIX)
> - All other implementations: @InterfaceAudience.Private
> *Proposed Change*
> Change the KeyValueScanner interface and ALL implementations to:
> @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.PHOENIX)
> *Rationale*
> 1. Phoenix requires direct access to scanner implementations
> (StoreFileScanner already has this)
> 2. Phoenix code references implementations through the KeyValueScanner
> interface type, so the interface must also be LimitedPrivate(PHOENIX) for
> consistency
> 3. All implementations should have the same audience annotation as the
> interface for maintainability
--
This message was sent by Atlassian Jira
(v8.20.10#820010)