[ 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.