-
Notifications
You must be signed in to change notification settings - Fork 61
#patch: Add in task execution event fields #119
Conversation
Signed-off-by: Katrina Rogan <[email protected]>
protos/flyteidl/event/event.proto
Outdated
string generated_name = 1; | ||
|
||
// Includes information about how resource token allocation (if applicable). | ||
ManagedResourceInfo managed_resource_info = 2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be repeated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps i'm misunderstanding but isn't this only determined once per execution?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A plugin can request multiple resource allocations during execution... our plugins only request one resource at most because we didn't need more... but the API allows plugins to request more
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@EngHabu got it, thanks. updated
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
protos/flyteidl/event/event.proto
Outdated
// executions for a project namespace. | ||
message ManagedResourceInfo { | ||
// Unique resource ID used to identify this execution when allocating a token. | ||
string token = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we call this allocation_token
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we capture more of the request? https://github.com/flyteorg/flyteplugins/blob/master/go/tasks/pluginmachinery/core/resource_manager.go#L82
the resource namespace maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure done @EngHabu
Signed-off-by: Katrina Rogan <[email protected]>
protos/flyteidl/event/event.proto
Outdated
@@ -167,4 +187,11 @@ message TaskExecutionMetadata { | |||
INTERRUPTIBLE = 1; | |||
} | |||
InstanceClass instance_class = 16; | |||
|
|||
// Generated unique name for this task execution used by the backend. | |||
string generated_name = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we call it resource_name?
As for Qubole/AWS Batch etc, it may not be the generated_name?
Or we can have both - but that is confusing!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
protos/flyteidl/event/event.proto
Outdated
@@ -151,10 +151,40 @@ message TaskExecutionEvent { | |||
// The version field should be incremented when metadata changes across the duration of an individual phase. | |||
uint32 phase_version = 12; | |||
|
|||
// If there is an explanation for this phase transition, the reason will capture it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// If there is an explanation for this phase transition, the reason will capture it. | |
// An optional explanation for the phase transition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
// A predefined yet extensible Task type identifier. If the task definition is already registered in flyte admin | ||
// this type will be identical, but not all task executions necessarily use pre-registered definitions and this | ||
// type is useful to render the task in the UI, filter task executions, etc. | ||
string task_type = 14; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we also add the actual execution plugin-ID used?
Signed-off-by: Katrina Rogan <[email protected]>
protos/flyteidl/event/event.proto
Outdated
@@ -167,4 +197,14 @@ message TaskExecutionMetadata { | |||
INTERRUPTIBLE = 1; | |||
} | |||
InstanceClass instance_class = 16; | |||
|
|||
// Contains various identifiers for resources used during execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: can we order them by the field id? sorry!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kumare3 done
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
// Holds metadata around how a task was executed. | ||
// TODO(katrogan): Extend to include freeform fields (https://github.com/flyteorg/flyte/issues/325). | ||
message TaskExecutionMetadata { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove the todo on the message? indicates task -
flyteorg/flyte#325
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh yes good catch, done
// this type will be identical, but not all task executions necessarily use pre-registered definitions and this | ||
// type is useful to render the task in the UI, filter task executions, etc. | ||
string task_type = 14; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@katrogan another question, why is task_type / reason not metadata? Maybe a clearer definition in the distinction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I like the documentation at the beginning of this proto message: Plugin specific execution event information
i.e. attributes of the event itself. In this case task_type is an attribute of the execution and reason goes along with phase and phase version as part of the actual event update, right? I see metadata is more for identifying/discerning how a task was executed rather than artifacts or products of the event itself.
Signed-off-by: Katrina Rogan <[email protected]>
Signed-off-by: Katrina Rogan <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Signed-off-by: Katrina Rogan [email protected]
TL;DR
Add in task execution event fields
Type
Are all requirements met?
Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
flyteorg/flyte#325
Follow-up issue
NA