accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthew Dinep (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1972) Range constructors call overridable method
Date Thu, 04 Jan 2018 20:45:00 GMT


Matthew Dinep commented on ACCUMULO-1972:

[~ctubbsii] Happy to contribute! I've been working with Accumulo for years ever since my time
up in Central MD. Figured it was well past time to actually start getting involved (and brush
the dust off my Java skills). I went updated the file and made a pull request as
suggested. Thanks!

> Range constructors call overridable method
> ------------------------------------------
>                 Key: ACCUMULO-1972
>                 URL:
>             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: 0001-ACCUMULO-1972-updated-beforeStartKey-to-private-impl.patch,
accumulo-1972.patch, accumulo-1972_2.patch
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
> 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

View raw message