@flyteorg/flyteidl 0.21.8 → 0.21.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gen/pb-js/flyteidl.d.ts +70 -0
- package/gen/pb-js/flyteidl.js +155 -0
- package/package.json +1 -1
- package/protos/docs/admin/admin.rst +6 -6
- package/protos/docs/core/core.rst +56 -2
- package/protos/docs/datacatalog/datacatalog.rst +43 -75
- package/protos/docs/event/event.rst +1 -0
- package/protos/flyteidl/admin/execution.proto +4 -2
- package/protos/flyteidl/admin/node_execution.proto +4 -2
- package/protos/flyteidl/admin/task_execution.proto +4 -2
- package/protos/flyteidl/core/catalog.proto +16 -0
- package/protos/flyteidl/core/tasks.proto +3 -0
- package/protos/flyteidl/datacatalog/datacatalog.proto +34 -54
- package/protos/flyteidl/event/event.proto +2 -0
package/gen/pb-js/flyteidl.d.ts
CHANGED
|
@@ -140,6 +140,64 @@ export namespace flyteidl {
|
|
|
140
140
|
public static verify(message: { [k: string]: any }): (string|null);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
/** Properties of a CatalogReservation. */
|
|
144
|
+
interface ICatalogReservation {
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** Represents a CatalogReservation. */
|
|
148
|
+
class CatalogReservation implements ICatalogReservation {
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Constructs a new CatalogReservation.
|
|
152
|
+
* @param [properties] Properties to set
|
|
153
|
+
*/
|
|
154
|
+
constructor(properties?: flyteidl.core.ICatalogReservation);
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Creates a new CatalogReservation instance using the specified properties.
|
|
158
|
+
* @param [properties] Properties to set
|
|
159
|
+
* @returns CatalogReservation instance
|
|
160
|
+
*/
|
|
161
|
+
public static create(properties?: flyteidl.core.ICatalogReservation): flyteidl.core.CatalogReservation;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Encodes the specified CatalogReservation message. Does not implicitly {@link flyteidl.core.CatalogReservation.verify|verify} messages.
|
|
165
|
+
* @param message CatalogReservation message or plain object to encode
|
|
166
|
+
* @param [writer] Writer to encode to
|
|
167
|
+
* @returns Writer
|
|
168
|
+
*/
|
|
169
|
+
public static encode(message: flyteidl.core.ICatalogReservation, writer?: $protobuf.Writer): $protobuf.Writer;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Decodes a CatalogReservation message from the specified reader or buffer.
|
|
173
|
+
* @param reader Reader or buffer to decode from
|
|
174
|
+
* @param [length] Message length if known beforehand
|
|
175
|
+
* @returns CatalogReservation
|
|
176
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
177
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
178
|
+
*/
|
|
179
|
+
public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.CatalogReservation;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Verifies a CatalogReservation message.
|
|
183
|
+
* @param message Plain object to verify
|
|
184
|
+
* @returns `null` if valid, otherwise the reason why it is not
|
|
185
|
+
*/
|
|
186
|
+
public static verify(message: { [k: string]: any }): (string|null);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
namespace CatalogReservation {
|
|
190
|
+
|
|
191
|
+
/** Status enum. */
|
|
192
|
+
enum Status {
|
|
193
|
+
RESERVATION_DISABLED = 0,
|
|
194
|
+
RESERVATION_ACQUIRED = 1,
|
|
195
|
+
RESERVATION_EXISTS = 2,
|
|
196
|
+
RESERVATION_RELEASED = 3,
|
|
197
|
+
RESERVATION_FAILURE = 4
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
143
201
|
/** ResourceType enum. */
|
|
144
202
|
enum ResourceType {
|
|
145
203
|
UNSPECIFIED = 0,
|
|
@@ -4175,6 +4233,9 @@ export namespace flyteidl {
|
|
|
4175
4233
|
|
|
4176
4234
|
/** TaskMetadata interruptible */
|
|
4177
4235
|
interruptible?: (boolean|null);
|
|
4236
|
+
|
|
4237
|
+
/** TaskMetadata cacheSerializable */
|
|
4238
|
+
cacheSerializable?: (boolean|null);
|
|
4178
4239
|
}
|
|
4179
4240
|
|
|
4180
4241
|
/** Represents a TaskMetadata. */
|
|
@@ -4207,6 +4268,9 @@ export namespace flyteidl {
|
|
|
4207
4268
|
/** TaskMetadata interruptible. */
|
|
4208
4269
|
public interruptible: boolean;
|
|
4209
4270
|
|
|
4271
|
+
/** TaskMetadata cacheSerializable. */
|
|
4272
|
+
public cacheSerializable: boolean;
|
|
4273
|
+
|
|
4210
4274
|
/** TaskMetadata interruptibleValue. */
|
|
4211
4275
|
public interruptibleValue?: "interruptible";
|
|
4212
4276
|
|
|
@@ -5781,6 +5845,9 @@ export namespace flyteidl {
|
|
|
5781
5845
|
/** TaskNodeMetadata catalogKey */
|
|
5782
5846
|
catalogKey?: (flyteidl.core.ICatalogMetadata|null);
|
|
5783
5847
|
|
|
5848
|
+
/** TaskNodeMetadata reservationStatus */
|
|
5849
|
+
reservationStatus?: (flyteidl.core.CatalogReservation.Status|null);
|
|
5850
|
+
|
|
5784
5851
|
/** TaskNodeMetadata dynamicWorkflow */
|
|
5785
5852
|
dynamicWorkflow?: (flyteidl.event.IDynamicWorkflowNodeMetadata|null);
|
|
5786
5853
|
}
|
|
@@ -5800,6 +5867,9 @@ export namespace flyteidl {
|
|
|
5800
5867
|
/** TaskNodeMetadata catalogKey. */
|
|
5801
5868
|
public catalogKey?: (flyteidl.core.ICatalogMetadata|null);
|
|
5802
5869
|
|
|
5870
|
+
/** TaskNodeMetadata reservationStatus. */
|
|
5871
|
+
public reservationStatus: flyteidl.core.CatalogReservation.Status;
|
|
5872
|
+
|
|
5803
5873
|
/** TaskNodeMetadata dynamicWorkflow. */
|
|
5804
5874
|
public dynamicWorkflow?: (flyteidl.event.IDynamicWorkflowNodeMetadata|null);
|
|
5805
5875
|
|
package/gen/pb-js/flyteidl.js
CHANGED
|
@@ -342,6 +342,119 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
342
342
|
return CatalogMetadata;
|
|
343
343
|
})();
|
|
344
344
|
|
|
345
|
+
core.CatalogReservation = (function() {
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Properties of a CatalogReservation.
|
|
349
|
+
* @memberof flyteidl.core
|
|
350
|
+
* @interface ICatalogReservation
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Constructs a new CatalogReservation.
|
|
355
|
+
* @memberof flyteidl.core
|
|
356
|
+
* @classdesc Represents a CatalogReservation.
|
|
357
|
+
* @implements ICatalogReservation
|
|
358
|
+
* @constructor
|
|
359
|
+
* @param {flyteidl.core.ICatalogReservation=} [properties] Properties to set
|
|
360
|
+
*/
|
|
361
|
+
function CatalogReservation(properties) {
|
|
362
|
+
if (properties)
|
|
363
|
+
for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
|
|
364
|
+
if (properties[keys[i]] != null)
|
|
365
|
+
this[keys[i]] = properties[keys[i]];
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Creates a new CatalogReservation instance using the specified properties.
|
|
370
|
+
* @function create
|
|
371
|
+
* @memberof flyteidl.core.CatalogReservation
|
|
372
|
+
* @static
|
|
373
|
+
* @param {flyteidl.core.ICatalogReservation=} [properties] Properties to set
|
|
374
|
+
* @returns {flyteidl.core.CatalogReservation} CatalogReservation instance
|
|
375
|
+
*/
|
|
376
|
+
CatalogReservation.create = function create(properties) {
|
|
377
|
+
return new CatalogReservation(properties);
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Encodes the specified CatalogReservation message. Does not implicitly {@link flyteidl.core.CatalogReservation.verify|verify} messages.
|
|
382
|
+
* @function encode
|
|
383
|
+
* @memberof flyteidl.core.CatalogReservation
|
|
384
|
+
* @static
|
|
385
|
+
* @param {flyteidl.core.ICatalogReservation} message CatalogReservation message or plain object to encode
|
|
386
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
|
387
|
+
* @returns {$protobuf.Writer} Writer
|
|
388
|
+
*/
|
|
389
|
+
CatalogReservation.encode = function encode(message, writer) {
|
|
390
|
+
if (!writer)
|
|
391
|
+
writer = $Writer.create();
|
|
392
|
+
return writer;
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Decodes a CatalogReservation message from the specified reader or buffer.
|
|
397
|
+
* @function decode
|
|
398
|
+
* @memberof flyteidl.core.CatalogReservation
|
|
399
|
+
* @static
|
|
400
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
|
401
|
+
* @param {number} [length] Message length if known beforehand
|
|
402
|
+
* @returns {flyteidl.core.CatalogReservation} CatalogReservation
|
|
403
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
404
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
405
|
+
*/
|
|
406
|
+
CatalogReservation.decode = function decode(reader, length) {
|
|
407
|
+
if (!(reader instanceof $Reader))
|
|
408
|
+
reader = $Reader.create(reader);
|
|
409
|
+
let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.CatalogReservation();
|
|
410
|
+
while (reader.pos < end) {
|
|
411
|
+
let tag = reader.uint32();
|
|
412
|
+
switch (tag >>> 3) {
|
|
413
|
+
default:
|
|
414
|
+
reader.skipType(tag & 7);
|
|
415
|
+
break;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return message;
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Verifies a CatalogReservation message.
|
|
423
|
+
* @function verify
|
|
424
|
+
* @memberof flyteidl.core.CatalogReservation
|
|
425
|
+
* @static
|
|
426
|
+
* @param {Object.<string,*>} message Plain object to verify
|
|
427
|
+
* @returns {string|null} `null` if valid, otherwise the reason why it is not
|
|
428
|
+
*/
|
|
429
|
+
CatalogReservation.verify = function verify(message) {
|
|
430
|
+
if (typeof message !== "object" || message === null)
|
|
431
|
+
return "object expected";
|
|
432
|
+
return null;
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* Status enum.
|
|
437
|
+
* @name flyteidl.core.CatalogReservation.Status
|
|
438
|
+
* @enum {string}
|
|
439
|
+
* @property {number} RESERVATION_DISABLED=0 RESERVATION_DISABLED value
|
|
440
|
+
* @property {number} RESERVATION_ACQUIRED=1 RESERVATION_ACQUIRED value
|
|
441
|
+
* @property {number} RESERVATION_EXISTS=2 RESERVATION_EXISTS value
|
|
442
|
+
* @property {number} RESERVATION_RELEASED=3 RESERVATION_RELEASED value
|
|
443
|
+
* @property {number} RESERVATION_FAILURE=4 RESERVATION_FAILURE value
|
|
444
|
+
*/
|
|
445
|
+
CatalogReservation.Status = (function() {
|
|
446
|
+
const valuesById = {}, values = Object.create(valuesById);
|
|
447
|
+
values[valuesById[0] = "RESERVATION_DISABLED"] = 0;
|
|
448
|
+
values[valuesById[1] = "RESERVATION_ACQUIRED"] = 1;
|
|
449
|
+
values[valuesById[2] = "RESERVATION_EXISTS"] = 2;
|
|
450
|
+
values[valuesById[3] = "RESERVATION_RELEASED"] = 3;
|
|
451
|
+
values[valuesById[4] = "RESERVATION_FAILURE"] = 4;
|
|
452
|
+
return values;
|
|
453
|
+
})();
|
|
454
|
+
|
|
455
|
+
return CatalogReservation;
|
|
456
|
+
})();
|
|
457
|
+
|
|
345
458
|
/**
|
|
346
459
|
* ResourceType enum.
|
|
347
460
|
* @name flyteidl.core.ResourceType
|
|
@@ -9895,6 +10008,7 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
9895
10008
|
* @property {string|null} [discoveryVersion] TaskMetadata discoveryVersion
|
|
9896
10009
|
* @property {string|null} [deprecatedErrorMessage] TaskMetadata deprecatedErrorMessage
|
|
9897
10010
|
* @property {boolean|null} [interruptible] TaskMetadata interruptible
|
|
10011
|
+
* @property {boolean|null} [cacheSerializable] TaskMetadata cacheSerializable
|
|
9898
10012
|
*/
|
|
9899
10013
|
|
|
9900
10014
|
/**
|
|
@@ -9968,6 +10082,14 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
9968
10082
|
*/
|
|
9969
10083
|
TaskMetadata.prototype.interruptible = false;
|
|
9970
10084
|
|
|
10085
|
+
/**
|
|
10086
|
+
* TaskMetadata cacheSerializable.
|
|
10087
|
+
* @member {boolean} cacheSerializable
|
|
10088
|
+
* @memberof flyteidl.core.TaskMetadata
|
|
10089
|
+
* @instance
|
|
10090
|
+
*/
|
|
10091
|
+
TaskMetadata.prototype.cacheSerializable = false;
|
|
10092
|
+
|
|
9971
10093
|
// OneOf field names bound to virtual getters and setters
|
|
9972
10094
|
let $oneOfFields;
|
|
9973
10095
|
|
|
@@ -10020,6 +10142,8 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
10020
10142
|
writer.uint32(/* id 7, wireType 2 =*/58).string(message.deprecatedErrorMessage);
|
|
10021
10143
|
if (message.interruptible != null && message.hasOwnProperty("interruptible"))
|
|
10022
10144
|
writer.uint32(/* id 8, wireType 0 =*/64).bool(message.interruptible);
|
|
10145
|
+
if (message.cacheSerializable != null && message.hasOwnProperty("cacheSerializable"))
|
|
10146
|
+
writer.uint32(/* id 9, wireType 0 =*/72).bool(message.cacheSerializable);
|
|
10023
10147
|
return writer;
|
|
10024
10148
|
};
|
|
10025
10149
|
|
|
@@ -10062,6 +10186,9 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
10062
10186
|
case 8:
|
|
10063
10187
|
message.interruptible = reader.bool();
|
|
10064
10188
|
break;
|
|
10189
|
+
case 9:
|
|
10190
|
+
message.cacheSerializable = reader.bool();
|
|
10191
|
+
break;
|
|
10065
10192
|
default:
|
|
10066
10193
|
reader.skipType(tag & 7);
|
|
10067
10194
|
break;
|
|
@@ -10111,6 +10238,9 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
10111
10238
|
if (typeof message.interruptible !== "boolean")
|
|
10112
10239
|
return "interruptible: boolean expected";
|
|
10113
10240
|
}
|
|
10241
|
+
if (message.cacheSerializable != null && message.hasOwnProperty("cacheSerializable"))
|
|
10242
|
+
if (typeof message.cacheSerializable !== "boolean")
|
|
10243
|
+
return "cacheSerializable: boolean expected";
|
|
10114
10244
|
return null;
|
|
10115
10245
|
};
|
|
10116
10246
|
|
|
@@ -13984,6 +14114,7 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
13984
14114
|
* @interface ITaskNodeMetadata
|
|
13985
14115
|
* @property {flyteidl.core.CatalogCacheStatus|null} [cacheStatus] TaskNodeMetadata cacheStatus
|
|
13986
14116
|
* @property {flyteidl.core.ICatalogMetadata|null} [catalogKey] TaskNodeMetadata catalogKey
|
|
14117
|
+
* @property {flyteidl.core.CatalogReservation.Status|null} [reservationStatus] TaskNodeMetadata reservationStatus
|
|
13987
14118
|
* @property {flyteidl.event.IDynamicWorkflowNodeMetadata|null} [dynamicWorkflow] TaskNodeMetadata dynamicWorkflow
|
|
13988
14119
|
*/
|
|
13989
14120
|
|
|
@@ -14018,6 +14149,14 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
14018
14149
|
*/
|
|
14019
14150
|
TaskNodeMetadata.prototype.catalogKey = null;
|
|
14020
14151
|
|
|
14152
|
+
/**
|
|
14153
|
+
* TaskNodeMetadata reservationStatus.
|
|
14154
|
+
* @member {flyteidl.core.CatalogReservation.Status} reservationStatus
|
|
14155
|
+
* @memberof flyteidl.event.TaskNodeMetadata
|
|
14156
|
+
* @instance
|
|
14157
|
+
*/
|
|
14158
|
+
TaskNodeMetadata.prototype.reservationStatus = 0;
|
|
14159
|
+
|
|
14021
14160
|
/**
|
|
14022
14161
|
* TaskNodeMetadata dynamicWorkflow.
|
|
14023
14162
|
* @member {flyteidl.event.IDynamicWorkflowNodeMetadata|null|undefined} dynamicWorkflow
|
|
@@ -14054,6 +14193,8 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
14054
14193
|
writer.uint32(/* id 1, wireType 0 =*/8).int32(message.cacheStatus);
|
|
14055
14194
|
if (message.catalogKey != null && message.hasOwnProperty("catalogKey"))
|
|
14056
14195
|
$root.flyteidl.core.CatalogMetadata.encode(message.catalogKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
|
|
14196
|
+
if (message.reservationStatus != null && message.hasOwnProperty("reservationStatus"))
|
|
14197
|
+
writer.uint32(/* id 3, wireType 0 =*/24).int32(message.reservationStatus);
|
|
14057
14198
|
if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow"))
|
|
14058
14199
|
$root.flyteidl.event.DynamicWorkflowNodeMetadata.encode(message.dynamicWorkflow, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
|
|
14059
14200
|
return writer;
|
|
@@ -14083,6 +14224,9 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
14083
14224
|
case 2:
|
|
14084
14225
|
message.catalogKey = $root.flyteidl.core.CatalogMetadata.decode(reader, reader.uint32());
|
|
14085
14226
|
break;
|
|
14227
|
+
case 3:
|
|
14228
|
+
message.reservationStatus = reader.int32();
|
|
14229
|
+
break;
|
|
14086
14230
|
case 16:
|
|
14087
14231
|
message.dynamicWorkflow = $root.flyteidl.event.DynamicWorkflowNodeMetadata.decode(reader, reader.uint32());
|
|
14088
14232
|
break;
|
|
@@ -14122,6 +14266,17 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
14122
14266
|
if (error)
|
|
14123
14267
|
return "catalogKey." + error;
|
|
14124
14268
|
}
|
|
14269
|
+
if (message.reservationStatus != null && message.hasOwnProperty("reservationStatus"))
|
|
14270
|
+
switch (message.reservationStatus) {
|
|
14271
|
+
default:
|
|
14272
|
+
return "reservationStatus: enum value expected";
|
|
14273
|
+
case 0:
|
|
14274
|
+
case 1:
|
|
14275
|
+
case 2:
|
|
14276
|
+
case 3:
|
|
14277
|
+
case 4:
|
|
14278
|
+
break;
|
|
14279
|
+
}
|
|
14125
14280
|
if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow")) {
|
|
14126
14281
|
let error = $root.flyteidl.event.DynamicWorkflowNodeMetadata.verify(message.dynamicWorkflow);
|
|
14127
14282
|
if (error)
|
package/package.json
CHANGED
|
@@ -841,11 +841,11 @@ Encapsulates the results of the Execution
|
|
|
841
841
|
:header: "Field", "Type", "Label", "Description"
|
|
842
842
|
:widths: auto
|
|
843
843
|
|
|
844
|
-
"outputs", ":ref:`ref_flyteidl.admin.LiteralMapBlob`", "", "Output URI in the case of a successful execution."
|
|
844
|
+
"outputs", ":ref:`ref_flyteidl.admin.LiteralMapBlob`", "", "**Deprecated.** Output URI in the case of a successful execution. DEPRECATED. Use GetExecutionData to fetch output data instead."
|
|
845
845
|
"error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information in the case of a failed execution."
|
|
846
846
|
"abort_cause", ":ref:`ref_string`", "", "**Deprecated.** In the case of a user-specified abort, this will pass along the user-supplied cause."
|
|
847
847
|
"abort_metadata", ":ref:`ref_flyteidl.admin.AbortMetadata`", "", "In the case of a user-specified abort, this will pass along the user and their supplied cause."
|
|
848
|
-
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this execution."
|
|
848
|
+
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead."
|
|
849
849
|
"computed_inputs", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Inputs computed and passed for execution. computed_inputs depends on inputs in ExecutionSpec, fixed and default inputs in launch plan"
|
|
850
850
|
"phase", ":ref:`ref_flyteidl.core.WorkflowExecution.Phase`", "", "Most recent recorded phase for the execution."
|
|
851
851
|
"started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Reported time at which the execution began running."
|
|
@@ -1979,9 +1979,9 @@ Container for node execution details and results.
|
|
|
1979
1979
|
:header: "Field", "Type", "Label", "Description"
|
|
1980
1980
|
:widths: auto
|
|
1981
1981
|
|
|
1982
|
-
"output_uri", ":ref:`ref_string`", "", "Links to a remotely stored, serialized core.LiteralMap of node execution outputs."
|
|
1982
|
+
"output_uri", ":ref:`ref_string`", "", "**Deprecated.** Links to a remotely stored, serialized core.LiteralMap of node execution outputs. DEPRECATED. Use GetNodeExecutionData to fetch output data instead."
|
|
1983
1983
|
"error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information for the Node"
|
|
1984
|
-
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this node execution."
|
|
1984
|
+
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this node execution. DEPRECATED. Use GetNodeExecutionData to fetch output data instead."
|
|
1985
1985
|
"phase", ":ref:`ref_flyteidl.core.NodeExecution.Phase`", "", "The last recorded phase for this node execution."
|
|
1986
1986
|
"started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Time at which the node execution began running."
|
|
1987
1987
|
"duration", ":ref:`ref_google.protobuf.Duration`", "", "The amount of time the node execution spent running."
|
|
@@ -2903,9 +2903,9 @@ Container for task execution details and results.
|
|
|
2903
2903
|
:header: "Field", "Type", "Label", "Description"
|
|
2904
2904
|
:widths: auto
|
|
2905
2905
|
|
|
2906
|
-
"output_uri", ":ref:`ref_string`", "", "Path to remote data store where output blob is stored if the execution succeeded (and produced outputs)."
|
|
2906
|
+
"output_uri", ":ref:`ref_string`", "", "**Deprecated.** Path to remote data store where output blob is stored if the execution succeeded (and produced outputs). DEPRECATED. Use GetTaskExecutionData to fetch output data instead."
|
|
2907
2907
|
"error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information for the task execution. Populated if the execution failed."
|
|
2908
|
-
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this task execution."
|
|
2908
|
+
"output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this task execution. DEPRECATED. Use GetTaskExecutionData to fetch output data instead."
|
|
2909
2909
|
"phase", ":ref:`ref_flyteidl.core.TaskExecution.Phase`", "", "The last recorded phase for this task execution."
|
|
2910
2910
|
"logs", ":ref:`ref_flyteidl.core.TaskLog`", "repeated", "Detailed log information output by the task execution."
|
|
2911
2911
|
"started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Time at which the task execution began running."
|
|
@@ -57,6 +57,20 @@ Catalog artifact information with specific metadata
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
.. _ref_flyteidl.core.CatalogReservation:
|
|
63
|
+
|
|
64
|
+
CatalogReservation
|
|
65
|
+
------------------------------------------------------------------
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
60
74
|
|
|
61
75
|
|
|
62
76
|
|
|
@@ -79,6 +93,25 @@ Indicates the status of CatalogCaching. The reason why this is not embedded in T
|
|
|
79
93
|
"CACHE_LOOKUP_FAILURE", "4", "Used to indicate that cache lookup failed because of an error"
|
|
80
94
|
"CACHE_PUT_FAILURE", "5", "Used to indicate that cache lookup failed because of an error"
|
|
81
95
|
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
.. _ref_flyteidl.core.CatalogReservation.Status:
|
|
99
|
+
|
|
100
|
+
CatalogReservation.Status
|
|
101
|
+
------------------------------------------------------------------
|
|
102
|
+
|
|
103
|
+
Indicates the status of a catalog reservation operation.
|
|
104
|
+
|
|
105
|
+
.. csv-table:: Enum CatalogReservation.Status values
|
|
106
|
+
:header: "Name", "Number", "Description"
|
|
107
|
+
:widths: auto
|
|
108
|
+
|
|
109
|
+
"RESERVATION_DISABLED", "0", "Used to indicate that reservations are disabled"
|
|
110
|
+
"RESERVATION_ACQUIRED", "1", "Used to indicate that a reservation was successfully acquired or extended"
|
|
111
|
+
"RESERVATION_EXISTS", "2", "Used to indicate that an active reservation currently exists"
|
|
112
|
+
"RESERVATION_RELEASED", "3", "Used to indicate that the reservation has been successfully released"
|
|
113
|
+
"RESERVATION_FAILURE", "4", "Used to indicate that a reservation operation resulted in failure"
|
|
114
|
+
|
|
82
115
|
|
|
83
116
|
|
|
84
117
|
|
|
@@ -1732,6 +1765,7 @@ Container
|
|
|
1732
1765
|
"config", ":ref:`ref_flyteidl.core.KeyValuePair`", "repeated", "**Deprecated.** Allows extra configs to be available for the container. TODO: elaborate on how configs will become available. Deprecated, please use TaskTemplate.config instead."
|
|
1733
1766
|
"ports", ":ref:`ref_flyteidl.core.ContainerPort`", "repeated", "Ports to open in the container. This feature is not supported by all execution engines. (e.g. supported on K8s but not supported on AWS Batch) Only K8s"
|
|
1734
1767
|
"data_config", ":ref:`ref_flyteidl.core.DataLoadingConfig`", "", "BETA: Optional configuration for DataLoading. If not specified, then default values are used. This makes it possible to to run a completely portable container, that uses inputs and outputs only from the local file-system and without having any reference to flyteidl. This is supported only on K8s at the moment. If data loading is enabled, then data will be mounted in accompanying directories specified in the DataLoadingConfig. If the directories are not specified, inputs will be mounted onto and outputs will be uploaded from a pre-determined file-system path. Refer to the documentation to understand the default paths. Only K8s"
|
|
1768
|
+
"architecture", ":ref:`ref_flyteidl.core.Container.Architecture`", "", ""
|
|
1735
1769
|
|
|
1736
1770
|
|
|
1737
1771
|
|
|
@@ -2007,6 +2041,7 @@ Task Metadata
|
|
|
2007
2041
|
"discovery_version", ":ref:`ref_string`", "", "Indicates a logical version to apply to this task for the purpose of discovery."
|
|
2008
2042
|
"deprecated_error_message", ":ref:`ref_string`", "", "If set, this indicates that this task is deprecated. This will enable owners of tasks to notify consumers of the ending of support for a given task."
|
|
2009
2043
|
"interruptible", ":ref:`ref_bool`", "", ""
|
|
2044
|
+
"cache_serializable", ":ref:`ref_bool`", "", "Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work"
|
|
2010
2045
|
|
|
2011
2046
|
|
|
2012
2047
|
|
|
@@ -2070,6 +2105,25 @@ TaskTemplate.ConfigEntry
|
|
|
2070
2105
|
|
|
2071
2106
|
|
|
2072
2107
|
|
|
2108
|
+
.. _ref_flyteidl.core.Container.Architecture:
|
|
2109
|
+
|
|
2110
|
+
Container.Architecture
|
|
2111
|
+
------------------------------------------------------------------
|
|
2112
|
+
|
|
2113
|
+
Architecture-type the container image supports.
|
|
2114
|
+
|
|
2115
|
+
.. csv-table:: Enum Container.Architecture values
|
|
2116
|
+
:header: "Name", "Number", "Description"
|
|
2117
|
+
:widths: auto
|
|
2118
|
+
|
|
2119
|
+
"UNKNOWN", "0", ""
|
|
2120
|
+
"AMD64", "1", ""
|
|
2121
|
+
"ARM64", "2", ""
|
|
2122
|
+
"ARM_V6", "3", ""
|
|
2123
|
+
"ARM_V7", "4", ""
|
|
2124
|
+
|
|
2125
|
+
|
|
2126
|
+
|
|
2073
2127
|
.. _ref_flyteidl.core.DataLoadingConfig.LiteralMapFormat:
|
|
2074
2128
|
|
|
2075
2129
|
DataLoadingConfig.LiteralMapFormat
|
|
@@ -3101,8 +3155,8 @@ Value
|
|
|
3101
3155
|
|
|
3102
3156
|
`Value` represents a dynamically typed value which can be either
|
|
3103
3157
|
null, a number, a string, a boolean, a recursive struct value, or a
|
|
3104
|
-
list of values. A producer of value is expected to set one of
|
|
3105
|
-
variants
|
|
3158
|
+
list of values. A producer of value is expected to set one of these
|
|
3159
|
+
variants. Absence of any variant indicates an error.
|
|
3106
3160
|
|
|
3107
3161
|
The JSON representation for `Value` is JSON value.
|
|
3108
3162
|
|
|
@@ -261,43 +261,6 @@ Dataset properties we can filter by
|
|
|
261
261
|
|
|
262
262
|
|
|
263
263
|
|
|
264
|
-
.. _ref_datacatalog.ExtendReservationRequest:
|
|
265
|
-
|
|
266
|
-
ExtendReservationRequest
|
|
267
|
-
------------------------------------------------------------------
|
|
268
|
-
|
|
269
|
-
Request to extend reservation
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
.. csv-table:: ExtendReservationRequest type fields
|
|
274
|
-
:header: "Field", "Type", "Label", "Description"
|
|
275
|
-
:widths: auto
|
|
276
|
-
|
|
277
|
-
"dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
|
|
278
|
-
"tag_name", ":ref:`ref_string`", "", ""
|
|
279
|
-
"owner_id", ":ref:`ref_string`", "", ""
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
.. _ref_datacatalog.ExtendReservationResponse:
|
|
288
|
-
|
|
289
|
-
ExtendReservationResponse
|
|
290
|
-
------------------------------------------------------------------
|
|
291
|
-
|
|
292
|
-
Response to extend reservation
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
264
|
.. _ref_datacatalog.FilterExpression:
|
|
302
265
|
|
|
303
266
|
FilterExpression
|
|
@@ -410,22 +373,22 @@ Dataset.
|
|
|
410
373
|
|
|
411
374
|
|
|
412
375
|
|
|
413
|
-
.. _ref_datacatalog.
|
|
376
|
+
.. _ref_datacatalog.GetOrExtendReservationRequest:
|
|
414
377
|
|
|
415
|
-
|
|
378
|
+
GetOrExtendReservationRequest
|
|
416
379
|
------------------------------------------------------------------
|
|
417
380
|
|
|
418
|
-
|
|
381
|
+
Try to acquire or extend an artifact reservation. If an active reservation exists, retreive that instance.
|
|
419
382
|
|
|
420
383
|
|
|
421
384
|
|
|
422
|
-
.. csv-table::
|
|
385
|
+
.. csv-table:: GetOrExtendReservationRequest type fields
|
|
423
386
|
:header: "Field", "Type", "Label", "Description"
|
|
424
387
|
:widths: auto
|
|
425
388
|
|
|
426
|
-
"
|
|
427
|
-
"tag_name", ":ref:`ref_string`", "", ""
|
|
389
|
+
"reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
|
|
428
390
|
"owner_id", ":ref:`ref_string`", "", ""
|
|
391
|
+
"heartbeat_interval", ":ref:`ref_google.protobuf.Duration`", "", "Requested reservation extension heartbeat interval"
|
|
429
392
|
|
|
430
393
|
|
|
431
394
|
|
|
@@ -433,21 +396,20 @@ Get the Artifact or try to reserve a spot if the Artifact does not exist.
|
|
|
433
396
|
|
|
434
397
|
|
|
435
398
|
|
|
436
|
-
.. _ref_datacatalog.
|
|
399
|
+
.. _ref_datacatalog.GetOrExtendReservationResponse:
|
|
437
400
|
|
|
438
|
-
|
|
401
|
+
GetOrExtendReservationResponse
|
|
439
402
|
------------------------------------------------------------------
|
|
440
403
|
|
|
441
|
-
Response
|
|
404
|
+
Response including either a newly minted reservation or the existing reservation
|
|
442
405
|
|
|
443
406
|
|
|
444
407
|
|
|
445
|
-
.. csv-table::
|
|
408
|
+
.. csv-table:: GetOrExtendReservationResponse type fields
|
|
446
409
|
:header: "Field", "Type", "Label", "Description"
|
|
447
410
|
:widths: auto
|
|
448
411
|
|
|
449
|
-
"
|
|
450
|
-
"reservation_status", ":ref:`ref_datacatalog.ReservationStatus`", "", ""
|
|
412
|
+
"reservation", ":ref:`ref_datacatalog.Reservation`", "", ""
|
|
451
413
|
|
|
452
414
|
|
|
453
415
|
|
|
@@ -689,8 +651,7 @@ Request to release reservation
|
|
|
689
651
|
:header: "Field", "Type", "Label", "Description"
|
|
690
652
|
:widths: auto
|
|
691
653
|
|
|
692
|
-
"
|
|
693
|
-
"tag_name", ":ref:`ref_string`", "", ""
|
|
654
|
+
"reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
|
|
694
655
|
"owner_id", ":ref:`ref_string`", "", ""
|
|
695
656
|
|
|
696
657
|
|
|
@@ -713,22 +674,46 @@ Response to release reservation
|
|
|
713
674
|
|
|
714
675
|
|
|
715
676
|
|
|
716
|
-
.. _ref_datacatalog.
|
|
677
|
+
.. _ref_datacatalog.Reservation:
|
|
717
678
|
|
|
718
|
-
|
|
679
|
+
Reservation
|
|
719
680
|
------------------------------------------------------------------
|
|
720
681
|
|
|
721
|
-
|
|
682
|
+
A reservation including owner, heartbeat interval, expiration timestamp, and various metadata.
|
|
722
683
|
|
|
723
684
|
|
|
724
685
|
|
|
725
|
-
.. csv-table::
|
|
686
|
+
.. csv-table:: Reservation type fields
|
|
726
687
|
:header: "Field", "Type", "Label", "Description"
|
|
727
688
|
:widths: auto
|
|
728
689
|
|
|
729
|
-
"
|
|
730
|
-
"metadata", ":ref:`ref_datacatalog.Metadata`", "", ""
|
|
690
|
+
"reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
|
|
731
691
|
"owner_id", ":ref:`ref_string`", "", ""
|
|
692
|
+
"heartbeat_interval", ":ref:`ref_google.protobuf.Duration`", "", "Recommended heartbeat interval to extend reservation"
|
|
693
|
+
"expires_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Expiration timestamp of this reservation"
|
|
694
|
+
"metadata", ":ref:`ref_datacatalog.Metadata`", "", ""
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
.. _ref_datacatalog.ReservationID:
|
|
703
|
+
|
|
704
|
+
ReservationID
|
|
705
|
+
------------------------------------------------------------------
|
|
706
|
+
|
|
707
|
+
ReservationID message that is composed of several string fields.
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
.. csv-table:: ReservationID type fields
|
|
712
|
+
:header: "Field", "Type", "Label", "Description"
|
|
713
|
+
:widths: auto
|
|
714
|
+
|
|
715
|
+
"dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
|
|
716
|
+
"tag_name", ":ref:`ref_string`", "", ""
|
|
732
717
|
|
|
733
718
|
|
|
734
719
|
|
|
@@ -839,22 +824,6 @@ PaginationOptions.SortOrder
|
|
|
839
824
|
|
|
840
825
|
|
|
841
826
|
|
|
842
|
-
.. _ref_datacatalog.ReservationStatus.State:
|
|
843
|
-
|
|
844
|
-
ReservationStatus.State
|
|
845
|
-
------------------------------------------------------------------
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
.. csv-table:: Enum ReservationStatus.State values
|
|
850
|
-
:header: "Name", "Number", "Description"
|
|
851
|
-
:widths: auto
|
|
852
|
-
|
|
853
|
-
"ACQUIRED", "0", "Acquired the reservation successfully."
|
|
854
|
-
"ALREADY_IN_PROGRESS", "1", "Indicates an existing active reservation exist for a different owner_id."
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
827
|
.. _ref_datacatalog.SinglePropertyFilter.ComparisonOperator:
|
|
859
828
|
|
|
860
829
|
SinglePropertyFilter.ComparisonOperator
|
|
@@ -894,8 +863,7 @@ Artifacts are associated with a Dataset, and can be tagged for retrieval.
|
|
|
894
863
|
"AddTag", ":ref:`ref_datacatalog.AddTagRequest`", ":ref:`ref_datacatalog.AddTagResponse`", "Associate a tag with an artifact. Tags are unique within a Dataset."
|
|
895
864
|
"ListArtifacts", ":ref:`ref_datacatalog.ListArtifactsRequest`", ":ref:`ref_datacatalog.ListArtifactsResponse`", "Return a paginated list of artifacts"
|
|
896
865
|
"ListDatasets", ":ref:`ref_datacatalog.ListDatasetsRequest`", ":ref:`ref_datacatalog.ListDatasetsResponse`", "Return a paginated list of datasets"
|
|
897
|
-
"
|
|
898
|
-
"ExtendReservation", ":ref:`ref_datacatalog.ExtendReservationRequest`", ":ref:`ref_datacatalog.ExtendReservationResponse`", "Extend the reservation to keep it from expiring. If the reservation expires, other tasks can take over the reservation by calling GetOrReserveArtifact."
|
|
866
|
+
"GetOrExtendReservation", ":ref:`ref_datacatalog.GetOrExtendReservationRequest`", ":ref:`ref_datacatalog.GetOrExtendReservationResponse`", "Attempts to get or extend a reservation for the corresponding artifact. If one already exists (ie. another entity owns the reservation) then that reservation is retrieved. Once you acquire a reservation, you need to periodically extend the reservation with an identical call. If the reservation is not extended before the defined expiration, it may be acquired by another task. Note: We may have multiple concurrent tasks with the same signature and the same input that try to populate the same artifact at the same time. Thus with reservation, only one task can run at a time, until the reservation expires. Note: If task A does not extend the reservation in time and the reservation expires, another task B may take over the reservation, resulting in two tasks A and B running in parallel. So a third task C may get the Artifact from A or B, whichever writes last."
|
|
899
867
|
"ReleaseReservation", ":ref:`ref_datacatalog.ReleaseReservationRequest`", ":ref:`ref_datacatalog.ReleaseReservationResponse`", "Release the reservation when the task holding the spot fails so that the other tasks can grab the spot."
|
|
900
868
|
<!-- end services -->
|
|
901
869
|
|
|
@@ -236,6 +236,7 @@ TaskNodeMetadata
|
|
|
236
236
|
|
|
237
237
|
"cache_status", ":ref:`ref_flyteidl.core.CatalogCacheStatus`", "", "Captures the status of caching for this execution."
|
|
238
238
|
"catalog_key", ":ref:`ref_flyteidl.core.CatalogMetadata`", "", "This structure carries the catalog artifact information"
|
|
239
|
+
"reservation_status", ":ref:`ref_flyteidl.core.CatalogReservation.Status`", "", "Captures the status of cache reservations for this execution."
|
|
239
240
|
"dynamic_workflow", ":ref:`ref_flyteidl.event.DynamicWorkflowNodeMetadata`", "", "In the case this task launched a dynamic workflow we capture its structure here."
|
|
240
241
|
|
|
241
242
|
|
|
@@ -126,7 +126,8 @@ message ExecutionClosure {
|
|
|
126
126
|
// A pending (non-terminal) execution will not have any output result.
|
|
127
127
|
oneof output_result {
|
|
128
128
|
// Output URI in the case of a successful execution.
|
|
129
|
-
|
|
129
|
+
// DEPRECATED. Use GetExecutionData to fetch output data instead.
|
|
130
|
+
LiteralMapBlob outputs = 1 [deprecated = true];
|
|
130
131
|
|
|
131
132
|
// Error information in the case of a failed execution.
|
|
132
133
|
core.ExecutionError error = 2;
|
|
@@ -138,7 +139,8 @@ message ExecutionClosure {
|
|
|
138
139
|
AbortMetadata abort_metadata = 12;
|
|
139
140
|
|
|
140
141
|
// Raw output data produced by this execution.
|
|
141
|
-
|
|
142
|
+
// DEPRECATED. Use GetExecutionData to fetch output data instead.
|
|
143
|
+
core.LiteralMap output_data = 13 [deprecated = true];
|
|
142
144
|
}
|
|
143
145
|
|
|
144
146
|
// Inputs computed and passed for execution.
|
|
@@ -127,13 +127,15 @@ message NodeExecutionClosure {
|
|
|
127
127
|
// Only a node in a terminal state will have a non-empty output_result.
|
|
128
128
|
oneof output_result {
|
|
129
129
|
// Links to a remotely stored, serialized core.LiteralMap of node execution outputs.
|
|
130
|
-
|
|
130
|
+
// DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
|
|
131
|
+
string output_uri = 1 [deprecated = true];
|
|
131
132
|
|
|
132
133
|
// Error information for the Node
|
|
133
134
|
core.ExecutionError error = 2;
|
|
134
135
|
|
|
135
136
|
// Raw output data produced by this node execution.
|
|
136
|
-
|
|
137
|
+
// DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
|
|
138
|
+
core.LiteralMap output_data = 10 [deprecated = true];
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
// The last recorded phase for this node execution.
|
|
@@ -77,13 +77,15 @@ message TaskExecutionList {
|
|
|
77
77
|
message TaskExecutionClosure {
|
|
78
78
|
oneof output_result {
|
|
79
79
|
// Path to remote data store where output blob is stored if the execution succeeded (and produced outputs).
|
|
80
|
-
|
|
80
|
+
// DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
|
|
81
|
+
string output_uri = 1 [deprecated = true];
|
|
81
82
|
|
|
82
83
|
// Error information for the task execution. Populated if the execution failed.
|
|
83
84
|
core.ExecutionError error = 2;
|
|
84
85
|
|
|
85
86
|
// Raw output data produced by this task execution.
|
|
86
|
-
|
|
87
|
+
// DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
|
|
88
|
+
core.LiteralMap output_data = 12 [deprecated = true];
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
// The last recorded phase for this task execution.
|
|
@@ -41,3 +41,19 @@ message CatalogMetadata {
|
|
|
41
41
|
TaskExecutionIdentifier source_task_execution = 3;
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
|
|
45
|
+
message CatalogReservation {
|
|
46
|
+
// Indicates the status of a catalog reservation operation.
|
|
47
|
+
enum Status {
|
|
48
|
+
// Used to indicate that reservations are disabled
|
|
49
|
+
RESERVATION_DISABLED = 0;
|
|
50
|
+
// Used to indicate that a reservation was successfully acquired or extended
|
|
51
|
+
RESERVATION_ACQUIRED = 1;
|
|
52
|
+
// Used to indicate that an active reservation currently exists
|
|
53
|
+
RESERVATION_EXISTS = 2;
|
|
54
|
+
// Used to indicate that the reservation has been successfully released
|
|
55
|
+
RESERVATION_RELEASED = 3;
|
|
56
|
+
// Used to indicate that a reservation operation resulted in failure
|
|
57
|
+
RESERVATION_FAILURE = 4;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -92,6 +92,9 @@ message TaskMetadata {
|
|
|
92
92
|
oneof interruptible_value {
|
|
93
93
|
bool interruptible = 8;
|
|
94
94
|
};
|
|
95
|
+
|
|
96
|
+
// Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work
|
|
97
|
+
bool cache_serializable = 9;
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
// A Task structure that uniquely identifies a task in the system
|
|
@@ -3,6 +3,7 @@ syntax = "proto3";
|
|
|
3
3
|
package datacatalog;
|
|
4
4
|
|
|
5
5
|
import "flyteidl/core/literals.proto";
|
|
6
|
+
import "google/protobuf/duration.proto";
|
|
6
7
|
import "google/protobuf/timestamp.proto";
|
|
7
8
|
|
|
8
9
|
/*
|
|
@@ -34,25 +35,18 @@ service DataCatalog {
|
|
|
34
35
|
// Return a paginated list of datasets
|
|
35
36
|
rpc ListDatasets (ListDatasetsRequest) returns (ListDatasetsResponse);
|
|
36
37
|
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
// Once you
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
// A and B running in parallel. So a third task C may get the Artifact from A or B,
|
|
50
|
-
// whichever writes last.
|
|
51
|
-
rpc GetOrReserveArtifact (GetOrReserveArtifactRequest) returns (GetOrReserveArtifactResponse);
|
|
52
|
-
|
|
53
|
-
// Extend the reservation to keep it from expiring. If the reservation expires,
|
|
54
|
-
// other tasks can take over the reservation by calling GetOrReserveArtifact.
|
|
55
|
-
rpc ExtendReservation (ExtendReservationRequest) returns (ExtendReservationResponse);
|
|
38
|
+
// Attempts to get or extend a reservation for the corresponding artifact. If one already exists
|
|
39
|
+
// (ie. another entity owns the reservation) then that reservation is retrieved.
|
|
40
|
+
// Once you acquire a reservation, you need to periodically extend the reservation with an
|
|
41
|
+
// identical call. If the reservation is not extended before the defined expiration, it may be
|
|
42
|
+
// acquired by another task.
|
|
43
|
+
// Note: We may have multiple concurrent tasks with the same signature and the same input that
|
|
44
|
+
// try to populate the same artifact at the same time. Thus with reservation, only one task can
|
|
45
|
+
// run at a time, until the reservation expires.
|
|
46
|
+
// Note: If task A does not extend the reservation in time and the reservation expires, another
|
|
47
|
+
// task B may take over the reservation, resulting in two tasks A and B running in parallel. So
|
|
48
|
+
// a third task C may get the Artifact from A or B, whichever writes last.
|
|
49
|
+
rpc GetOrExtendReservation (GetOrExtendReservationRequest) returns (GetOrExtendReservationResponse);
|
|
56
50
|
|
|
57
51
|
// Release the reservation when the task holding the spot fails so that the other tasks
|
|
58
52
|
// can grab the spot.
|
|
@@ -174,53 +168,39 @@ message ListDatasetsResponse {
|
|
|
174
168
|
string next_token = 2;
|
|
175
169
|
}
|
|
176
170
|
|
|
177
|
-
|
|
178
|
-
message
|
|
171
|
+
/*
|
|
172
|
+
* ReservationID message that is composed of several string fields.
|
|
173
|
+
*/
|
|
174
|
+
message ReservationID {
|
|
179
175
|
DatasetID dataset_id = 1;
|
|
180
176
|
string tag_name = 2;
|
|
181
|
-
string owner_id = 3;
|
|
182
177
|
}
|
|
183
178
|
|
|
184
|
-
//
|
|
185
|
-
message
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// Indicates an existing active reservation exist for a different owner_id.
|
|
191
|
-
ALREADY_IN_PROGRESS = 1;
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
State state = 1;
|
|
195
|
-
Metadata metadata = 2;
|
|
196
|
-
string owner_id = 3;
|
|
179
|
+
// Try to acquire or extend an artifact reservation. If an active reservation exists, retreive that instance.
|
|
180
|
+
message GetOrExtendReservationRequest {
|
|
181
|
+
ReservationID reservation_id = 1;
|
|
182
|
+
string owner_id = 2;
|
|
183
|
+
google.protobuf.Duration heartbeat_interval = 3; // Requested reservation extension heartbeat interval
|
|
197
184
|
}
|
|
198
185
|
|
|
199
|
-
//
|
|
200
|
-
message
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
186
|
+
// A reservation including owner, heartbeat interval, expiration timestamp, and various metadata.
|
|
187
|
+
message Reservation {
|
|
188
|
+
ReservationID reservation_id = 1;
|
|
189
|
+
string owner_id = 2;
|
|
190
|
+
google.protobuf.Duration heartbeat_interval = 3; // Recommended heartbeat interval to extend reservation
|
|
191
|
+
google.protobuf.Timestamp expires_at = 4; // Expiration timestamp of this reservation
|
|
192
|
+
Metadata metadata = 6;
|
|
205
193
|
}
|
|
206
194
|
|
|
207
|
-
//
|
|
208
|
-
message
|
|
209
|
-
|
|
210
|
-
string tag_name = 2;
|
|
211
|
-
string owner_id = 3;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
// Response to extend reservation
|
|
215
|
-
message ExtendReservationResponse {
|
|
216
|
-
|
|
195
|
+
// Response including either a newly minted reservation or the existing reservation
|
|
196
|
+
message GetOrExtendReservationResponse {
|
|
197
|
+
Reservation reservation = 1;
|
|
217
198
|
}
|
|
218
199
|
|
|
219
200
|
// Request to release reservation
|
|
220
201
|
message ReleaseReservationRequest {
|
|
221
|
-
|
|
222
|
-
string
|
|
223
|
-
string owner_id = 3;
|
|
202
|
+
ReservationID reservation_id = 1;
|
|
203
|
+
string owner_id = 2;
|
|
224
204
|
}
|
|
225
205
|
|
|
226
206
|
// Response to release reservation
|
|
@@ -99,6 +99,8 @@ message TaskNodeMetadata {
|
|
|
99
99
|
core.CatalogCacheStatus cache_status = 1;
|
|
100
100
|
// This structure carries the catalog artifact information
|
|
101
101
|
core.CatalogMetadata catalog_key = 2;
|
|
102
|
+
// Captures the status of cache reservations for this execution.
|
|
103
|
+
core.CatalogReservation.Status reservation_status = 3;
|
|
102
104
|
|
|
103
105
|
// In the case this task launched a dynamic workflow we capture its structure here.
|
|
104
106
|
DynamicWorkflowNodeMetadata dynamic_workflow = 16;
|