accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Fuchs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1026) Don't use @Deprecated to mean "Not for Client Use"
Date Mon, 04 Feb 2013 19:48:13 GMT


Adam Fuchs commented on ACCUMULO-1026:

It's important for users of our API to be able to automatically identify areas where their
code might not work on future versions of Accumulo. @Deprecated ties into the standard convention
for doing that analysis. If we replace @Deprecated with some other annotation then our users
will lose the automatic warnings. Is there another way around this problem?
> 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