accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1026) Don't use @Deprecated to mean "Not for Client Use"
Date Sun, 03 Feb 2013 19:02:12 GMT


Christopher Tubbs commented on ACCUMULO-1026:

I thought about that, but put it as a sub-task because I was hoping that those which were
introduced by ACCUMULO-259, could be dealt with in the context of cleaning up the public API
associated with this new feature. Other occurrences can be dealt with separately. Feel free
to convert it to a top-level ticket, if you feel that is more appropriate. I've no strong
opinion about that, but I do think the API changes introduced with ACCUMULO-259 should be
taken into account, when addressing this.
> Don't use @Deprecated to mean "Not for Client Use"
> --------------------------------------------------
>                 Key: ACCUMULO-1026
>                 URL:
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: master, tserver
>            Reporter: Christopher Tubbs
>             Fix For: 1.5.0
> I understand the convenience of using "@Deprecated" to discourage users from using some
bit of code, but I think this is confusing to users, because it doesn't actually mean the
functionality is deprecated. This sets a bad precedent, because users may start getting the
impression that when we say something is deprecated, we don't really mean it, that we're just
keeping something from them.
> Further, using this tag liberally for other purposes, requires us to pollute the code
with suppression of warnings, which may hide other potential issues. This wouldn't be an issue
if the code were actually deprecated, because we should no longer be using the code ourselves.
> These extra tags got checked in for ACCUMULO-259, and I think they should be cleaned
> Some options are:
> # Create another annotation for annotating the public API
> # Create an annotation for annotating "Not For Client Use" when it is inconvenient to
remove a method from the API.
> # Use an interface so the method isn't exposed in our public API

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message