[
https://issues.apache.org/jira/browse/ACCUMULO-1972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher Tubbs reassigned ACCUMULO-1972:
-------------------------------------------
Assignee: Matthew Dinep
> Range constructors call overridable method
> ------------------------------------------
>
> Key: ACCUMULO-1972
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1972
> Project: Accumulo
> Issue Type: Bug
> Affects Versions: 1.4.4, 1.5.0
> Reporter: Bill Havanki
> Assignee: Matthew Dinep
> Priority: Minor
> Labels: newbie
> Fix For: 1.7.4, 1.8.2, 2.0.0
>
> Attachments: accumulo-1972.patch, accumulo-1972_2.patch
>
>
> Several {{Range}} constructors call {{Range.beforeStartKey()}}, which is not
> final. This is dangerous:
> bq. The superclass constructor runs before the subclass constructor, so the
> overriding method in the subclass will get invoked before the subclass
> constructor has run. If the overriding method depends on any initialization
> performed by the subclass constructor, the method will not behave as
> expected. ??Item 17, Effective Java Vol. 2, Bloch??
> If {{beforeStartKey()}} cannot be made final, the code should be refactored
> to make the constructors safe.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)