Skip to content

Commit 02bf85f

Browse files
authored
deep copying arraynode tasktemplate interface (#5479)
Signed-off-by: Daniel Rammer <daniel@union.ai>
1 parent 7d788cb commit 02bf85f

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

flytepropeller/pkg/controller/nodes/array/node_execution_context.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ type arrayTaskReader struct {
5050
}
5151

5252
func (a *arrayTaskReader) Read(ctx context.Context) (*core.TaskTemplate, error) {
53-
taskTemplate, err := a.TaskReader.Read(ctx)
53+
originalTaskTemplate, err := a.TaskReader.Read(ctx)
5454
if err != nil {
5555
return nil, err
5656
}
5757

5858
// convert output list variable to singular
5959
outputVariables := make(map[string]*core.Variable)
60-
for key, value := range taskTemplate.Interface.Outputs.Variables {
60+
for key, value := range originalTaskTemplate.Interface.Outputs.Variables {
6161
switch v := value.Type.Type.(type) {
6262
case *core.LiteralType_CollectionType:
6363
outputVariables[key] = &core.Variable{
@@ -69,10 +69,14 @@ func (a *arrayTaskReader) Read(ctx context.Context) (*core.TaskTemplate, error)
6969
}
7070
}
7171

72-
taskTemplate.Interface.Outputs = &core.VariableMap{
73-
Variables: outputVariables,
72+
taskTemplate := *originalTaskTemplate
73+
taskTemplate.Interface = &core.TypedInterface{
74+
Inputs: originalTaskTemplate.Interface.Inputs,
75+
Outputs: &core.VariableMap{
76+
Variables: outputVariables,
77+
},
7478
}
75-
return taskTemplate, nil
79+
return &taskTemplate, nil
7680
}
7781

7882
type arrayNodeExecutionContext struct {

0 commit comments

Comments
 (0)