[ 
https://issues.apache.org/jira/browse/HBASE-29864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Himanshu Gwalani updated HBASE-29864:
-------------------------------------
    Priority: Minor  (was: Major)

> Standardize KeyValueScanner interface and all implementations to 
> LimitedPrivate
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-29864
>                 URL: https://issues.apache.org/jira/browse/HBASE-29864
>             Project: HBase
>          Issue Type: New Feature
>          Components: API, regionserver, 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)

Reply via email to