This project has retired. For details please refer to its
Attic page.
001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018 package org.apache.oozie;
019
020 import org.apache.oozie.util.XLog;
021
022 public enum ErrorCode {
023 E0000(XLog.STD, "System property 'oozie.home.dir' not defined"),
024 E0001(XLog.OPS, "Could not create runtime directory, {0}"),
025 E0002(XLog.STD, "System is in safe mode"),
026 E0003(XLog.OPS, "Oozie home directory must be an absolute path [{0}]"),
027 E0004(XLog.OPS, "Oozie home directory does not exist [{0}]"),
028
029 E0010(XLog.OPS, "Could not initialize log service, {0}"),
030 E0011(XLog.OPS, "Log4j file must be a file name [{0}]"),
031 E0012(XLog.OPS, "Log4j file must be a '.properties' file [{0}]"),
032 E0013(XLog.OPS, "Log4j file [{0}] not found in configuration dir [{1}] neither in classpath"),
033
034 E0020(XLog.OPS, "Environment variable {0} not defined"),
035 E0022(XLog.OPS, "Configuration file must be a file name [{0}]"),
036 E0023(XLog.OPS, "Default configuration file [{0}] not found in classpath"),
037 E0024(XLog.OPS, "Oozie configuration directory does not exist [{0}]"),
038 E0025(XLog.OPS, "Configuration service internal error, it should never happen, {0}"),
039 E0026(XLog.OPS, "Missing required configuration property [{0}]"),
040
041 E0100(XLog.OPS, "Could not initialize service [{0}], {1}"),
042 E0101(XLog.OPS, "Service [{0}] does not implement declared interface [{1}]"),
043 E0102(XLog.OPS, "Could not instanciate service class [{0}], {1}"),
044 E0103(XLog.OPS, "Could not load service classes, {0}"),
045 E0110(XLog.OPS, "Could not parse or validate EL definition [{0}], {1}"),
046 E0111(XLog.OPS, "class#method not found [{0}#{1}]"),
047 E0112(XLog.OPS, "class#method does not have PUBLIC or STATIC modifier [{0}#{1}]"),
048 E0113(XLog.OPS, "class not found [{0}]"),
049 E0114(XLog.OPS, "class#constant does not have PUBLIC or STATIC modifier [{0}#{1}]"),
050 E0115(XLog.OPS, "class#constant not found"),
051 E0116(XLog.OPS, "class#constant does not have PUBLIC or STATIC modifier [{0}#{1}]"),
052 E0120(XLog.OPS, "UUID, invalid generator type [{0}]"),
053 E0130(XLog.OPS, "Could not parse workflow schemas file/s, {0}"),
054 E0131(XLog.OPS, "Could not read workflow schemas file/s, {0}"),
055 E0140(XLog.OPS, "Could not access database, {0}"),
056 E0141(XLog.OPS, "Could not create DataSource connection pool, {0}"),
057 E0150(XLog.OPS, "Actionexecutor type already registered [{0}]"),
058 E0160(XLog.OPS, "Could not read admin users file [{0}], {1}"),
059
060 E0300(XLog.STD, "Invalid content-type [{0}]"),
061 E0301(XLog.STD, "Invalid resource [{0}]"),
062 E0302(XLog.STD, "Invalid parameter [{0}]"),
063 E0303(XLog.STD, "Invalid parameter value, [{0}] = [{1}]"),
064 E0304(XLog.STD, "Invalid parameter type, parameter [{0}] expected type [{1}]"),
065 E0305(XLog.STD, "Missing parameter [{0}]"),
066 E0306(XLog.STD, "Invalid parameter"),
067 E0307(XLog.STD, "Runtime error [{0}]"),
068 E0308(XLog.STD, "Could not parse date range parameter [{0}]"),
069
070
071 E0400(XLog.STD, "User mismatch, request user [{0}] configuration user [{1}]"),
072 E0401(XLog.STD, "Missing configuration property [{0}]"),
073 E0402(XLog.STD, "Invalid callback ID [{0}]"),
074 E0403(XLog.STD, "Invalid callback data, {0}"),
075 E0404(XLog.STD, "Only one of the properties are allowed [{0}]"),
076
077 E0420(XLog.STD, "Invalid jobs filter [{0}], {1}"),
078 E0421(XLog.STD, "Invalid job filter [{0}], {1}"),
079
080 E0500(XLog.OPS, "Not authorized, {0}"),
081 E0501(XLog.OPS, "Could not perform authorization operation, {0}"),
082 E0502(XLog.OPS, "User [{0}] does not belong to group [{1}]"),
083 E0503(XLog.OPS, "User [{0}] does not have admin privileges"),
084 E0504(XLog.OPS, "App directory [{0}] does not exist"),
085 E0505(XLog.OPS, "App definition [{0}] does not exist"),
086 E0506(XLog.OPS, "App definition [{0}] is not a file"),
087 E0507(XLog.OPS, "Could not access to [{0}], {1}"),
088 E0508(XLog.OPS, "User [{0}] not authorized for WF job [{1}]"),
089 E0509(XLog.OPS, "User [{0}] not authorized for Coord job [{1}]"),
090 E0510(XLog.OPS, "Unable to get Credential [{0}]"),
091
092 E0550(XLog.OPS, "Could not normalize host name [{0}], {1}"),
093 E0551(XLog.OPS, "Missing [{0}] property"),
094
095 E0600(XLog.OPS, "Could not get connection, {0}"),
096 E0601(XLog.OPS, "Could not close connection, {0}"),
097 E0602(XLog.OPS, "Could not commit connection, {0}"),
098 E0603(XLog.OPS, "SQL error in operation [{0}], {1}"),
099 E0604(XLog.STD, "Job does not exist [{0}]"),
100 E0605(XLog.STD, "Action does not exist [{0}]"),
101 E0606(XLog.STD, "Could not get lock [{0}], timed out [{1}]ms"),
102 E0607(XLog.OPS, "Other error in operation [{0}], {1}"),
103 E0608(XLog.OPS, "JDBC setup error [{0}], {1}"),
104 E0609(XLog.OPS, "Missing [{0}] ORM file [{1}]"),
105 E0610(XLog.OPS, "Missing JPAService, StoreService cannot run without a JPAService"),
106
107 E0700(XLog.STD, "XML error, {0}"),
108 E0701(XLog.STD, "XML schema error, {0}"),
109 E0702(XLog.STD, "IO error, {0}"),
110 E0703(XLog.STD, "Invalid workflow element [{0}]"),
111 E0704(XLog.STD, "Definition already complete, application [{0}]"),
112 E0705(XLog.STD, "Nnode already defined, node [{0}]"),
113 E0706(XLog.STD, "Node cannot transition to itself node [{0}]"),
114 E0707(XLog.STD, "Loop detected at parsing, node [{0}]"),
115 E0708(XLog.STD, "Invalid transition, node [{0}] transition [{1}]"),
116 E0709(XLog.STD, "Loop detected at runtime, node [{0}]"),
117 E0710(XLog.STD, "Could not read the workflow definition, {0}"),
118 E0711(XLog.STD, "Invalid application URI [{0}], {1}"),
119 E0712(XLog.STD, "Could not create lib paths list for application [{0}], {1}"),
120 E0713(XLog.OPS, "SQL error, {0}"),
121 E0714(XLog.OPS, "Workflow lib error, {0}"),
122 E0715(XLog.OPS, "Invalid signal value for the start node, signal [{0}]"),
123 E0716(XLog.OPS, "Workflow not running"),
124 E0717(XLog.OPS, "Workflow not suspended"),
125 E0718(XLog.OPS, "Workflow already completed"),
126 E0719(XLog.OPS, "Job already started"),
127 E0720(XLog.OPS, "Fork/join mismatch, node [{0}]"),
128 E0721(XLog.OPS, "Invalid signal/transition, decision node [{0}] signal [{1}]"),
129 E0722(XLog.OPS, "Action signals can only be OK or ERROR, action node [{0}]"),
130 E0723(XLog.STD, "Unsupported action type, node [{0}] type [{1}]"),
131 E0724(XLog.STD, "Invalid node name, {0}"),
132 E0725(XLog.STD, "Workflow instance can not be killed, {0}"),
133 E0726(XLog.STD, "Workflow action can not be killed, {0}"),
134 E0727(XLog.STD, "Workflow Job can not be suspended as its not in running state, {0}, Status: {1}"),
135 E0728(XLog.STD, "Coordinator Job can not be suspended as job finished or failed or killed, id : {0}, status : {1}"),
136 E0729(XLog.OPS, "Kill node message [{0}]"),
137 E0730(XLog.STD, "Fork/Join not in pair"),
138 E0731(XLog.STD, "Fork node [{0}] cannot have less than two paths"),
139 E0732(XLog.STD, "Fork [{0}]/Join [{1}] not in pair"),
140 E0733(XLog.STD, "Fork [{0}] without a join"),
141 E0734(XLog.STD, "Invalid transition from node [{0}] to node [{1}] while using fork/join"),
142 E0735(XLog.STD, "There was an invalid \"error to\" transition to node [{1}] while using fork/join"),
143 E0736(XLog.STD, "Workflow definition lenght [{0}] exceeded maximum allowed length [{1}]"),
144
145 E0800(XLog.STD, "Action it is not running its in [{1}] state, action [{0}]"),
146 E0801(XLog.STD, "Workflow already running, workflow [{0}]"),
147 E0802(XLog.STD, "Invalid action type [{0}]"),
148 E0803(XLog.STD, "IO error, {0}"),
149 E0804(XLog.STD, "Disallowed default property [{0}]"),
150 E0805(XLog.STD, "Workflow job not completed, status [{0}]"),
151 E0806(XLog.STD, "Action did not complete in previous run, action [{0}]"),
152 E0807(XLog.STD, "Some skip actions were not executed [{0}]"),
153 E0808(XLog.STD, "Disallowed user property [{0}]"),
154 E0809(XLog.STD, "Workflow action is not eligible to start [{0}]"),
155 E0810(XLog.STD, "Job state is not [{0}]. Skipping ActionStart Execution"),
156 E0811(XLog.STD, "Job state is not [{0}]. Skipping ActionEnd Execution"),
157 E0812(XLog.STD, "Action pending=[{0}], status=[{1}]. Skipping ActionEnd Execution"),
158 E0813(XLog.STD, "Workflow not RUNNING, current status [{0}]"),
159 E0814(XLog.STD, "SignalCommand for action id=[{0}] is already processed, status=[{1}], , pending=[{2}]"),
160 E0815(XLog.STD, "Action pending=[{0}], status=[{1}]. Skipping ActionCheck Execution"),
161 E0816(XLog.STD, "Action pending=[{0}], status=[{1}]. Skipping ActionStart Execution"),
162 E0817(XLog.STD, "The wf action [{0}] has been udated recently. Ignoring ActionCheck."),
163 E0818(XLog.STD, "Action [{0}] status is running but WF Job [{1}] status is [{2}]. Expected status is RUNNING."),
164 E0819(XLog.STD, "Unable to delete the temp dir of job WF Job [{0}]."),
165 E0820(XLog.STD, "Action user retry max [{0}] is over system defined max [{1}], re-assign to use system max."),
166
167 E0900(XLog.OPS, "Jobtracker [{0}] not allowed, not in Oozie's whitelist"),
168 E0901(XLog.OPS, "Namenode [{0}] not allowed, not in Oozie's whitelist"),
169 E0902(XLog.OPS, "Exception occured: [{0}]"),
170 E0903(XLog.OPS, "Invalid JobConf, it has not been created by HadoopAccessorService"),
171
172 E1001(XLog.STD, "Could not read the coordinator job definition, {0}"),
173 E1002(XLog.STD, "Invalid coordinator application URI [{0}], {1}"),
174 E1003(XLog.STD, "Invalid coordinator application attributes [{0}], {1}"),
175 E1004(XLog.STD, "Expression language evaluation error [{0}], {1}"),
176 E1005(XLog.STD, "Could not read the coordinator job configuration read from DB, {0}"),
177 E1006(XLog.STD, "Invalid coordinator application [{0}], {1}"),
178 E1007(XLog.STD, "Unable to add record to SLA table. [{0}], {1}"),
179 E1008(XLog.STD, "Not implemented. [{0}]"),
180 E1009(XLog.STD, "Unable to parse XML response. [{0}]"),
181 E1010(XLog.STD, "Invalid data in coordinator xml. [{0}]"),
182 E1011(XLog.STD, "Cannot update coordinator job [{0}], {1}"),
183 E1012(XLog.STD, "Coord Job Materialization Error: {0}"),
184 E1013(XLog.STD, "Coord Job Recovery Error: {0}"),
185 E1014(XLog.STD, "Coord job change command not supported"),
186 E1015(XLog.STD, "Invalid coordinator job change value {0}, {1}"),
187 E1016(XLog.STD, "Cannot change a killed coordinator job"),
188 E1017(XLog.STD, "Cannot change a workflow job"),
189 E1018(XLog.STD, "Coord Job Rerun Error: {0}"),
190 E1019(XLog.STD, "Could not submit coord job, [{0}]"),
191 E1020(XLog.STD, "Could not kill coord job, this job either finished successfully or does not exist , [{0}]"),
192 E1021(XLog.STD, "Coord Action Input Check Error: {0}"),
193
194 E1100(XLog.STD, "Command precondition does not hold before execution, [{0}]"),
195
196 E1101(XLog.STD, "SLA Nominal time is required."),
197 E1102(XLog.STD, "SLA should-start can't be empty."),
198
199 E1201(XLog.STD, "State [{0}] is invalid for job [{1}]."),
200
201 E1301(XLog.STD, "Could not read the bundle job definition, [{0}]"),
202 E1302(XLog.STD, "Invalid bundle application URI [{0}], {1}"),
203 E1303(XLog.STD, "Invalid bundle application attributes [{0}], {1}"),
204 E1304(XLog.STD, "Duplicate bundle application coordinator name [{0}]"),
205 E1305(XLog.STD, "Empty bundle application coordinator name."),
206 E1306(XLog.STD, "Could not read the bundle job configuration, [{0}]"),
207 E1307(XLog.STD, "Could not read the bundle coord job configuration, [{0}]"),
208 E1308(XLog.STD, "Bundle Action Status [{0}] is not matching with coordinator previous status [{1}]."),
209 E1309(XLog.STD, "Bundle Action for bundle ID [{0}] and Coordinator [{1}] could not be update by BundleStatusUpdateXCommand"),
210 E1310(XLog.STD, "Bundle Job submission Error: [{0}]"),
211 E1311(XLog.STD, "Bundle Action for bundle ID [{0}] could not be get."),
212 E1312(XLog.STD, "Bundle Job can not be suspended as job finished or failed or killed, id : {0}, status : {1}"),
213 E1313(XLog.STD, "Bundle Job can not be changed as job finished, {0}, Status: {1}"),
214 E1314(XLog.STD, "Bundle Job can not be changed as job does not exist, {0}"),
215 E1315(XLog.STD, "Bundle job can not be paused, {0}"),
216 E1316(XLog.STD, "Bundle job can not be unpaused, {0}"),
217 E1317(XLog.STD, "Invalid bundle job change value {0}, {1}"),
218 E1318(XLog.STD, "No coord jobs for the bundle=[{0}], fail the bundle"),
219 E1319(XLog.STD, "Invalid bundle coord job namespace, [{0}]"),
220
221 E1400(XLog.STD, "doAs (proxyuser) failure"),
222
223 ETEST(XLog.STD, "THIS SHOULD HAPPEN ONLY IN TESTING, invalid job id [{0}]"),;
224
225 private String template;
226 private int logMask;
227
228 /**
229 * Create an error code.
230 *
231 * @param template template for the exception message.
232 * @param logMask log mask for the exception.
233 */
234 private ErrorCode(int logMask, String template) {
235 this.logMask = logMask;
236 this.template = template;
237 }
238
239 /**
240 * Return the message (StringFormat) template for the error code.
241 *
242 * @return message template.
243 */
244 public String getTemplate() {
245 return template;
246 }
247
248 /**
249 * Return the log mask (to which log the exception should be logged) of the error.
250 *
251 * @return error log mask.
252 */
253 public int getLogMask() {
254 return logMask;
255 }
256
257 /**
258 * Return a templatized error message for the error code.
259 *
260 * @param args the parameters for the templatized message.
261 * @return error message.
262 */
263 public String format(Object... args) {
264 return XLog.format("{0}: {1}", toString(), XLog.format(getTemplate(), args));
265 }
266
267 }