Github user pravsingh commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/572#discussion_r205901936
--- Diff: src/java/main/org/apache/zookeeper/server/ExitCode.java ---
@@ -20,8 +20,35 @@
/**
* Exit code used to exit server
*/
-public class ExitCode {
+public enum ExitCode {
+
+ /* Execution finished normally */
+ EXECUTION_FINISHED(0),
+ /* Unexpected errors like IO Exceptions */
+ UNEXPECTED_ERROR(1),
+ /* Invalid arguments during invocations */
+ INVALID_INVOCATION(2),
+ /* Cannot access datadir when trying to replicate server */
+ UNABLE_TO_ACCESS_DATADIR(3),
+ /* Unable to start admin server at ZooKeeper startup */
+ ERROR_STARTING_ADMIN_SERVER(4),
+ /* Severe error during snapshot IO */
+ TXNLOG_ERROR_TAKING_SNAPSHOT(10),
+ /* zxid from COMMIT does not match the one from pendingTxns queue */
+ UNMATCHED_TXN_COMMIT(12),
+ /* Unexpected packet from leader, or unable to truncate log on
Leader.TRUNC */
+ QUORUM_PACKET_ERROR(13),
+ /* Unable to bind to the quorum (election) port after multiple retry */
+ UNABLE_TO_BIND_QUORUM_PORT(14);
+
+ private final int value;
+
+ ExitCode(final int newValue) {
+ value = newValue;
+ }
+
+ public int getValue() {
--- End diff --
do we have test cases asserting on the value fields for each of these enums?
---