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

Aleksandr Shulman updated HBASE-10251:
--------------------------------------

    Description: 
Observed:

A couple of my client tests fail to compile against trunk because the method 
PerformanceEvaluation.generateValue was removed as part of HBASE-8496.

This is an issue because it was used in a number of places, including unit 
tests. Since we did not explicitly label this API as private, it's ambiguous as 
to whether this could/should have been used by people writing apps against 
0.96. If they used it, then they would be broken upon upgrade to 0.98 and trunk.

Potential Solution:
The method was renamed to generateData, but the logic is still the same. We can 
reintroduce it as deprecated in 0.98, as compat shim over generateData. The 
patch should be a few lines. We may also consider doing so in trunk, but I'd be 
just as fine with leaving it out.

More generally, this raises the question about what other code is in this 
"grey-area", where it is public, is used outside of the package, but is not 
explicitly labeled with an AudienceInterface.

  was:
Observed:

A couple of my client tests fail to compile against trunk because the method 
PerformanceEvaluation.generateValue was removed as part of HBASE-8496.

This is an issue because is was used in a number of places, including unit 
tests. Since we did not explicitly label this API as private, it's ambiguous as 
to whether this could/should have been used by people writing apps against 
0.96. If they used it, then they would be broken upon upgrade to 0.98 and trunk.

Potential Solution:
The method was renamed to generateData, but the logic is still the same. We can 
reintroduce it as deprecated in 0.98, as compat shim over generateData. The 
patch should be a few lines. We may also consider doing so in trunk, but I'd be 
just as fine with leaving it out.

More generally, this raises the question about what other code is in this 
"grey-area", where it is public, is used outside of the package, but is not 
explicitly labeled with an AudienceInterface.


> Restore API Compat for PerformanceEvaluation.generateValue()
> ------------------------------------------------------------
>
>                 Key: HBASE-10251
>                 URL: https://issues.apache.org/jira/browse/HBASE-10251
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.98.1
>            Reporter: Aleksandr Shulman
>            Assignee: Aleksandr Shulman
>              Labels: api_compatibility
>
> Observed:
> A couple of my client tests fail to compile against trunk because the method 
> PerformanceEvaluation.generateValue was removed as part of HBASE-8496.
> This is an issue because it was used in a number of places, including unit 
> tests. Since we did not explicitly label this API as private, it's ambiguous 
> as to whether this could/should have been used by people writing apps against 
> 0.96. If they used it, then they would be broken upon upgrade to 0.98 and 
> trunk.
> Potential Solution:
> The method was renamed to generateData, but the logic is still the same. We 
> can reintroduce it as deprecated in 0.98, as compat shim over generateData. 
> The patch should be a few lines. We may also consider doing so in trunk, but 
> I'd be just as fine with leaving it out.
> More generally, this raises the question about what other code is in this 
> "grey-area", where it is public, is used outside of the package, but is not 
> explicitly labeled with an AudienceInterface.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to