From 910f636dcfad66c999aa859e11a31a9a772ccc79 Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Wed, 8 Jul 2020 12:25:54 -0700 Subject: [PATCH] fix: No panic on watch. Fixes #3411 (#3426) --- cmd/argo/commands/watch.go | 4 ++++ util/logs/workflow-logger.go | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/argo/commands/watch.go b/cmd/argo/commands/watch.go index c9331260d6ac..bca7033689d6 100644 --- a/cmd/argo/commands/watch.go +++ b/cmd/argo/commands/watch.go @@ -72,8 +72,12 @@ func watchWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServic log.Debug("Re-establishing workflow watch") stream, err = serviceClient.WatchWorkflows(ctx, req) errors.CheckError(err) + continue } errors.CheckError(err) + if event == nil { + continue + } wfChan <- event.Object } }() diff --git a/util/logs/workflow-logger.go b/util/logs/workflow-logger.go index 7471e1919848..49ab4dfaae04 100644 --- a/util/logs/workflow-logger.go +++ b/util/logs/workflow-logger.go @@ -65,7 +65,10 @@ func WorkflowLogs(ctx context.Context, wfClient versioned.Interface, kubeClient var wg sync.WaitGroup // A non-blocking channel for log entries to go down. unsortedEntries := make(chan logEntry, 128) - logOptions := req.GetLogOptions().DeepCopy() + logOptions := req.GetLogOptions() + if logOptions == nil { + logOptions = &corev1.PodLogOptions{} + } logOptions.Timestamps = true // this func start a stream if one is not already running