Patrick Hunt updated ZOOKEEPER-246:
Take a look at this patch.
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
> 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.