From 846d6acb3cb5e71d25fe0673b3a3fedb23885c36 Mon Sep 17 00:00:00 2001 From: rodrigozhou Date: Wed, 3 Jun 2026 22:34:35 -0700 Subject: [PATCH] Change VisibilityRow execution duration type to int64 --- .../sql/sqlplugin/tests/visibility.go | 29 +++++++++++-------- .../persistence/sql/sqlplugin/visibility.go | 2 +- .../visibility/store/sql/visibility_store.go | 4 +-- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/common/persistence/sql/sqlplugin/tests/visibility.go b/common/persistence/sql/sqlplugin/tests/visibility.go index 379e9f84ebc..064d566be8b 100644 --- a/common/persistence/sql/sqlplugin/tests/visibility.go +++ b/common/persistence/sql/sqlplugin/tests/visibility.go @@ -1341,19 +1341,24 @@ func (s *visibilitySuite) newRandomVisibilityRow( historyLength *int64, ) sqlplugin.VisibilityRow { s.version++ + var executionDuration *int64 + if closeTime != nil { + executionDuration = new(closeTime.Sub(executionTime).Nanoseconds()) + } return sqlplugin.VisibilityRow{ - NamespaceID: namespaceID.String(), - RunID: runID.String(), - WorkflowTypeName: workflowTypeName, - WorkflowID: workflowID, - StartTime: startTime, - ExecutionTime: executionTime, - Status: status, - CloseTime: closeTime, - HistoryLength: historyLength, - Memo: shuffle.Bytes(testVisibilityData), - Encoding: testVisibilityEncoding, - Version: s.version, + NamespaceID: namespaceID.String(), + RunID: runID.String(), + WorkflowTypeName: workflowTypeName, + WorkflowID: workflowID, + StartTime: startTime, + ExecutionTime: executionTime, + Status: status, + CloseTime: closeTime, + HistoryLength: historyLength, + ExecutionDuration: executionDuration, + Memo: shuffle.Bytes(testVisibilityData), + Encoding: testVisibilityEncoding, + Version: s.version, } } diff --git a/common/persistence/sql/sqlplugin/visibility.go b/common/persistence/sql/sqlplugin/visibility.go index 0eef18497e0..5effedc5f8d 100644 --- a/common/persistence/sql/sqlplugin/visibility.go +++ b/common/persistence/sql/sqlplugin/visibility.go @@ -39,7 +39,7 @@ type ( CloseTime *time.Time HistoryLength *int64 HistorySizeBytes *int64 - ExecutionDuration *time.Duration + ExecutionDuration *int64 StateTransitionCount *int64 Memo []byte Encoding string diff --git a/common/persistence/visibility/store/sql/visibility_store.go b/common/persistence/visibility/store/sql/visibility_store.go index 26af6189c95..7f85323a3de 100644 --- a/common/persistence/visibility/store/sql/visibility_store.go +++ b/common/persistence/visibility/store/sql/visibility_store.go @@ -136,7 +136,7 @@ func (s *VisibilityStore) RecordWorkflowExecutionClosed( row.CloseTime = &request.CloseTime row.HistoryLength = &request.HistoryLength row.HistorySizeBytes = &request.HistorySizeBytes - row.ExecutionDuration = &request.ExecutionDuration + row.ExecutionDuration = new(request.ExecutionDuration.Nanoseconds()) row.StateTransitionCount = &request.StateTransitionCount result, err := s.sqlStore.DB.ReplaceIntoVisibility(ctx, row) @@ -852,7 +852,7 @@ func (s *VisibilityStore) rowToInfo( info.CloseTime = *row.CloseTime } if row.ExecutionDuration != nil { - info.ExecutionDuration = *row.ExecutionDuration + info.ExecutionDuration = time.Duration(*row.ExecutionDuration) } if row.HistoryLength != nil { info.HistoryLength = *row.HistoryLength