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

Andrew Purtell updated HBASE-12979:
-----------------------------------
    Description: 
In HBASE-5162 (and backports such as HBASE-12729) we modified some HRegion 
methods to return statistics for consumption by callers. The statistics are 
ultimately passed back to the client as load feedback.

[~lhofhansl] thinks handing back this information as return values from HRegion 
methods is a weird mix of concerns. This also produced a difficult to 
anticipate binary compatibility issue with Phoenix. There was no compile time 
issue because the code of course was not structured to assign from a method 
returning void, yet the method signature changes so the JVM cannot resolve it 
if older Phoenix binaries are installed into a 0.98.10 release. Let's change 
the HRegion methods back to returning 'void' and use setters instead. 
Officially we don't support use of HRegion (HBASE-12566) but we do not need to 
go out of our way to break things (smile) so I would also like to make a patch 
release containing just this change to help out our sister project.

  was:
In HBASE-5162 (and backports such as HBASE-12729) we modified some HRegion 
methods to return statistics for consumption by callers. The statistics are 
ultimately passed back to the client as load feedback.

[~lhofhansl] thinks returning this information is a weird mix of concerns. This 
also produced a difficult to anticipate binary compatibility issue with 
Phoenix. There was no compile time issue because the code of course was not 
structured to assign from a method returning void, yet the method signature 
changes so the JVM cannot resolve it if older Phoenix binaries are installed 
into a 0.98.10 release. Let's change the HRegion methods back to returning 
'void' and use setters instead. Officially we don't support use of HRegion 
(HBASE-12566) but we do not need to go out of our way to break things (smile) 
so I would also like to make a patch release containing just this change to 
help out our sister project.


> Use setters instead of return values for handing back statistics from HRegion 
> methods
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-12979
>                 URL: https://issues.apache.org/jira/browse/HBASE-12979
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.98.10
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>              Labels: phoenix
>             Fix For: 0.98.10.1
>
>
> In HBASE-5162 (and backports such as HBASE-12729) we modified some HRegion 
> methods to return statistics for consumption by callers. The statistics are 
> ultimately passed back to the client as load feedback.
> [~lhofhansl] thinks handing back this information as return values from 
> HRegion methods is a weird mix of concerns. This also produced a difficult to 
> anticipate binary compatibility issue with Phoenix. There was no compile time 
> issue because the code of course was not structured to assign from a method 
> returning void, yet the method signature changes so the JVM cannot resolve it 
> if older Phoenix binaries are installed into a 0.98.10 release. Let's change 
> the HRegion methods back to returning 'void' and use setters instead. 
> Officially we don't support use of HRegion (HBASE-12566) but we do not need 
> to go out of our way to break things (smile) so I would also like to make a 
> patch release containing just this change to help out our sister project.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to