From 61e8079d10650f71b194d6a26bcb3f165c98b2f0 Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 10:36:04 +0100 Subject: [PATCH 1/6] Fixing panics in test activities --- internal/internal_task_handlers.go | 6 ++++++ internal/internal_task_pollers.go | 6 ++++++ internal/internal_worker_test.go | 1 + 3 files changed, 13 insertions(+) diff --git a/internal/internal_task_handlers.go b/internal/internal_task_handlers.go index 0aa13f085..0dd3ba69c 100644 --- a/internal/internal_task_handlers.go +++ b/internal/internal_task_handlers.go @@ -1406,6 +1406,12 @@ func newActivityTaskHandlerWithCustomProvider( registry *registry, activityProvider activityProvider, ) ActivityTaskHandler { + if params.Tracer == nil { + params.Tracer = opentracing.NoopTracer{} + } + if params.WorkerStats.ActivityTracker == nil { + params.WorkerStats.ActivityTracker = debug.NewNoopActivityTracker() + } return &activityTaskHandlerImpl{ taskListName: params.TaskList, identity: params.Identity, diff --git a/internal/internal_task_pollers.go b/internal/internal_task_pollers.go index 23aa85a31..c565a5833 100644 --- a/internal/internal_task_pollers.go +++ b/internal/internal_task_pollers.go @@ -525,6 +525,12 @@ func (wtp *workflowTaskPoller) RespondTaskCompleted(completedRequest interface{} } func newLocalActivityPoller(params workerExecutionParameters, laTunnel *localActivityTunnel) *localActivityTaskPoller { + if params.Tracer == nil { + params.Tracer = opentracing.NoopTracer{} + } + if params.WorkerStats.ActivityTracker == nil { + params.WorkerStats.ActivityTracker = debug.NewNoopActivityTracker() + } handler := &localActivityTaskHandler{ userContext: params.UserContext, metricsScope: metrics.NewTaggedScope(params.MetricsScope), diff --git a/internal/internal_worker_test.go b/internal/internal_worker_test.go index 65792bb45..7b6092c35 100644 --- a/internal/internal_worker_test.go +++ b/internal/internal_worker_test.go @@ -274,6 +274,7 @@ func (s *internalWorkerTestSuite) TestNoActivitiesOrWorkflows() { assert.Empty(t, w.registry.getRegisteredActivities()) assert.Empty(t, w.registry.GetRegisteredWorkflowTypes()) assert.NoError(t, w.Start()) + w.Stop() } func (s *internalWorkerTestSuite) TestWorkerStartFailsWithInvalidDomain() { From 2df92f5a38849abc036fb2e78dfeb59e2da367f5 Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 10:40:14 +0100 Subject: [PATCH 2/6] initialize in worker poller params also --- internal/internal_task_pollers.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/internal_task_pollers.go b/internal/internal_task_pollers.go index c565a5833..c45f29cce 100644 --- a/internal/internal_task_pollers.go +++ b/internal/internal_task_pollers.go @@ -281,6 +281,12 @@ func newWorkflowTaskPoller( domain string, params workerExecutionParameters, ) *workflowTaskPoller { + if params.Tracer == nil { + params.Tracer = opentracing.NoopTracer{} + } + if params.WorkerStats.PollerTracker == nil { + params.WorkerStats.PollerTracker = debug.NewNoopPollerTracker() + } return &workflowTaskPoller{ basePoller: basePoller{shutdownC: params.WorkerStopChannel}, service: service, From 9096e322c3c9d502b51cdc83f7cda8febe4e35a0 Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 10:48:59 +0100 Subject: [PATCH 3/6] set logging for code coverage --- internal/internal_poller_autoscaler.go | 3 +-- internal/worker_test.go | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/internal_poller_autoscaler.go b/internal/internal_poller_autoscaler.go index 6fbd4ccbc..d88dd1f10 100644 --- a/internal/internal_poller_autoscaler.go +++ b/internal/internal_poller_autoscaler.go @@ -83,11 +83,10 @@ func newPollerScaler( options pollerAutoScalerOptions, logger *zap.Logger, hooks ...func()) *pollerAutoScaler { - ctx, cancel := context.WithCancel(context.Background()) if !options.Enabled { return nil } - + ctx, cancel := context.WithCancel(context.Background()) return &pollerAutoScaler{ isDryRun: options.DryRun, cooldownTime: options.Cooldown, diff --git a/internal/worker_test.go b/internal/worker_test.go index 950955efa..6f3783617 100644 --- a/internal/worker_test.go +++ b/internal/worker_test.go @@ -26,6 +26,11 @@ import ( "github.com/stretchr/testify/assert" ) +func TestMain(m *testing.M) { + EnableVerboseLogging(true) + m.Run() +} + func Test_NewWorker(t *testing.T) { tests := []struct { name string From ac3558e0d4cdd55b6915a40daf964c7d00fd099b Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 10:57:49 +0100 Subject: [PATCH 4/6] move tracer check to ensureRequiredParams --- internal/internal_task_pollers.go | 6 ------ internal/internal_worker.go | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/internal/internal_task_pollers.go b/internal/internal_task_pollers.go index c45f29cce..c565a5833 100644 --- a/internal/internal_task_pollers.go +++ b/internal/internal_task_pollers.go @@ -281,12 +281,6 @@ func newWorkflowTaskPoller( domain string, params workerExecutionParameters, ) *workflowTaskPoller { - if params.Tracer == nil { - params.Tracer = opentracing.NoopTracer{} - } - if params.WorkerStats.PollerTracker == nil { - params.WorkerStats.PollerTracker = debug.NewNoopPollerTracker() - } return &workflowTaskPoller{ basePoller: basePoller{shutdownC: params.WorkerStopChannel}, service: service, diff --git a/internal/internal_worker.go b/internal/internal_worker.go index e765e3515..07331b761 100644 --- a/internal/internal_worker.go +++ b/internal/internal_worker.go @@ -165,6 +165,9 @@ func newWorkflowWorker( } func ensureRequiredParams(params *workerExecutionParameters) { + if params.Tracer == nil { + params.Tracer = opentracing.NoopTracer{} + } if params.Identity == "" { params.Identity = getWorkerIdentity(params.TaskList) } From 60ae72abb6ecee9136569fce64fab187bacedebf Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 11:35:06 +0100 Subject: [PATCH 5/6] remove trace initialization from tests setup --- internal/internal_task_handlers_test.go | 1 - internal/internal_worker_interfaces_test.go | 4 ++-- internal/internal_worker_test.go | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/internal/internal_task_handlers_test.go b/internal/internal_task_handlers_test.go index 07da0ccb7..82440c7dd 100644 --- a/internal/internal_task_handlers_test.go +++ b/internal/internal_task_handlers_test.go @@ -1248,7 +1248,6 @@ func (t *TaskHandlersTestSuite) TestLocalActivityRetry_DecisionHeartbeatFail() { WorkerOptions: WorkerOptions{ Identity: "test-id-1", Logger: t.logger, - Tracer: opentracing.NoopTracer{}, }, WorkerStopChannel: stopCh, } diff --git a/internal/internal_worker_interfaces_test.go b/internal/internal_worker_interfaces_test.go index 827abe0e0..e4b0bd608 100644 --- a/internal/internal_worker_interfaces_test.go +++ b/internal/internal_worker_interfaces_test.go @@ -184,7 +184,7 @@ func (s *InterfacesTestSuite) TestInterface() { MaxConcurrentActivityTaskPollers: 4, MaxConcurrentDecisionTaskPollers: 4, Logger: zaptest.NewLogger(s.T()), - Tracer: opentracing.NoopTracer{}}, + }, } domainStatus := m.DomainStatusRegistered @@ -216,7 +216,7 @@ func (s *InterfacesTestSuite) TestInterface() { MaxConcurrentActivityTaskPollers: 10, MaxConcurrentDecisionTaskPollers: 10, Logger: zaptest.NewLogger(s.T()), - Tracer: opentracing.NoopTracer{}}, + } } // Register activity instances and launch the worker. diff --git a/internal/internal_worker_test.go b/internal/internal_worker_test.go index 7b6092c35..49981b36c 100644 --- a/internal/internal_worker_test.go +++ b/internal/internal_worker_test.go @@ -1142,8 +1142,8 @@ func TestWorkerOptionNonDefaults(t *testing.T) { DataConverter: &defaultDataConverter{}, BackgroundActivityContext: context.Background(), Logger: zap.NewNop(), - MetricsScope: tally.NoopScope, - Tracer: opentracing.NoopTracer{}, + MetricsScope: tally.NewTestScope("", nil), + Tracer: opentracing.GlobalTracer(), } aggWorker, err := newAggregatedWorker(nil, domain, taskList, options) From 7ea134ad4be82c9a321eb1ffc5bed170c117d91a Mon Sep 17 00:00:00 2001 From: Ilya Ozherelyev Date: Thu, 31 Oct 2024 11:43:35 +0100 Subject: [PATCH 6/6] fix --- internal/internal_worker_interfaces_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/internal_worker_interfaces_test.go b/internal/internal_worker_interfaces_test.go index e4b0bd608..99e444a70 100644 --- a/internal/internal_worker_interfaces_test.go +++ b/internal/internal_worker_interfaces_test.go @@ -28,7 +28,6 @@ import ( "time" "github.com/golang/mock/gomock" - "github.com/opentracing/opentracing-go" "github.com/stretchr/testify/suite" "go.uber.org/zap/zaptest" @@ -216,7 +215,7 @@ func (s *InterfacesTestSuite) TestInterface() { MaxConcurrentActivityTaskPollers: 10, MaxConcurrentDecisionTaskPollers: 10, Logger: zaptest.NewLogger(s.T()), - } + }, } // Register activity instances and launch the worker.