-
Notifications
You must be signed in to change notification settings - Fork 749
Expand file tree
/
Copy pathorg.apache.gobblin.service.flowexecutions.snapshot.json
More file actions
339 lines (339 loc) · 12.9 KB
/
org.apache.gobblin.service.flowexecutions.snapshot.json
File metadata and controls
339 lines (339 loc) · 12.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
{
"models" : [ {
"type" : "record",
"name" : "EmptyRecord",
"namespace" : "com.linkedin.restli.common",
"doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.",
"fields" : [ ],
"validate" : {
"com.linkedin.restli.common.EmptyRecordValidator" : { }
}
}, {
"type" : "enum",
"name" : "ExecutionStatus",
"namespace" : "org.apache.gobblin.service",
"doc" : "Execution status for a flow or job",
"symbols" : [ "COMPILED", "PENDING", "PENDING_RETRY", "PENDING_RESUME", "ORCHESTRATED", "RUNNING", "COMPLETE", "FAILED", "CANCELLED", "SKIPPED" ],
"symbolDocs" : {
"CANCELLED" : "Flow cancelled.",
"COMPILED" : "Flow compiled to jobs.",
"COMPLETE" : "Flow or job completed execution",
"FAILED" : "Flow or job failed",
"ORCHESTRATED" : "Job(s) orchestrated to spec executors.",
"PENDING" : "Flow or job is in pending state.",
"PENDING_RESUME" : "Flow or job is currently resuming.",
"PENDING_RETRY" : "Flow or job is pending retry.",
"RUNNING" : "Flow or job is currently executing.",
"SKIPPED" : "Flow or job is skipped."
}
}, {
"type" : "record",
"name" : "FlowExecution",
"namespace" : "org.apache.gobblin.service",
"doc" : "Represents an execution of a flow",
"fields" : [ {
"name" : "id",
"type" : {
"type" : "record",
"name" : "FlowStatusId",
"doc" : "Identifier for a specific execution of a flow",
"fields" : [ {
"name" : "flowName",
"type" : "string",
"doc" : "Name of the flow"
}, {
"name" : "flowGroup",
"type" : "string",
"doc" : "Group of the flow. This defines the namespace for the flow."
}, {
"name" : "flowExecutionId",
"type" : "long",
"doc" : "Execution id for the flow"
} ]
},
"doc" : "Flow status identifier"
}, {
"name" : "executionStatistics",
"type" : {
"type" : "record",
"name" : "FlowStatistics",
"doc" : "Statistics from a flow execution",
"fields" : [ {
"name" : "executionStartTime",
"type" : "long",
"doc" : "Epoch time of when the execution began"
}, {
"name" : "executionEndTime",
"type" : "long",
"doc" : "Epoch time of when the execution ended"
} ]
},
"doc" : "Statistics for this execution of the flow"
}, {
"name" : "executionStatus",
"type" : "ExecutionStatus",
"doc" : "Flow execution status"
}, {
"name" : "message",
"type" : "string",
"doc" : "Error or status message"
}, {
"name" : "jobStatuses",
"type" : {
"type" : "array",
"items" : {
"type" : "record",
"name" : "JobStatus",
"doc" : "Execution status for a job",
"fields" : [ {
"name" : "flowId",
"type" : {
"type" : "record",
"name" : "FlowId",
"doc" : "Identifier for a Gobblin as a Service flow",
"fields" : [ {
"name" : "flowName",
"type" : "string",
"doc" : "Name of the flow",
"validate" : {
"strlen" : {
"max" : 128,
"min" : 1
}
}
}, {
"name" : "flowGroup",
"type" : "string",
"doc" : "Group of the flow. This defines the namespace for the flow.",
"validate" : {
"strlen" : {
"max" : 128,
"min" : 1
}
}
} ]
},
"doc" : "Identifier of the flow the job belongs to"
}, {
"name" : "jobId",
"type" : {
"type" : "record",
"name" : "JobId",
"doc" : "Identifier for a Gobblin job",
"fields" : [ {
"name" : "jobName",
"type" : "string",
"doc" : "Name of the job",
"validate" : {
"strlen" : {
"max" : 600,
"min" : 1
}
}
}, {
"name" : "jobGroup",
"type" : "string",
"doc" : "Group of the job. This defines the namespace for the job.",
"validate" : {
"strlen" : {
"max" : 128,
"min" : 1
}
}
} ]
},
"doc" : "Identifier of the job"
}, {
"name" : "jobTag",
"type" : "string",
"doc" : "Tag of the job",
"optional" : true
}, {
"name" : "executionStatus",
"type" : "ExecutionStatus",
"doc" : "Job execution status"
}, {
"name" : "message",
"type" : "string",
"doc" : "Error or status message"
}, {
"name" : "metrics",
"type" : "string",
"doc" : "metrics information",
"optional" : true
}, {
"name" : "executionStatistics",
"type" : {
"type" : "record",
"name" : "JobStatistics",
"doc" : "Statistics from a job execution",
"fields" : [ {
"name" : "executionStartTime",
"type" : "long",
"doc" : "Epoch time of when the execution began"
}, {
"name" : "executionEndTime",
"type" : "long",
"doc" : "Epoch time of when the execution ended"
}, {
"name" : "processedCount",
"type" : "long",
"doc" : "number of records processed in the last job execution"
}, {
"name" : "jobProgress",
"type" : "int",
"doc" : "job progress as a percentage (0-100)"
}, {
"name" : "estimatedSecondsToCompletion",
"type" : "long",
"doc" : "estimate of time left until job completion"
} ]
},
"doc" : "Statistics from the job execution. The values may be updated during the run of a job."
}, {
"name" : "jobState",
"type" : {
"type" : "record",
"name" : "JobState",
"doc" : "Job state that is updated at the end of an execution",
"fields" : [ {
"name" : "lowWatermark",
"type" : "string",
"doc" : "Low watermark after last execution"
}, {
"name" : "highWatermark",
"type" : "string",
"doc" : "High watermark after last execution"
} ]
},
"doc" : "Job state that is updated only at the start and end of a job execution."
}, {
"name" : "issues",
"type" : {
"type" : "array",
"items" : {
"type" : "record",
"name" : "Issue",
"doc" : "Issue describes a specific unique problem in the job or application.\n\nIssue can be generated from log entries, health checks, and other places.",
"fields" : [ {
"name" : "time",
"type" : {
"type" : "typeref",
"name" : "Timestamp",
"doc" : "Epoch/UNIX time in milliseconds\n\nRepresents the number of milliseconds since the epoch of 1970-01-01T00:00:00Z",
"ref" : "long"
},
"doc" : "Time when the issue have occured"
}, {
"name" : "severity",
"type" : {
"type" : "enum",
"name" : "IssueSeverity",
"symbols" : [ "DEBUG", "INFO", "WARN", "ERROR", "FATAL" ]
},
"doc" : "Severity from DEBUG to FATAL"
}, {
"name" : "code",
"type" : "string",
"doc" : "Unique machine-readable code that identifies a specific problem.\n\nIt can be used for making programmatic decisions on how to handle and recover from this issue.\n\nIssues representing the same kind of problem will have the same code.\n"
}, {
"name" : "summary",
"type" : "string",
"doc" : "Short, human-readable description of the issue.\n\nIt should focus on what is the root cause of the problem, and what steps the user should do to resolve it."
}, {
"name" : "details",
"type" : "string",
"doc" : "Human-readable issue details that can include exception stack trace and additional information about the problem."
}, {
"name" : "properties",
"type" : {
"type" : "map",
"values" : "string"
},
"doc" : "Additional machine-readable properties of the issue.\n"
} ]
}
},
"doc" : "Collection of issues for the job.\n\nCan include various errors and warnings that will help the user to troubleshoot problems.\n"
} ]
}
},
"doc" : "Status of jobs belonging to the flow"
} ]
}, "org.apache.gobblin.service.FlowId", "org.apache.gobblin.service.FlowStatistics", "org.apache.gobblin.service.FlowStatusId", "org.apache.gobblin.service.Issue", "org.apache.gobblin.service.IssueSeverity", "org.apache.gobblin.service.JobId", "org.apache.gobblin.service.JobState", "org.apache.gobblin.service.JobStatistics", "org.apache.gobblin.service.JobStatus", "org.apache.gobblin.service.Timestamp" ],
"schema" : {
"name" : "flowexecutions",
"namespace" : "org.apache.gobblin.service",
"path" : "/flowexecutions",
"schema" : "org.apache.gobblin.service.FlowExecution",
"doc" : "Resource for handling flow execution requests\n\ngenerated from: org.apache.gobblin.service.FlowExecutionResource",
"collection" : {
"identifier" : {
"name" : "id",
"type" : "org.apache.gobblin.service.FlowStatusId",
"params" : "com.linkedin.restli.common.EmptyRecord"
},
"supports" : [ "delete", "get" ],
"methods" : [ {
"method" : "get",
"doc" : "Retrieve the FlowExecution with the given key"
}, {
"method" : "delete",
"doc" : "Kill the FlowExecution with the given key"
} ],
"finders" : [ {
"name" : "latestFlowExecution",
"doc" : "Retrieve the most recent matching FlowExecution(s) of the identified FlowId",
"parameters" : [ {
"name" : "flowId",
"type" : "org.apache.gobblin.service.FlowId"
}, {
"name" : "count",
"type" : "int",
"optional" : true
}, {
"name" : "tag",
"type" : "string",
"optional" : true
}, {
"name" : "executionStatus",
"type" : "string",
"optional" : true
}, {
"name" : "includeIssues",
"type" : "boolean",
"default" : "false",
"doc" : "include job issues in the response. Otherwise empty array of issues will be returned."
} ]
}, {
"name" : "latestFlowGroupExecutions",
"doc" : "Retrieve the most recent matching FlowExecution(s) for each flow in the identified flowGroup",
"parameters" : [ {
"name" : "flowGroup",
"type" : "string"
}, {
"name" : "countPerFlow",
"type" : "int",
"optional" : true,
"doc" : "(maximum) number of FlowExecutions for each flow in flowGroup *"
}, {
"name" : "tag",
"type" : "string",
"optional" : true
}, {
"name" : "includeIssues",
"type" : "boolean",
"default" : "false",
"doc" : "include job issues in the response. Otherwise empty array of issues will be returned."
} ]
} ],
"entity" : {
"path" : "/flowexecutions/{id}",
"actions" : [ {
"name" : "resume",
"doc" : "Resume a failed {@link FlowExecution} from the point before failure."
} ]
}
}
}
}