hadoop-zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Hunt (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ZOOKEEPER-246) review error code definition in both source and docs
Date Fri, 05 Dec 2008 06:22:44 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Patrick Hunt updated ZOOKEEPER-246:
-----------------------------------

    Attachment: ZOOKEEPER-246.patch

Take a look at this patch.

Notes:
1) I updated forrest docs, javadoc and doxygen (c) doc
2) in c I updated the constants to be non-calculated enum values
this resulted in b/w compatible code, except for the extreme case where the type was specifically
tested (changed from int to ZOO_ERROR type), which only was an issue with our CPPUNIT_ASSERT_EQUAL
tests - zkfuse client compiled w/o issue. I think this is acceptable, we should release note
but not consider this as b/w incompatible change.
3) in java I 
a) deprecated all of the orig int constants (KeeperException.Code class), javadoc points to
new constants
b) added new enum constants as non-calc values, names are the same except they are all caps
c) deprecated getCode() in KeeperException  and replaced with code(), return values changed
from int to Code

d) I did _not_ change the callbacks, we could do that, but it would be alot of work. ie deprecate
the orig callbacks/methods which take these callbacks, and replace them with new versions.


> review error code definition in both source and docs
> ----------------------------------------------------
>
>                 Key: ZOOKEEPER-246
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-246
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: c client, documentation, java client
>    Affects Versions: 3.0.0, 3.0.1
>            Reporter: Patrick Hunt
>            Assignee: Patrick Hunt
>            Priority: Minor
>             Fix For: 3.1.0
>
>         Attachments: ZOOKEEPER-246.patch
>
>
> A number of users have mentioned that our use of "calculated" values for error codes
makes it very difficult to track error reports from the logs.  In both c/java we have:
> int ERROR = 100
> int X_ERROR= ERROR + 1
> int Y_ERROR= ERROR + 2
> etc...
> which makes it difficult to grep/search for "101" and find these references. A number
of users have mentioned that having non-calculated values (ie X_ERROR=101) would make it easier.

> I personally find calculated constants like this an anti-pattern.
> We should convert these values to non-calculated at a minimum, perhaps even redefine
them as enums if possible.
> Also documentation, esp in the c code (the names btw c and java don't match btw) is lacking.
We need to beef up docs in this area.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message