[
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)