Atlas › Test

DeleteDLQTasks

Exact test identity: go.temporal.io/server/common/persistence/tests/TestSQLiteQueueV2/Generic/HistoryTaskQueueManagerImpl/ClientTest/DeleteDLQTasks

Package
go.temporal.io/server/common/persistence/tests
Suite / test hierarchy
TestSQLiteQueueV2/Generic/HistoryTaskQueueManagerImpl/ClientTest/DeleteDLQTasks
Test
DeleteDLQTasks
Introduced at
DeleteDLQTasks Frontier kind: Test frontier
Covered ranges
907
Covered lines
4649
Covered files
189

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/common/dynamicconfig/setting_gen.go 256 covered LOC · 53 ranges

Open complete file

26 type GlobalBoolConstrainedDefaultSetting = GlobalTypedConstrainedDefaultSetting[bool]
27
28 > func NewGlobalBoolSetting(key string, def bool, description string) GlobalBoolSetting { setting_gen.go
29 > return NewGlobalTypedSettingWithConverter[bool](key, convertBool, def, description)
30 > }
31
32 func NewGlobalBoolSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[bool], description string) GlobalBoolConstrainedDefaultSetting {
43 type NamespaceBoolConstrainedDefaultSetting = NamespaceTypedConstrainedDefaultSetting[bool]
44
45 > func NewNamespaceBoolSetting(key string, def bool, description string) NamespaceBoolSetting { setting_gen.go
46 > return NewNamespaceTypedSettingWithConverter[bool](key, convertBool, def, description)
47 > }
48
49 func NewNamespaceBoolSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[bool], description string) NamespaceBoolConstrainedDefaultSetting {
60 type NamespaceIDBoolConstrainedDefaultSetting = NamespaceIDTypedConstrainedDefaultSetting[bool]
61
62 > func NewNamespaceIDBoolSetting(key string, def bool, description string) NamespaceIDBoolSetting { setting_gen.go
63 > return NewNamespaceIDTypedSettingWithConverter[bool](key, convertBool, def, description)
64 > }
65
66 func NewNamespaceIDBoolSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[bool], description string) NamespaceIDBoolConstrainedDefaultSetting {
77 type TaskQueueBoolConstrainedDefaultSetting = TaskQueueTypedConstrainedDefaultSetting[bool]
78
79 > func NewTaskQueueBoolSetting(key string, def bool, description string) TaskQueueBoolSetting { setting_gen.go
80 > return NewTaskQueueTypedSettingWithConverter[bool](key, convertBool, def, description)
81 > }
82
83 func NewTaskQueueBoolSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[bool], description string) TaskQueueBoolConstrainedDefaultSetting {
128 type DestinationBoolConstrainedDefaultSetting = DestinationTypedConstrainedDefaultSetting[bool]
129
130 > func NewDestinationBoolSetting(key string, def bool, description string) DestinationBoolSetting { setting_gen.go
131 > return NewDestinationTypedSettingWithConverter[bool](key, convertBool, def, description)
132 > }
133
134 func NewDestinationBoolSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[bool], description string) DestinationBoolConstrainedDefaultSetting {
162 type GlobalIntConstrainedDefaultSetting = GlobalTypedConstrainedDefaultSetting[int]
163
164 > func NewGlobalIntSetting(key string, def int, description string) GlobalIntSetting { setting_gen.go
165 > return NewGlobalTypedSettingWithConverter[int](key, convertInt, def, description)
166 > }
167
168 func NewGlobalIntSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[int], description string) GlobalIntConstrainedDefaultSetting {
179 type NamespaceIntConstrainedDefaultSetting = NamespaceTypedConstrainedDefaultSetting[int]
180
181 > func NewNamespaceIntSetting(key string, def int, description string) NamespaceIntSetting { setting_gen.go
182 > return NewNamespaceTypedSettingWithConverter[int](key, convertInt, def, description)
183 > }
184
185 func NewNamespaceIntSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[int], description string) NamespaceIntConstrainedDefaultSetting {
189 type IntPropertyFnWithNamespaceFilter = TypedPropertyFnWithNamespaceFilter[int]
190
191 > func GetIntPropertyFnFilteredByNamespace(value int) IntPropertyFnWithNamespaceFilter { setting_gen.go
192 > return GetTypedPropertyFnFilteredByNamespace(value)
193 > }
194
195 type NamespaceIDIntSetting = NamespaceIDTypedSetting[int]
213 type TaskQueueIntConstrainedDefaultSetting = TaskQueueTypedConstrainedDefaultSetting[int]
214
215 > func NewTaskQueueIntSetting(key string, def int, description string) TaskQueueIntSetting { setting_gen.go
216 > return NewTaskQueueTypedSettingWithConverter[int](key, convertInt, def, description)
217 > }
218
219 > func NewTaskQueueIntSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[int], description string) TaskQueueIntConstrainedDefaultSetting { setting_gen.go
220 > return NewTaskQueueTypedSettingWithConstrainedDefault[int](key, convertInt, cdef, description)
221 > }
222
223 type IntPropertyFnWithTaskQueueFilter = TypedPropertyFnWithTaskQueueFilter[int]
230 type ShardIDIntConstrainedDefaultSetting = ShardIDTypedConstrainedDefaultSetting[int]
231
232 > func NewShardIDIntSetting(key string, def int, description string) ShardIDIntSetting { setting_gen.go
233 > return NewShardIDTypedSettingWithConverter[int](key, convertInt, def, description)
234 > }
235
236 func NewShardIDIntSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[int], description string) ShardIDIntConstrainedDefaultSetting {
264 type DestinationIntConstrainedDefaultSetting = DestinationTypedConstrainedDefaultSetting[int]
265
266 > func NewDestinationIntSetting(key string, def int, description string) DestinationIntSetting { setting_gen.go
267 > return NewDestinationTypedSettingWithConverter[int](key, convertInt, def, description)
268 > }
269
270 func NewDestinationIntSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[int], description string) DestinationIntConstrainedDefaultSetting {
298 type GlobalFloatConstrainedDefaultSetting = GlobalTypedConstrainedDefaultSetting[float64]
299
300 > func NewGlobalFloatSetting(key string, def float64, description string) GlobalFloatSetting { setting_gen.go
301 > return NewGlobalTypedSettingWithConverter[float64](key, convertFloat, def, description)
302 > }
303
304 func NewGlobalFloatSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[float64], description string) GlobalFloatConstrainedDefaultSetting {
315 type NamespaceFloatConstrainedDefaultSetting = NamespaceTypedConstrainedDefaultSetting[float64]
316
317 > func NewNamespaceFloatSetting(key string, def float64, description string) NamespaceFloatSetting { setting_gen.go
318 > return NewNamespaceTypedSettingWithConverter[float64](key, convertFloat, def, description)
319 > }
320
321 func NewNamespaceFloatSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[float64], description string) NamespaceFloatConstrainedDefaultSetting {
349 type TaskQueueFloatConstrainedDefaultSetting = TaskQueueTypedConstrainedDefaultSetting[float64]
350
351 > func NewTaskQueueFloatSetting(key string, def float64, description string) TaskQueueFloatSetting { setting_gen.go
352 > return NewTaskQueueTypedSettingWithConverter[float64](key, convertFloat, def, description)
353 > }
354
355 func NewTaskQueueFloatSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[float64], description string) TaskQueueFloatConstrainedDefaultSetting {
366 type ShardIDFloatConstrainedDefaultSetting = ShardIDTypedConstrainedDefaultSetting[float64]
367
368 > func NewShardIDFloatSetting(key string, def float64, description string) ShardIDFloatSetting { setting_gen.go
369 > return NewShardIDTypedSettingWithConverter[float64](key, convertFloat, def, description)
370 > }
371
372 func NewShardIDFloatSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[float64], description string) ShardIDFloatConstrainedDefaultSetting {
400 type DestinationFloatConstrainedDefaultSetting = DestinationTypedConstrainedDefaultSetting[float64]
401
402 > func NewDestinationFloatSetting(key string, def float64, description string) DestinationFloatSetting { setting_gen.go
403 > return NewDestinationTypedSettingWithConverter[float64](key, convertFloat, def, description)
404 > }
405
406 func NewDestinationFloatSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[float64], description string) DestinationFloatConstrainedDefaultSetting {
434 type GlobalStringConstrainedDefaultSetting = GlobalTypedConstrainedDefaultSetting[string]
435
436 > func NewGlobalStringSetting(key string, def string, description string) GlobalStringSetting { setting_gen.go
437 > return NewGlobalTypedSettingWithConverter[string](key, convertString, def, description)
438 > }
439
440 func NewGlobalStringSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[string], description string) GlobalStringConstrainedDefaultSetting {
570 type GlobalDurationConstrainedDefaultSetting = GlobalTypedConstrainedDefaultSetting[time.Duration]
571
572 > func NewGlobalDurationSetting(key string, def time.Duration, description string) GlobalDurationSetting { setting_gen.go
573 > return NewGlobalTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
574 > }
575
576 func NewGlobalDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) GlobalDurationConstrainedDefaultSetting {
587 type NamespaceDurationConstrainedDefaultSetting = NamespaceTypedConstrainedDefaultSetting[time.Duration]
588
589 > func NewNamespaceDurationSetting(key string, def time.Duration, description string) NamespaceDurationSetting { setting_gen.go
590 > return NewNamespaceTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
591 > }
592
593 func NewNamespaceDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) NamespaceDurationConstrainedDefaultSetting {
604 type NamespaceIDDurationConstrainedDefaultSetting = NamespaceIDTypedConstrainedDefaultSetting[time.Duration]
605
606 > func NewNamespaceIDDurationSetting(key string, def time.Duration, description string) NamespaceIDDurationSetting { setting_gen.go
607 > return NewNamespaceIDTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
608 > }
609
610 func NewNamespaceIDDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) NamespaceIDDurationConstrainedDefaultSetting {
621 type TaskQueueDurationConstrainedDefaultSetting = TaskQueueTypedConstrainedDefaultSetting[time.Duration]
622
623 > func NewTaskQueueDurationSetting(key string, def time.Duration, description string) TaskQueueDurationSetting { setting_gen.go
624 > return NewTaskQueueTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
625 > }
626
627 > func NewTaskQueueDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) TaskQueueDurationConstrainedDefaultSetting { setting_gen.go
628 > return NewTaskQueueTypedSettingWithConstrainedDefault[time.Duration](key, convertDuration, cdef, description)
629 > }
630
631 type DurationPropertyFnWithTaskQueueFilter = TypedPropertyFnWithTaskQueueFilter[time.Duration]
638 type ShardIDDurationConstrainedDefaultSetting = ShardIDTypedConstrainedDefaultSetting[time.Duration]
639
640 > func NewShardIDDurationSetting(key string, def time.Duration, description string) ShardIDDurationSetting { setting_gen.go
641 > return NewShardIDTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
642 > }
643
644 func NewShardIDDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) ShardIDDurationConstrainedDefaultSetting {
655 type TaskTypeDurationConstrainedDefaultSetting = TaskTypeTypedConstrainedDefaultSetting[time.Duration]
656
657 > func NewTaskTypeDurationSetting(key string, def time.Duration, description string) TaskTypeDurationSetting { setting_gen.go
658 > return NewTaskTypeTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
659 > }
660
661 func NewTaskTypeDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) TaskTypeDurationConstrainedDefaultSetting {
672 type DestinationDurationConstrainedDefaultSetting = DestinationTypedConstrainedDefaultSetting[time.Duration]
673
674 > func NewDestinationDurationSetting(key string, def time.Duration, description string) DestinationDurationSetting { setting_gen.go
675 > return NewDestinationTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
676 > }
677
678 func NewDestinationDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) DestinationDurationConstrainedDefaultSetting {
689 type ChasmTaskTypeDurationConstrainedDefaultSetting = ChasmTaskTypeTypedConstrainedDefaultSetting[time.Duration]
690
691 > func NewChasmTaskTypeDurationSetting(key string, def time.Duration, description string) ChasmTaskTypeDurationSetting { setting_gen.go
692 > return NewChasmTaskTypeTypedSettingWithConverter[time.Duration](key, convertDuration, def, description)
693 > }
694
695 func NewChasmTaskTypeDurationSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[time.Duration], description string) ChasmTaskTypeDurationConstrainedDefaultSetting {
723 type NamespaceMapConstrainedDefaultSetting = NamespaceTypedConstrainedDefaultSetting[map[string]any]
724
725 > func NewNamespaceMapSetting(key string, def map[string]any, description string) NamespaceMapSetting { setting_gen.go
726 > return NewNamespaceTypedSettingWithConverter[map[string]any](key, convertMap, def, description)
727 > }
728
729 func NewNamespaceMapSettingWithConstrainedDefault(key string, cdef []TypedConstrainedValue[map[string]any], description string) NamespaceMapConstrainedDefaultSetting {
845 // values. The value from dynamic config will be _merged_ over a deep copy of 'def'. Be very careful
846 // when using non-empty maps or slices as defaults, the result may not be what you want.
847 > func NewGlobalTypedSetting[T any](key string, def T, description string) GlobalTypedSetting[T] { setting_gen.go
848 > // Warn on any shared structure used with ConvertStructure, even though we handle it by deep copying.
849 > warnDefaultSharedStructure(key, def)
850 > // If even deep copy won't even work, we should panic early. Do that by calling deep copy once here.
851 > _ = deepCopyForMapstructure(def)
852 >
853 > s := GlobalTypedSetting[T]{
854 > key: MakeKey(key),
855 > def: def,
856 > convert: ConvertStructure[T](def),
857 > description: description,
858 > }
859 > register(s)
860 > return s
861 > }
862
863 // NewGlobalTypedSettingWithConverter creates a setting with a custom converter function.
864 > func NewGlobalTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) GlobalTypedSetting[T] { setting_gen.go
865 > s := GlobalTypedSetting[T]{
866 > key: MakeKey(key),
867 > def: def,
868 > convert: convert,
869 > description: description,
870 > }
871 > register(s)
872 > return s
873 > }
874
875 // NewGlobalTypedSettingWithConstrainedDefault creates a setting with a compound default value.
885 }
886
887 > func (s GlobalTypedSetting[T]) Key() Key { return s.key } setting_gen.go
888 func (s GlobalTypedSetting[T]) Precedence() Precedence { return PrecedenceGlobal }
889 func (s GlobalTypedSetting[T]) Validate(v any) error {
907 type TypedPropertyFn[T any] func() T
908
909 > func (s GlobalTypedSetting[T]) Get(c *Collection) TypedPropertyFn[T] { setting_gen.go
910 > return func() T {
911 > prec := []Constraints{{}} setting_gen.go
912 > return matchAndConvert(
913 > c,
914 > s.key,
915 > s.def,
916 > s.convert,
917 > prec,
918 > )
919 > }
920 }
921
981 // values. The value from dynamic config will be _merged_ over a deep copy of 'def'. Be very careful
982 // when using non-empty maps or slices as defaults, the result may not be what you want.
983 > func NewNamespaceTypedSetting[T any](key string, def T, description string) NamespaceTypedSetting[T] { setting_gen.go
984 > // Warn on any shared structure used with ConvertStructure, even though we handle it by deep copying.
985 > warnDefaultSharedStructure(key, def)
986 > // If even deep copy won't even work, we should panic early. Do that by calling deep copy once here.
987 > _ = deepCopyForMapstructure(def)
988 >
989 > s := NamespaceTypedSetting[T]{
990 > key: MakeKey(key),
991 > def: def,
992 > convert: ConvertStructure[T](def),
993 > description: description,
994 > }
995 > register(s)
996 > return s
997 > }
998
999 // NewNamespaceTypedSettingWithConverter creates a setting with a custom converter function.
1000 > func NewNamespaceTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) NamespaceTypedSetting[T] { setting_gen.go
1001 > s := NamespaceTypedSetting[T]{
1002 > key: MakeKey(key),
1003 > def: def,
1004 > convert: convert,
1005 > description: description,
1006 > }
1007 > register(s)
1008 > return s
1009 > }
1010
1011 // NewNamespaceTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1021 }
1022
1023 > func (s NamespaceTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1024 func (s NamespaceTypedSetting[T]) Precedence() Precedence { return PrecedenceNamespace }
1025 func (s NamespaceTypedSetting[T]) Validate(v any) error {
1105 }
1106
1107 > func GetTypedPropertyFnFilteredByNamespace[T any](value T) TypedPropertyFnWithNamespaceFilter[T] { setting_gen.go
1108 > return func(namespace string) T {
1109 return value
1110 }
1134
1135 // NewNamespaceIDTypedSettingWithConverter creates a setting with a custom converter function.
1136 > func NewNamespaceIDTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) NamespaceIDTypedSetting[T] { setting_gen.go
1137 > s := NamespaceIDTypedSetting[T]{
1138 > key: MakeKey(key),
1139 > def: def,
1140 > convert: convert,
1141 > description: description,
1142 > }
1143 > register(s)
1144 > return s
1145 > }
1146
1147 // NewNamespaceIDTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1157 }
1158
1159 > func (s NamespaceIDTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1160 func (s NamespaceIDTypedSetting[T]) Precedence() Precedence { return PrecedenceNamespaceID }
1161 func (s NamespaceIDTypedSetting[T]) Validate(v any) error {
1253 // values. The value from dynamic config will be _merged_ over a deep copy of 'def'. Be very careful
1254 // when using non-empty maps or slices as defaults, the result may not be what you want.
1255 > func NewTaskQueueTypedSetting[T any](key string, def T, description string) TaskQueueTypedSetting[T] { setting_gen.go
1256 > // Warn on any shared structure used with ConvertStructure, even though we handle it by deep copying.
1257 > warnDefaultSharedStructure(key, def)
1258 > // If even deep copy won't even work, we should panic early. Do that by calling deep copy once here.
1259 > _ = deepCopyForMapstructure(def)
1260 >
1261 > s := TaskQueueTypedSetting[T]{
1262 > key: MakeKey(key),
1263 > def: def,
1264 > convert: ConvertStructure[T](def),
1265 > description: description,
1266 > }
1267 > register(s)
1268 > return s
1269 > }
1270
1271 // NewTaskQueueTypedSettingWithConverter creates a setting with a custom converter function.
1272 > func NewTaskQueueTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) TaskQueueTypedSetting[T] { setting_gen.go
1273 > s := TaskQueueTypedSetting[T]{
1274 > key: MakeKey(key),
1275 > def: def,
1276 > convert: convert,
1277 > description: description,
1278 > }
1279 > register(s)
1280 > return s
1281 > }
1282
1283 // NewTaskQueueTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1284 > func NewTaskQueueTypedSettingWithConstrainedDefault[T any](key string, convert func(any) (T, error), cdef []TypedConstrainedValue[T], description string) TaskQueueTypedConstrainedDefaultSetting[T] { setting_gen.go
1285 > s := TaskQueueTypedConstrainedDefaultSetting[T]{
1286 > key: MakeKey(key),
1287 > cdef: cdef,
1288 > convert: convert,
1289 > description: description,
1290 > }
1291 > register(s)
1292 > return s
1293 > }
1294
1295 > func (s TaskQueueTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1296 func (s TaskQueueTypedSetting[T]) Precedence() Precedence { return PrecedenceTaskQueue }
1297 func (s TaskQueueTypedSetting[T]) Validate(v any) error {
1300 }
1301
1302 > func (s TaskQueueTypedConstrainedDefaultSetting[T]) Key() Key { return s.key } setting_gen.go
1303 func (s TaskQueueTypedConstrainedDefaultSetting[T]) Precedence() Precedence { return PrecedenceTaskQueue }
1304 func (s TaskQueueTypedConstrainedDefaultSetting[T]) Validate(v any) error {
1430
1431 // NewShardIDTypedSettingWithConverter creates a setting with a custom converter function.
1432 > func NewShardIDTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) ShardIDTypedSetting[T] { setting_gen.go
1433 > s := ShardIDTypedSetting[T]{
1434 > key: MakeKey(key),
1435 > def: def,
1436 > convert: convert,
1437 > description: description,
1438 > }
1439 > register(s)
1440 > return s
1441 > }
1442
1443 // NewShardIDTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1453 }
1454
1455 > func (s ShardIDTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1456 func (s ShardIDTypedSetting[T]) Precedence() Precedence { return PrecedenceShardID }
1457 func (s ShardIDTypedSetting[T]) Validate(v any) error {
1566
1567 // NewTaskTypeTypedSettingWithConverter creates a setting with a custom converter function.
1568 > func NewTaskTypeTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) TaskTypeTypedSetting[T] { setting_gen.go
1569 > s := TaskTypeTypedSetting[T]{
1570 > key: MakeKey(key),
1571 > def: def,
1572 > convert: convert,
1573 > description: description,
1574 > }
1575 > register(s)
1576 > return s
1577 > }
1578
1579 // NewTaskTypeTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1589 }
1590
1591 > func (s TaskTypeTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1592 func (s TaskTypeTypedSetting[T]) Precedence() Precedence { return PrecedenceTaskType }
1593 func (s TaskTypeTypedSetting[T]) Validate(v any) error {
1685 // values. The value from dynamic config will be _merged_ over a deep copy of 'def'. Be very careful
1686 // when using non-empty maps or slices as defaults, the result may not be what you want.
1687 > func NewDestinationTypedSetting[T any](key string, def T, description string) DestinationTypedSetting[T] { setting_gen.go
1688 > // Warn on any shared structure used with ConvertStructure, even though we handle it by deep copying.
1689 > warnDefaultSharedStructure(key, def)
1690 > // If even deep copy won't even work, we should panic early. Do that by calling deep copy once here.
1691 > _ = deepCopyForMapstructure(def)
1692 >
1693 > s := DestinationTypedSetting[T]{
1694 > key: MakeKey(key),
1695 > def: def,
1696 > convert: ConvertStructure[T](def),
1697 > description: description,
1698 > }
1699 > register(s)
1700 > return s
1701 > }
1702
1703 // NewDestinationTypedSettingWithConverter creates a setting with a custom converter function.
1704 > func NewDestinationTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) DestinationTypedSetting[T] { setting_gen.go
1705 > s := DestinationTypedSetting[T]{
1706 > key: MakeKey(key),
1707 > def: def,
1708 > convert: convert,
1709 > description: description,
1710 > }
1711 > register(s)
1712 > return s
1713 > }
1714
1715 // NewDestinationTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1725 }
1726
1727 > func (s DestinationTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1728 func (s DestinationTypedSetting[T]) Precedence() Precedence { return PrecedenceDestination }
1729 func (s DestinationTypedSetting[T]) Validate(v any) error {
1858
1859 // NewChasmTaskTypeTypedSettingWithConverter creates a setting with a custom converter function.
1860 > func NewChasmTaskTypeTypedSettingWithConverter[T any](key string, convert func(any) (T, error), def T, description string) ChasmTaskTypeTypedSetting[T] { setting_gen.go
1861 > s := ChasmTaskTypeTypedSetting[T]{
1862 > key: MakeKey(key),
1863 > def: def,
1864 > convert: convert,
1865 > description: description,
1866 > }
1867 > register(s)
1868 > return s
1869 > }
1870
1871 // NewChasmTaskTypeTypedSettingWithConstrainedDefault creates a setting with a compound default value.
1881 }
1882
1883 > func (s ChasmTaskTypeTypedSetting[T]) Key() Key { return s.key } setting_gen.go
1884 func (s ChasmTaskTypeTypedSetting[T]) Precedence() Precedence { return PrecedenceChasmTaskType }
1885 func (s ChasmTaskTypeTypedSetting[T]) Validate(v any) error {
go.temporal.io/server/common/persistence/sql/queue_v2.go 170 covered LOC · 43 ranges

Open complete file

37 logger log.Logger,
38 serializer serialization.Serializer,
39 > ) persistence.QueueV2 { queue_v2.go
40 > return &queueV2{
41 > SqlStore: NewSQLStore(db, logger, serializer),
42 > }
43 > }
44
45 func (q *queueV2) EnqueueMessage(
46 ctx context.Context,
47 request *persistence.InternalEnqueueMessageRequest,
48 > ) (*persistence.InternalEnqueueMessageResponse, error) { queue_v2.go
49 >
50 > _, err := q.getQueueMetadata(ctx, q.DB, request.QueueType, request.QueueName)
51 > if err != nil {
52 return nil, err
53 }
54 > tx, err := q.DB.BeginTx(ctx) queue_v2.go
55 > if err != nil {
56 return nil, serviceerror.NewUnavailablef(
57 "EnqueueMessage failed for queue with type: %v and name: %v. BeginTx operation failed. Error: %v",
61 )
62 }
63 > lastMessageID, ok, err := q.getMaxMessageID(ctx, request.QueueType, request.QueueName, tx) queue_v2.go
64 > if err != nil {
65 rollBackErr := tx.Rollback()
66 if rollBackErr != nil {
74 )
75 }
76 > nextMessageID := int64(persistence.FirstQueueMessageID) queue_v2.go
77 > if ok {
78 > nextMessageID = lastMessageID + 1 queue_v2.go
79 > }
80 > _, err = tx.InsertIntoQueueV2Messages(ctx, []sqlplugin.QueueV2MessageRow{ queue_v2.go
81 > newQueueV2Row(request.QueueType, request.QueueName, nextMessageID, request.Blob),
82 > })
83 > if err != nil {
84 rollBackErr := tx.Rollback()
85 if rollBackErr != nil {
94 }
95
96 > if err := tx.Commit(); err != nil { queue_v2.go
97 return nil, serviceerror.NewUnavailablef(
98 "EnqueueMessage failed for queue with type: %v and name: %v. commit operation failed. Error: %v",
102 )
103 }
104 > return &persistence.InternalEnqueueMessageResponse{Metadata: persistence.MessageMetadata{ID: nextMessageID}}, err queue_v2.go
105 }
106
108 ctx context.Context,
109 request *persistence.InternalReadMessagesRequest,
110 > ) (*persistence.InternalReadMessagesResponse, error) { queue_v2.go
111 >
112 > if request.PageSize <= 0 {
113 return nil, persistence.ErrNonPositiveReadQueueMessagesPageSize
114 }
115 > qm, err := q.getQueueMetadata(ctx, q.DB, request.QueueType, request.QueueName) queue_v2.go
116 > if err != nil {
117 return nil, err
118 }
119 > minMessageID, err := persistence.GetMinMessageIDToReadForQueueV2( queue_v2.go
120 > request.QueueType,
121 > request.QueueName,
122 > request.NextPageToken,
123 > qm,
124 > )
125 > if err != nil {
126 return nil, err
127 }
128 > rows, err := q.DB.RangeSelectFromQueueV2Messages(ctx, sqlplugin.QueueV2MessagesFilter{ queue_v2.go
129 > QueueType: request.QueueType,
130 > QueueName: request.QueueName,
131 > Partition: defaultPartition,
132 > MinMessageID: minMessageID,
133 > PageSize: request.PageSize,
134 > })
135 > if err != nil {
136 return nil, serviceerror.NewUnavailablef(
137 "ReadMessages failed for queue with type: %v and name: %v. RangeSelectFromQueueV2Messages operation failed. Error: %v",
141 )
142 }
143 > var messages []persistence.QueueV2Message queue_v2.go
144 > for _, row := range rows {
145 > encoding, err := enumspb.EncodingTypeFromString(row.MessageEncoding) queue_v2.go
146 > if err != nil {
147 return nil, serialization.NewUnknownEncodingTypeError(row.MessageEncoding)
148 }
149 > encodingType := enumspb.EncodingType(encoding) queue_v2.go
150 > message := persistence.QueueV2Message{
151 > MetaData: persistence.MessageMetadata{ID: row.MessageID},
152 > Data: &commonpb.DataBlob{
153 > EncodingType: encodingType,
154 > Data: row.MessagePayload,
155 > },
156 > }
157 > messages = append(messages, message)
158 }
159 > nextPageToken := persistence.GetNextPageTokenForReadMessages(messages) queue_v2.go
160 > response := &persistence.InternalReadMessagesResponse{
161 > Messages: messages,
162 > NextPageToken: nextPageToken,
163 > }
164 > return response, nil
165 }
166
170 messageID int64,
171 blob *commonpb.DataBlob,
172 > ) sqlplugin.QueueV2MessageRow { queue_v2.go
173 >
174 > return sqlplugin.QueueV2MessageRow{
175 > QueueType: queueType,
176 > QueueName: queueName,
177 > QueuePartition: defaultPartition,
178 > MessageID: messageID,
179 > MessagePayload: blob.Data,
180 > MessageEncoding: blob.EncodingType.String(),
181 > }
182 > }
183
184 func (q *queueV2) CreateQueue(
185 ctx context.Context,
186 request *persistence.InternalCreateQueueRequest,
187 > ) (*persistence.InternalCreateQueueResponse, error) { queue_v2.go
188 > payload := persistencespb.Queue{
189 > Partitions: map[int32]*persistencespb.QueuePartition{
190 > defaultPartition: {
191 > MinMessageId: persistence.FirstQueueMessageID,
192 > },
193 > },
194 > }
195 > bytes, _ := payload.Marshal()
196 > row := sqlplugin.QueueV2MetadataRow{
197 > QueueType: request.QueueType,
198 > QueueName: request.QueueName,
199 > MetadataPayload: bytes,
200 > MetadataEncoding: enumspb.ENCODING_TYPE_PROTO3.String(),
201 > }
202 > _, err := q.DB.InsertIntoQueueV2Metadata(ctx, &row)
203 > if q.DB.IsDupEntryError(err) {
204 return nil, fmt.Errorf(
205 "%w: queue type %v and name %v",
209 )
210 }
211 > if err != nil { queue_v2.go
212 return nil, serviceerror.NewUnavailablef(
213 "CreateQueue failed for queue with type: %v and name: %v. InsertIntoQueueV2Metadata operation failed. Error: %v",
217 )
218 }
219 > return &persistence.InternalCreateQueueResponse{}, nil queue_v2.go
220 }
221
223 ctx context.Context,
224 request *persistence.InternalRangeDeleteMessagesRequest,
225 > ) (*persistence.InternalRangeDeleteMessagesResponse, error) { queue_v2.go
226 > if request.InclusiveMaxMessageMetadata.ID < persistence.FirstQueueMessageID {
227 return nil, fmt.Errorf(
228 "%w: id is %d but must be >= %d",
232 )
233 }
234 > var resp *persistence.InternalRangeDeleteMessagesResponse queue_v2.go
235 > err := q.txExecute(ctx, "RangeDeleteMessages", func(tx sqlplugin.Tx) error {
236 > qm, err := q.getQueueMetadata(ctx, tx, request.QueueType, request.QueueName)
237 > if err != nil {
238 return err
239 }
240 > partition, err := persistence.GetPartitionForQueueV2(request.QueueType, request.QueueName, qm) queue_v2.go
241 > if err != nil {
242 return serviceerror.NewUnavailablef(
243 "RangeDeleteMessages failed for queue with type: %v and name: %v. GetPartitionForQueueV2 operation failed. Error: %v",
247 )
248 }
249 > maxMessageID, ok, err := q.getMaxMessageID(ctx, request.QueueType, request.QueueName, tx) queue_v2.go
250 > if err != nil {
251 return serviceerror.NewUnavailablef(
252 "RangeDeleteMessages failed for queue with type: %v and name: %v. failed to get MaxMessageID. Error: %v",
256 )
257 }
258 > if !ok { queue_v2.go
259 return nil
260 }
261 > deleteRange, ok := persistence.GetDeleteRange(persistence.DeleteRequest{ queue_v2.go
262 > LastIDToDeleteInclusive: request.InclusiveMaxMessageMetadata.ID,
263 > ExistingMessageRange: persistence.InclusiveMessageRange{
264 > MinMessageID: partition.MinMessageId,
265 > MaxMessageID: maxMessageID,
266 > },
267 > })
268 > if !ok {
269 resp = &persistence.InternalRangeDeleteMessagesResponse{
270 MessagesDeleted: 0,
272 return nil
273 }
274 > msgFilter := sqlplugin.QueueV2MessagesFilter{ queue_v2.go
275 > QueueType: request.QueueType,
276 > QueueName: request.QueueName,
277 > Partition: defaultPartition,
278 > MinMessageID: deleteRange.MinMessageID,
279 > MaxMessageID: deleteRange.MaxMessageID,
280 > }
281 > _, err = tx.RangeDeleteFromQueueV2Messages(ctx, msgFilter)
282 > if err != nil {
283 return serviceerror.NewUnavailablef(
284 "RangeDeleteMessages failed for queue with type: %v and name: %v. RangeDeleteFromQueueV2Messages operation failed. Error: %v",
288 )
289 }
290 > partition.MinMessageId = deleteRange.NewMinMessageID queue_v2.go
291 > bytes, _ := qm.Marshal()
292 > row := sqlplugin.QueueV2MetadataRow{
293 > QueueType: request.QueueType,
294 > QueueName: request.QueueName,
295 > MetadataPayload: bytes,
296 > MetadataEncoding: enumspb.ENCODING_TYPE_PROTO3.String(),
297 > }
298 > _, err = tx.UpdateQueueV2Metadata(ctx, &row)
299 > if err != nil {
300 return serviceerror.NewUnavailablef(
301 "RangeDeleteMessages failed for queue with type: %v and name: %v. UpdateQueueV2Metadata operation failed. Error: %v",
305 )
306 }
307 > resp = &persistence.InternalRangeDeleteMessagesResponse{ queue_v2.go
308 > MessagesDeleted: deleteRange.MessagesToDelete,
309 > }
310 > return nil
311 })
312 > if err != nil { queue_v2.go
313 return nil, err
314 }
315 > return resp, nil queue_v2.go
316 }
317
321 queueType persistence.QueueV2Type,
322 queueName string,
323 > ) (*persistencespb.Queue, error) { queue_v2.go
324 >
325 > filter := sqlplugin.QueueV2MetadataFilter{
326 > QueueType: queueType,
327 > QueueName: queueName,
328 > }
329 > var (
330 > metadata *sqlplugin.QueueV2MetadataRow
331 > err error
332 > )
333 > switch tc.(type) {
334 > case sqlplugin.Tx: queue_v2.go
335 > metadata, err = tc.SelectFromQueueV2MetadataForUpdate(ctx, filter)
336 > default: queue_v2.go
337 > metadata, err = tc.SelectFromQueueV2Metadata(ctx, filter)
338 }
339 > if err != nil { queue_v2.go
340 if errors.Is(err, sql.ErrNoRows) {
341 return nil, persistence.NewQueueNotFoundError(queueType, queueName)
345 )
346 }
347 > return q.extractQueueMetadata(metadata) queue_v2.go
348 }
349
350 > func (q queueV2) extractQueueMetadata(metadataRow *sqlplugin.QueueV2MetadataRow) (*persistencespb.Queue, error) { queue_v2.go
351 > if metadataRow.MetadataEncoding != enumspb.ENCODING_TYPE_PROTO3.String() {
352 return nil, fmt.Errorf(
353 "queue with type %v and name %v has invalid encoding: %w",
357 )
358 }
359 > qm := &persistencespb.Queue{} queue_v2.go
360 > err := qm.Unmarshal(metadataRow.MetadataPayload)
361 > if err != nil {
362 return nil, serialization.NewDeserializationError(
363 enumspb.ENCODING_TYPE_PROTO3,
368 )
369 }
370 > return qm, nil queue_v2.go
371 }
372
373 > func (q *queueV2) getMaxMessageID(ctx context.Context, queueType persistence.QueueV2Type, queueName string, tc sqlplugin.TableCRUD) (int64, bool, error) { queue_v2.go
374 > lastMessageID, err := tc.GetLastEnqueuedMessageIDForUpdateV2(ctx, sqlplugin.QueueV2Filter{
375 > QueueType: queueType,
376 > QueueName: queueName,
377 > Partition: defaultPartition,
378 > })
379 > switch {
380 > case err == nil: queue_v2.go
381 > return lastMessageID, true, nil
382 > case errors.Is(err, sql.ErrNoRows): queue_v2.go
383 > return 0, false, nil
384 default:
385 return 0, false, err
go.temporal.io/server/chasm/search_attribute.go 102 covered LOC · 15 ranges

Open complete file

136 }
137
138 > func newSearchAttributeFieldBool(index int) SearchAttributeFieldBool { search_attribute.go
139 > return SearchAttributeFieldBool{
140 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_BOOL, index),
141 > }
142 > }
143
144 // SearchAttributeFieldDateTime is a search attribute field for a datetime value.
147 }
148
149 > func newSearchAttributeFieldDateTime(index int) SearchAttributeFieldDateTime { search_attribute.go
150 > return SearchAttributeFieldDateTime{
151 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_DATETIME, index),
152 > }
153 > }
154
155 // SearchAttributeFieldInt is a search attribute field for an integer value.
158 }
159
160 > func newSearchAttributeFieldInt(index int) SearchAttributeFieldInt { search_attribute.go
161 > return SearchAttributeFieldInt{
162 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_INT, index),
163 > }
164 > }
165
166 // SearchAttributeFieldDouble is a search attribute field for a double value.
169 }
170
171 > func newSearchAttributeFieldDouble(index int) SearchAttributeFieldDouble { search_attribute.go
172 > return SearchAttributeFieldDouble{
173 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_DOUBLE, index),
174 > }
175 > }
176
177 // SearchAttributeFieldKeyword is a search attribute field for a keyword value.
180 }
181
182 > func newSearchAttributeFieldKeyword(index int) SearchAttributeFieldKeyword { search_attribute.go
183 > return SearchAttributeFieldKeyword{
184 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_KEYWORD, index),
185 > }
186 > }
187
188 > func newSearchAttributeFieldLowCardinalityKeyword(index int) SearchAttributeFieldKeyword { search_attribute.go
189 > return SearchAttributeFieldKeyword{
190 > field: fmt.Sprintf("%s%s%02d", sadefs.ReservedPrefix, "LowCardinalityKeyword", index),
191 > }
192 > }
193
194 // SearchAttributeFieldKeywordList is a search attribute field for a keyword list value.
197 }
198
199 > func newSearchAttributeFieldKeywordList(index int) SearchAttributeFieldKeywordList { search_attribute.go
200 > return SearchAttributeFieldKeywordList{
201 > field: resolveFieldName(enumspb.INDEXED_VALUE_TYPE_KEYWORD_LIST, index),
202 > }
203 > }
204
205 // SearchAttributeFieldText is a search attribute field for a text value.
214 }
215
216 > func resolveFieldName(valueType enumspb.IndexedValueType, index int) string { search_attribute.go
217 > // Columns are named like TemporalBool01, TemporalDatetime01, TemporalDouble01, TemporalInt01.
218 > return fmt.Sprintf("%s%s%02d", sadefs.ReservedPrefix, valueType.String(), index)
219 > }
220
221 func (s searchAttributeDefinition) definition() searchAttributeDefinition {
239 }
240
241 > func newSearchAttributeBoolByField(field string) SearchAttributeBool { search_attribute.go
242 > return SearchAttributeBool{
243 > searchAttributeDefinition: searchAttributeDefinition{
244 > alias: field,
245 > field: field,
246 > valueType: enumspb.INDEXED_VALUE_TYPE_BOOL,
247 > },
248 > }
249 > }
250
251 // Value sets the boolean value of the search attribute.
266
267 // NewSearchAttributeDateTime creates a new date time search attribute given a predefined chasm field
268 > func NewSearchAttributeDateTime(alias string, datetimeField SearchAttributeFieldDateTime) SearchAttributeDateTime { search_attribute.go
269 > return SearchAttributeDateTime{
270 > searchAttributeDefinition: searchAttributeDefinition{
271 > alias: alias,
272 > field: datetimeField.field,
273 > valueType: enumspb.INDEXED_VALUE_TYPE_DATETIME,
274 > },
275 > }
276 > }
277
278 > func newSearchAttributeDateTimeByField(field string) SearchAttributeDateTime { search_attribute.go
279 > return SearchAttributeDateTime{
280 > searchAttributeDefinition: searchAttributeDefinition{
281 > alias: field,
282 > field: field,
283 > valueType: enumspb.INDEXED_VALUE_TYPE_DATETIME,
284 > },
285 > }
286 > }
287
288 // Value sets the date time value of the search attribute.
303
304 // NewSearchAttributeInt creates a new integer search attribute given a predefined chasm field
305 > func NewSearchAttributeInt(alias string, intField SearchAttributeFieldInt) SearchAttributeInt { search_attribute.go
306 > return SearchAttributeInt{
307 > searchAttributeDefinition: searchAttributeDefinition{
308 > alias: alias,
309 > field: intField.field,
310 > valueType: enumspb.INDEXED_VALUE_TYPE_INT,
311 > },
312 > }
313 > }
314
315 // Value sets the integer value of the search attribute.
367
368 // NewSearchAttributeKeyword creates a new keyword search attribute given a predefined chasm field
369 > func NewSearchAttributeKeyword(alias string, keywordField SearchAttributeFieldKeyword) SearchAttributeKeyword { search_attribute.go
370 > return SearchAttributeKeyword{
371 > searchAttributeDefinition: searchAttributeDefinition{
372 > alias: alias,
373 > field: keywordField.field,
374 > valueType: enumspb.INDEXED_VALUE_TYPE_KEYWORD,
375 > },
376 > }
377 > }
378
379 > func newSearchAttributeKeywordByField(field string) SearchAttributeKeyword { search_attribute.go
380 > return SearchAttributeKeyword{
381 > searchAttributeDefinition: searchAttributeDefinition{
382 > alias: field,
383 > field: field,
384 > valueType: enumspb.INDEXED_VALUE_TYPE_KEYWORD,
385 > },
386 > }
387 > }
388
389 // Value sets the string value of the search attribute.
414 }
415
416 > func newSearchAttributeKeywordListByField(field string) SearchAttributeKeywordList { search_attribute.go
417 > return SearchAttributeKeywordList{
418 > searchAttributeDefinition: searchAttributeDefinition{
419 > alias: field,
420 > field: field,
421 > valueType: enumspb.INDEXED_VALUE_TYPE_KEYWORD_LIST,
422 > },
423 > }
424 > }
425
426 // Value sets the string list value of the search attribute.
go.temporal.io/server/api/historyservice/v1/request_response.pb.go 101 covered LOC · 13 ranges

Open complete file

8247 }
8248
8249 > func (x *GetDLQTasksRequest) Reset() { request_response.pb.go
8250 > *x = GetDLQTasksRequest{}
8251 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[124]
8252 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8253 > ms.StoreMessageInfo(mi)
8254 > }
8255
8256 func (x *GetDLQTasksRequest) String() string {
8260 func (*GetDLQTasksRequest) ProtoMessage() {}
8261
8262 > func (x *GetDLQTasksRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
8263 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[124]
8264 > if x != nil {
8265 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) request_response.pb.go
8266 > if ms.LoadMessageInfo() == nil {
8267 > ms.StoreMessageInfo(mi)
8268 > }
8269 > return ms
8270 }
8271 return mi.MessageOf(x)
8309 }
8310
8311 > func (x *GetDLQTasksResponse) Reset() { request_response.pb.go
8312 > *x = GetDLQTasksResponse{}
8313 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[125]
8314 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8315 > ms.StoreMessageInfo(mi)
8316 > }
8317
8318 func (x *GetDLQTasksResponse) String() string {
8322 func (*GetDLQTasksResponse) ProtoMessage() {}
8323
8324 > func (x *GetDLQTasksResponse) ProtoReflect() protoreflect.Message { request_response.pb.go
8325 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[125]
8326 > if x != nil {
8327 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) request_response.pb.go
8328 > if ms.LoadMessageInfo() == nil {
8329 > ms.StoreMessageInfo(mi)
8330 > }
8331 > return ms
8332 }
8333 return mi.MessageOf(x)
8361 }
8362
8363 > func (x *DeleteDLQTasksRequest) Reset() { request_response.pb.go
8364 > *x = DeleteDLQTasksRequest{}
8365 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[126]
8366 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8367 > ms.StoreMessageInfo(mi)
8368 > }
8369
8370 func (x *DeleteDLQTasksRequest) String() string {
8374 func (*DeleteDLQTasksRequest) ProtoMessage() {}
8375
8376 > func (x *DeleteDLQTasksRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
8377 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[126]
8378 > if x != nil {
8379 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) request_response.pb.go
8380 > if ms.LoadMessageInfo() == nil {
8381 > ms.StoreMessageInfo(mi)
8382 > }
8383 > return ms
8384 }
8385 return mi.MessageOf(x)
8413 }
8414
8415 > func (x *DeleteDLQTasksResponse) Reset() { request_response.pb.go
8416 > *x = DeleteDLQTasksResponse{}
8417 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[127]
8418 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8419 > ms.StoreMessageInfo(mi)
8420 > }
8421
8422 func (x *DeleteDLQTasksResponse) String() string {
8426 func (*DeleteDLQTasksResponse) ProtoMessage() {}
8427
8428 > func (x *DeleteDLQTasksResponse) ProtoReflect() protoreflect.Message { request_response.pb.go
8429 > mi := &file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[127]
8430 > if x != nil {
8431 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) request_response.pb.go
8432 > if ms.LoadMessageInfo() == nil {
8433 > ms.StoreMessageInfo(mi)
8434 > }
8435 > return ms
8436 }
8437 return mi.MessageOf(x)
11956 }
11957
11958 > func init() { file_temporal_server_api_historyservice_v1_request_response_proto_init() } request_response.pb.go
11959 > func file_temporal_server_api_historyservice_v1_request_response_proto_init() {
11960 > if File_temporal_server_api_historyservice_v1_request_response_proto != nil {
11961 > return
11962 > }
11963 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[107].OneofWrappers = []any{
11964 > (*StreamWorkflowReplicationMessagesRequest_SyncReplicationState)(nil),
11965 > }
11966 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[108].OneofWrappers = []any{
11967 > (*StreamWorkflowReplicationMessagesResponse_Messages)(nil),
11968 > }
11969 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[134].OneofWrappers = []any{
11970 > (*CompleteNexusOperationChasmRequest_Success)(nil),
11971 > (*CompleteNexusOperationChasmRequest_Failure)(nil),
11972 > }
11973 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[136].OneofWrappers = []any{
11974 > (*CompleteNexusOperationRequest_Success)(nil),
11975 > (*CompleteNexusOperationRequest_Failure)(nil),
11976 > }
11977 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[162].OneofWrappers = []any{
11978 > (*ExecuteMultiOperationRequest_Operation_StartWorkflow)(nil),
11979 > (*ExecuteMultiOperationRequest_Operation_UpdateWorkflow)(nil),
11980 > }
11981 > file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes[163].OneofWrappers = []any{
11982 > (*ExecuteMultiOperationResponse_Response_StartWorkflow)(nil),
11983 > (*ExecuteMultiOperationResponse_Response_UpdateWorkflow)(nil),
11984 > }
11985 > type x struct{}
11986 > out := protoimpl.TypeBuilder{
11987 > File: protoimpl.DescBuilder{
11988 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
11989 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_historyservice_v1_request_response_proto_rawDesc), len(file_temporal_server_api_historyservice_v1_request_response_proto_rawDesc)),
11990 > NumEnums: 0,
11991 > NumMessages: 171,
11992 > NumExtensions: 1,
11993 > NumServices: 0,
11994 > },
11995 > GoTypes: file_temporal_server_api_historyservice_v1_request_response_proto_goTypes,
11996 > DependencyIndexes: file_temporal_server_api_historyservice_v1_request_response_proto_depIdxs,
11997 > MessageInfos: file_temporal_server_api_historyservice_v1_request_response_proto_msgTypes,
11998 > ExtensionInfos: file_temporal_server_api_historyservice_v1_request_response_proto_extTypes,
11999 > }.Build()
12000 > File_temporal_server_api_historyservice_v1_request_response_proto = out.File
12001 > file_temporal_server_api_historyservice_v1_request_response_proto_goTypes = nil
12002 > file_temporal_server_api_historyservice_v1_request_response_proto_depIdxs = nil
12003 }
go.temporal.io/server/client/history/historytest/clienttest.go 96 covered LOC · 10 ranges

Open complete file

36 }
37
38 > func (f fakeTracerProvider) Tracer(string, ...trace.TracerOption) trace.Tracer { clienttest.go
39 > return nil
40 > }
41
42 var _ trace.TracerProvider = (*fakeTracerProvider)(nil)
47 // 3. Create a client which connects to the server
48 // 4. Use the client to read the tasks
49 > func TestClient(t *testing.T, historyTaskQueueManager persistence.HistoryTaskQueueManager) { clienttest.go
50 > ctrl := gomock.NewController(t)
51 >
52 > listener := nettest.NewListener(nettest.NewPipe())
53 >
54 > serveErrs := make(chan error, 1)
55 > grpcServer := createServer(t, historyTaskQueueManager)
56 > go func() {
57 > serveErrs <- grpcServer.Serve(listener)
58 > }()
59
60 > client := createClient(ctrl, listener) clienttest.go
61 >
62 > t.Run("ReadDLQTasks", func(t *testing.T) {
63 t.Parallel()
64 queueKey := persistencetest.GetQueueKey(t, persistencetest.WithQueueType(persistence.QueueTypeHistoryDLQ))
71 readTasks(t, numTasks, client, queueKey.SourceCluster, queueKey.TargetCluster)
72 })
73 > t.Run("DeleteDLQTasks", func(t *testing.T) { clienttest.go
74 > t.Parallel() clienttest.go
75 > queueKey := persistencetest.GetQueueKey(t, persistencetest.WithQueueType(persistence.QueueTypeHistoryDLQ))
76 > _, err := historyTaskQueueManager.CreateQueue(context.Background(), &persistence.CreateQueueRequest{
77 > QueueKey: queueKey,
78 > })
79 > require.NoError(t, err)
80 > enqueueTasks(t, historyTaskQueueManager, 2, queueKey.SourceCluster, queueKey.TargetCluster)
81 > dlqKey := &commonspb.HistoryDLQKey{
82 > TaskCategory: int32(tasks.CategoryTransfer.ID()),
83 > SourceCluster: queueKey.SourceCluster,
84 > TargetCluster: queueKey.TargetCluster,
85 > }
86 > _, err = client.DeleteDLQTasks(context.Background(), &historyservice.DeleteDLQTasksRequest{
87 > DlqKey: dlqKey,
88 > InclusiveMaxTaskMetadata: &commonspb.HistoryDLQTaskMetadata{
89 > MessageId: persistence.FirstQueueMessageID,
90 > },
91 > })
92 > require.NoError(t, err)
93 > res, err := client.GetDLQTasks(context.Background(), &historyservice.GetDLQTasksRequest{
94 > DlqKey: dlqKey,
95 > PageSize: 10,
96 > })
97 > require.NoError(t, err)
98 > assert.Equal(t, 1, len(res.DlqTasks))
99 > assert.Equal(t, int64(persistence.FirstQueueMessageID+1), res.DlqTasks[0].Metadata.MessageId)
100 > })
101
102 > t.Cleanup(func() { clienttest.go
103 > grpcServer.GracefulStop()
104 > assert.NoError(t, <-serveErrs)
105 > })
106 }
107
136 }
137
138 > func createServer(t *testing.T, historyTaskQueueManager persistence.HistoryTaskQueueManager) *grpc.Server { clienttest.go
139 > // TODO: find a better way to create a history handler
140 > historyHandler, err := historyserver.HandlerProvider(historyserver.NewHandlerArgs{
141 > TaskQueueManager: historyTaskQueueManager,
142 > TracerProvider: fakeTracerProvider{},
143 > TaskCategoryRegistry: tasks.NewDefaultTaskCategoryRegistry(),
144 > ChasmRegistry: chasm.NewRegistry(log.NewNoopLogger()),
145 > }, fxtest.NewLifecycle(t))
146 > if err != nil {
147 panic(err) // nolint:forbidigo // Panic is acceptable in test setup code.
148 }
149 > grpcServer := grpc.NewServer() clienttest.go
150 > historyservice.RegisterHistoryServiceServer(grpcServer, historyHandler)
151 > return grpcServer
152 }
153
154 > func createClient(ctrl *gomock.Controller, listener *nettest.PipeListener) historyservice.HistoryServiceClient { clienttest.go
155 > serviceResolver := membership.NewMockServiceResolver(ctrl)
156 > address := membership.NewHostInfoFromAddress("127.0.0.1:7104")
157 > serviceResolver.EXPECT().Members().Return([]membership.HostInfo{
158 > address,
159 > }).AnyTimes()
160 > serviceResolver.EXPECT().Lookup(gomock.Any()).Return(address, nil).AnyTimes()
161 > serviceResolver.EXPECT().AddListener(gomock.Any(), gomock.Any()).Return(nil).AnyTimes()
162 > serviceResolver.EXPECT().RemoveListener(gomock.Any()).Return(nil).AnyTimes()
163 > rpcFactory := nettest.NewRPCFactory(listener)
164 > client := history.NewClient(
165 > dynamicconfig.NewNoopCollection(),
166 > serviceResolver,
167 > log.NewTestLogger(),
168 > 1,
169 > rpcFactory,
170 > time.Second,
171 > )
172 > return client
173 > }
174
175 func enqueueTasks(
179 sourceCluster string,
180 targetCluster string,
181 > ) { clienttest.go
182 > t.Helper()
183 >
184 > task := &tasks.WorkflowTask{
185 > TaskID: 42,
186 > }
187 > for range numTasks {
188 > _, err := historyTaskQueueManager.EnqueueTask(context.Background(), &persistence.EnqueueTaskRequest{
189 > QueueType: persistence.QueueTypeHistoryDLQ,
190 > SourceCluster: sourceCluster,
191 > TargetCluster: targetCluster,
192 > Task: task,
193 > SourceShardID: 1,
194 > })
195 > require.NoError(t, err)
196 > }
197 }
go.temporal.io/server/common/persistence/query_util.go 94 covered LOC · 36 ranges

Open complete file

37 func LoadAndSplitQuery(
38 filePaths []string,
39 > ) ([]string, error) { query_util.go
40 > var files []io.Reader
41 >
42 > for _, filePath := range filePaths {
43 > f, err := os.Open(filePath)
44 > if err != nil {
45 return nil, fmt.Errorf("error opening file %s: %w", filePath, err)
46 }
47 > files = append(files, f) query_util.go
48 }
49
50 > return LoadAndSplitQueryFromReaders(files) query_util.go
51 }
52
55 func LoadAndSplitQueryFromReaders(
56 readers []io.Reader,
57 > ) ([]string, error) { query_util.go
58 > result := make([]string, 0, querySliceDefaultSize)
59 > for _, r := range readers {
60 > content, err := io.ReadAll(r)
61 > if err != nil {
62 return nil, fmt.Errorf("error reading contents: %w", err)
63 }
64 > n := len(content) query_util.go
65 > contentStr := string(bytes.ToLower(content))
66 > for i, j := 0, 0; i < n; i = j {
67 > // stack to keep track of open parenthesis/blocks
68 > var st []byte
69 > var stmtBuilder strings.Builder
70 >
71 > stmtLoop:
72 > for ; j < n; j++ {
73 > switch contentStr[j] {
74 > case queryDelimiter: query_util.go
75 > if len(st) == 0 {
76 > j++
77 > break stmtLoop
78 }
79
80 > case sqlLeftParenthesis: query_util.go
81 > st = append(st, sqlLeftParenthesis)
82
83 > case sqlRightParenthesis: query_util.go
84 > if len(st) == 0 || st[len(st)-1] != sqlLeftParenthesis {
85 return nil, fmt.Errorf("error reading contents: unmatched right parenthesis")
86 }
87 > st = st[:len(st)-1] query_util.go
88
89 case sqlDoubleDollarKeyword[0]:
99 }
100
101 > case sqlIfKeyword[0]: query_util.go
102 > if !hasWordAt(contentStr, sqlIfKeyword, j) {
103 > continue
104 }
105 if hasWordsBefore(contentStr, j-1, sqlAddKeyword, sqlColumnKeyword) ||
112 j += len(sqlIfKeyword) - 1
113
114 > case sqlLoopKeyword[0]: query_util.go
115 > if !hasWordAt(contentStr, sqlLoopKeyword, j) {
116 > continue
117 }
118 st = append(st, sqlLoopKeyword[0])
119 j += len(sqlLoopKeyword) - 1
120
121 > case sqlBeginKeyword[0]: query_util.go
122 > if hasWordAt(contentStr, sqlBeginKeyword, j) {
123 > st = append(st, sqlBeginKeyword[0]) query_util.go
124 > j += len(sqlBeginKeyword) - 1
125 > }
126
127 > case sqlEndKeyword[0]: query_util.go
128 > if !hasWordAt(contentStr, sqlEndKeyword, j) {
129 > continue
130 }
131 > if ok, after := hasWordAfter(contentStr, sqlIfKeyword, j+len(sqlEndKeyword)); ok { query_util.go
132 if len(st) == 0 || st[len(st)-1] != sqlIfKeyword[0] {
133 return nil, errors.New("error reading contents: unmatched `END IF` keyword")
135 st = st[:len(st)-1]
136 j = after + len(sqlIfKeyword) - 1
137 > } else if ok, after := hasWordAfter(contentStr, sqlLoopKeyword, j+len(sqlEndKeyword)); ok { query_util.go
138 //nolint:revive
139 if len(st) == 0 || st[len(st)-1] != sqlLoopKeyword[0] {
142 st = st[:len(st)-1]
143 j = after + len(sqlLoopKeyword) - 1
144 > } else { query_util.go
145 > if len(st) == 0 || st[len(st)-1] != sqlBeginKeyword[0] {
146 return nil, errors.New("error reading contents: unmatched `END` keyword")
147 }
148 > st = st[:len(st)-1] query_util.go
149 > j += len(sqlEndKeyword) - 1
150 }
151
152 > case sqlSingleQuote, sqlDoubleQuote: query_util.go
153 > quote := contentStr[j]
154 > j++
155 > for j < n && contentStr[j] != quote {
156 > j++
157 > }
158 > if j == n {
159 return nil, fmt.Errorf("error reading contents: unmatched quotes")
160 }
161
162 > case sqlLineComment[0]: query_util.go
163 > if j+len(sqlLineComment) <= n && contentStr[j:j+len(sqlLineComment)] == sqlLineComment {
164 > _, _ = stmtBuilder.Write(bytes.TrimRight(content[i:j], " "))
165 > for j < n && contentStr[j] != '\n' {
166 > j++
167 > }
168 > i = j
169 }
170
171 > default: query_util.go
172 // no-op: generic character
173 }
174 }
175
176 > if len(st) > 0 { query_util.go
177 switch st[len(st)-1] {
178 case sqlLeftParenthesis:
186 }
187
188 > _, _ = stmtBuilder.Write(content[i:j]) query_util.go
189 > stmt := strings.TrimSpace(stmtBuilder.String())
190 > if stmt == "" {
191 > continue query_util.go
192 }
193 > result = append(result, stmt) query_util.go
194 }
195 }
196 > return result, nil query_util.go
197 }
198
199 // hasWordAt is a simple test to check if it matches the whole word:
200 // it checks if the adjacent characters are not alphanumeric if they exist.
201 > func hasWordAt(s, word string, pos int) bool { query_util.go
202 > if pos+len(word) > len(s) || s[pos:pos+len(word)] != word {
203 > return false
204 > }
205 > if pos > 0 && isAlphanumeric(s[pos-1]) { query_util.go
206 > return false query_util.go
207 > }
208 > if pos+len(word) < len(s) && isAlphanumeric(s[pos+len(word)]) { query_util.go
209 > return false query_util.go
210 > }
211 > return true query_util.go
212 }
213
214 // hasWordAfter checks if the given word appears after position pos in s,
215 // separated by at least one space, and is a whole word.
216 > func hasWordAfter(s, word string, pos int) (bool, int) { query_util.go
217 > after := pos
218 > for after < len(s) && unicode.IsSpace(rune(s[after])) {
219 after++
220 }
221 > if after == pos { query_util.go
222 > return false, after query_util.go
223 > }
224 return hasWordAt(s, word, after), after
225 }
254 }
255
256 > func isAlphanumeric(c byte) bool { query_util.go
257 > return unicode.IsLetter(rune(c)) || unicode.IsDigit(rune(c))
258 > }
go.temporal.io/server/common/persistence/history_task_queue_manager.go 86 covered LOC · 18 ranges

Open complete file

50 queue QueueV2,
51 serializer serialization.Serializer,
52 > ) *HistoryTaskQueueManagerImpl { history_task_queue_manager.go
53 > return &HistoryTaskQueueManagerImpl{
54 > queue: queue,
55 > serializer: serializer,
56 > }
57 > }
58
59 func (m *HistoryTaskQueueManagerImpl) EnqueueTask(
60 ctx context.Context,
61 request *EnqueueTaskRequest,
62 > ) (*EnqueueTaskResponse, error) { history_task_queue_manager.go
63 > if request.Task == nil {
64 return nil, ErrEnqueueTaskRequestTaskIsNil
65 }
66 > blob, err := m.serializer.SerializeTask(request.Task) history_task_queue_manager.go
67 > if err != nil {
68 return nil, fmt.Errorf("%v: %w", ErrMsgSerializeTaskToEnqueue, err)
69 }
70 > if request.SourceShardID <= 0 { history_task_queue_manager.go
71 return nil, fmt.Errorf("%w: shardID = %d", ErrShardIDInvalid, request.SourceShardID)
72 }
73
74 > taskCategory := request.Task.GetCategory() history_task_queue_manager.go
75 > task := persistencespb.HistoryTask{
76 > ShardId: int32(request.SourceShardID),
77 > Blob: blob,
78 > }
79 > taskBytes, _ := task.Marshal()
80 > blob = &commonpb.DataBlob{
81 > EncodingType: enumspb.ENCODING_TYPE_PROTO3,
82 > Data: taskBytes,
83 > }
84 > queueKey := QueueKey{
85 > QueueType: request.QueueType,
86 > Category: taskCategory,
87 > SourceCluster: request.SourceCluster,
88 > TargetCluster: request.TargetCluster,
89 > }
90 >
91 > message, err := m.queue.EnqueueMessage(ctx, &InternalEnqueueMessageRequest{
92 > QueueType: request.QueueType,
93 > QueueName: queueKey.GetQueueName(),
94 > Blob: blob,
95 > })
96 > if err != nil {
97 return nil, err
98 }
99
100 > return &EnqueueTaskResponse{ history_task_queue_manager.go
101 > Metadata: message.Metadata,
102 > }, nil
103 }
104
113 ctx context.Context,
114 request *ReadRawTasksRequest,
115 > ) (*ReadRawTasksResponse, error) { history_task_queue_manager.go
116 > if request.PageSize <= 0 {
117 return nil, fmt.Errorf("%w: %v", ErrReadTasksNonPositivePageSize, request.PageSize)
118 }
119
120 > response, err := m.queue.ReadMessages(ctx, &InternalReadMessagesRequest{ history_task_queue_manager.go
121 > QueueType: request.QueueKey.QueueType,
122 > QueueName: request.QueueKey.GetQueueName(),
123 > PageSize: request.PageSize,
124 > NextPageToken: request.NextPageToken,
125 > })
126 > if err != nil {
127 return nil, err
128 }
129
130 > responseTasks := make([]RawHistoryTask, len(response.Messages)) history_task_queue_manager.go
131 > for i, message := range response.Messages {
132 > var task persistencespb.HistoryTask
133 > err := serialization.Decode(message.Data, &task)
134 > if err != nil {
135 return nil, fmt.Errorf("%v: %w", ErrMsgDeserializeRawHistoryTask, err)
136 }
137 > responseTasks[i].MessageMetadata = message.MetaData history_task_queue_manager.go
138 > responseTasks[i].Payload = &task
139 }
140
141 > return &ReadRawTasksResponse{ history_task_queue_manager.go
142 > Tasks: responseTasks,
143 > NextPageToken: response.NextPageToken,
144 > }, nil
145 }
146
180 ctx context.Context,
181 request *CreateQueueRequest,
182 > ) (*CreateQueueResponse, error) { history_task_queue_manager.go
183 > _, err := m.queue.CreateQueue(ctx, &InternalCreateQueueRequest{
184 > QueueType: request.QueueKey.QueueType,
185 > QueueName: request.QueueKey.GetQueueName(),
186 > })
187 > if err != nil {
188 return nil, err
189 }
190 > return &CreateQueueResponse{}, nil history_task_queue_manager.go
191 }
192
194 ctx context.Context,
195 request *DeleteTasksRequest,
196 > ) (*DeleteTasksResponse, error) { history_task_queue_manager.go
197 > resp, err := m.queue.RangeDeleteMessages(ctx, &InternalRangeDeleteMessagesRequest{
198 > QueueType: request.QueueKey.QueueType,
199 > QueueName: request.QueueKey.GetQueueName(),
200 > InclusiveMaxMessageMetadata: request.InclusiveMaxMessageMetadata,
201 > })
202 > if err != nil {
203 return nil, err
204 }
205 > return &DeleteTasksResponse{MessagesDeleted: resp.MessagesDeleted}, nil history_task_queue_manager.go
206 }
207
229 // combineUnique combines the given strings into a single string by hashing the length of each string and the string
230 // itself. This is used to generate a unique suffix for the queue name.
231 > func combineUnique(strs ...string) string { history_task_queue_manager.go
232 > h := sha256.New()
233 > for _, str := range strs {
234 > b := sha256.Sum256([]byte(str))
235 > _, _ = h.Write(b[:])
236 > }
237 > return base64.StdEncoding.EncodeToString(h.Sum(nil))
238 }
239
240 > func (k QueueKey) GetQueueName() string { history_task_queue_manager.go
241 > return GetHistoryTaskQueueName(k.Category.ID(), k.SourceCluster, k.TargetCluster)
242 > }
243
244 func GetHistoryTaskQueueName(
246 sourceCluster string,
247 targetCluster string,
249 > hash := combineUnique(sourceCluster, targetCluster)[:clusterNamesHashSuffixLength]
250 > return fmt.Sprintf("%d_%s_%s_%s", categoryID, sourceCluster, targetCluster, hash)
251 > }
252
253 func GetHistoryTaskQueueCategoryID(queueName string) (int, error) {
go.temporal.io/server/api/persistence/v1/predicates.pb.go 83 covered LOC · 23 ranges

Open complete file

57 func (*Predicate) ProtoMessage() {}
58
59 > func (x *Predicate) ProtoReflect() protoreflect.Message { predicates.pb.go
60 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[0]
61 > if x != nil {
62 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
63 > if ms.LoadMessageInfo() == nil {
64 > ms.StoreMessageInfo(mi)
65 > }
66 > return ms
67 }
68 > return mi.MessageOf(x) predicates.pb.go
69 }
70
261 func (*UniversalPredicateAttributes) ProtoMessage() {}
262
263 > func (x *UniversalPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
264 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[1]
265 > if x != nil {
266 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
267 if ms.LoadMessageInfo() == nil {
297 func (*EmptyPredicateAttributes) ProtoMessage() {}
298
299 > func (x *EmptyPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
300 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[2]
301 > if x != nil {
302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
303 if ms.LoadMessageInfo() == nil {
334 func (*AndPredicateAttributes) ProtoMessage() {}
335
336 > func (x *AndPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
337 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[3]
338 > if x != nil {
339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
340 if ms.LoadMessageInfo() == nil {
378 func (*OrPredicateAttributes) ProtoMessage() {}
379
380 > func (x *OrPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
381 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[4]
382 > if x != nil {
383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
384 if ms.LoadMessageInfo() == nil {
422 func (*NotPredicateAttributes) ProtoMessage() {}
423
424 > func (x *NotPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
425 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[5]
426 > if x != nil {
427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
428 if ms.LoadMessageInfo() == nil {
466 func (*NamespaceIdPredicateAttributes) ProtoMessage() {}
467
468 > func (x *NamespaceIdPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
469 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[6]
470 > if x != nil {
471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
472 if ms.LoadMessageInfo() == nil {
510 func (*TaskTypePredicateAttributes) ProtoMessage() {}
511
512 > func (x *TaskTypePredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
513 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[7]
514 > if x != nil {
515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
516 if ms.LoadMessageInfo() == nil {
554 func (*DestinationPredicateAttributes) ProtoMessage() {}
555
556 > func (x *DestinationPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
557 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[8]
558 > if x != nil {
559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
560 if ms.LoadMessageInfo() == nil {
598 func (*OutboundTaskGroupPredicateAttributes) ProtoMessage() {}
599
600 > func (x *OutboundTaskGroupPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
601 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[9]
602 > if x != nil {
603 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
604 if ms.LoadMessageInfo() == nil {
642 func (*OutboundTaskPredicateAttributes) ProtoMessage() {}
643
644 > func (x *OutboundTaskPredicateAttributes) ProtoReflect() protoreflect.Message { predicates.pb.go
645 > mi := &file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[10]
646 > if x != nil {
647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
648 if ms.LoadMessageInfo() == nil {
828 }
829
830 > func init() { file_temporal_server_api_persistence_v1_predicates_proto_init() } predicates.pb.go
831 > func file_temporal_server_api_persistence_v1_predicates_proto_init() {
832 > if File_temporal_server_api_persistence_v1_predicates_proto != nil {
833 > return
834 > }
835 > file_temporal_server_api_persistence_v1_predicates_proto_msgTypes[0].OneofWrappers = []any{
836 > (*Predicate_UniversalPredicateAttributes)(nil),
837 > (*Predicate_EmptyPredicateAttributes)(nil),
838 > (*Predicate_AndPredicateAttributes)(nil),
839 > (*Predicate_OrPredicateAttributes)(nil),
840 > (*Predicate_NotPredicateAttributes)(nil),
841 > (*Predicate_NamespaceIdPredicateAttributes)(nil),
842 > (*Predicate_TaskTypePredicateAttributes)(nil),
843 > (*Predicate_DestinationPredicateAttributes)(nil),
844 > (*Predicate_OutboundTaskGroupPredicateAttributes)(nil),
845 > (*Predicate_OutboundTaskPredicateAttributes)(nil),
846 > }
847 > type x struct{}
848 > out := protoimpl.TypeBuilder{
849 > File: protoimpl.DescBuilder{
850 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
851 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_predicates_proto_rawDesc), len(file_temporal_server_api_persistence_v1_predicates_proto_rawDesc)),
852 > NumEnums: 0,
853 > NumMessages: 12,
854 > NumExtensions: 0,
855 > NumServices: 0,
856 > },
857 > GoTypes: file_temporal_server_api_persistence_v1_predicates_proto_goTypes,
858 > DependencyIndexes: file_temporal_server_api_persistence_v1_predicates_proto_depIdxs,
859 > MessageInfos: file_temporal_server_api_persistence_v1_predicates_proto_msgTypes,
860 > }.Build()
861 > File_temporal_server_api_persistence_v1_predicates_proto = out.File
862 > file_temporal_server_api_persistence_v1_predicates_proto_goTypes = nil
863 > file_temporal_server_api_persistence_v1_predicates_proto_depIdxs = nil
864 }
go.temporal.io/server/api/adminservice/v1/request_response.pb.go 76 covered LOC · 21 ranges

Open complete file

791 func (*ListHistoryTasksRequest) ProtoMessage() {}
792
793 > func (x *ListHistoryTasksRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
794 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[12]
795 > if x != nil {
796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
797 if ms.LoadMessageInfo() == nil {
864 func (*ListHistoryTasksResponse) ProtoMessage() {}
865
866 > func (x *ListHistoryTasksResponse) ProtoReflect() protoreflect.Message { request_response.pb.go
867 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[13]
868 > if x != nil {
869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
870 if ms.LoadMessageInfo() == nil {
1122 func (*GetWorkflowExecutionRawHistoryV2Request) ProtoMessage() {}
1123
1124 > func (x *GetWorkflowExecutionRawHistoryV2Request) ProtoReflect() protoreflect.Message { request_response.pb.go
1125 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[17]
1126 > if x != nil {
1127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1128 if ms.LoadMessageInfo() == nil {
1218 func (*GetWorkflowExecutionRawHistoryV2Response) ProtoMessage() {}
1219
1220 > func (x *GetWorkflowExecutionRawHistoryV2Response) ProtoReflect() protoreflect.Message { request_response.pb.go
1221 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[18]
1222 > if x != nil {
1223 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1224 if ms.LoadMessageInfo() == nil {
1290 func (*GetWorkflowExecutionRawHistoryRequest) ProtoMessage() {}
1291
1292 > func (x *GetWorkflowExecutionRawHistoryRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
1293 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[19]
1294 > if x != nil {
1295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1296 if ms.LoadMessageInfo() == nil {
1386 func (*GetWorkflowExecutionRawHistoryResponse) ProtoMessage() {}
1387
1388 > func (x *GetWorkflowExecutionRawHistoryResponse) ProtoReflect() protoreflect.Message { request_response.pb.go
1389 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[20]
1390 > if x != nil {
1391 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1392 if ms.LoadMessageInfo() == nil {
1746 func (*ReapplyEventsRequest) ProtoMessage() {}
1747
1748 > func (x *ReapplyEventsRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
1749 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[27]
1750 > if x != nil {
1751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1752 if ms.LoadMessageInfo() == nil {
3182 func (*RefreshWorkflowTasksRequest) ProtoMessage() {}
3183
3184 > func (x *RefreshWorkflowTasksRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
3185 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[51]
3186 > if x != nil {
3187 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3188 if ms.LoadMessageInfo() == nil {
3583 func (*DeleteWorkflowExecutionRequest) ProtoMessage() {}
3584
3585 > func (x *DeleteWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { request_response.pb.go
3586 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[57]
3587 > if x != nil {
3588 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3589 if ms.LoadMessageInfo() == nil {
3648 func (*DeleteWorkflowExecutionResponse) ProtoMessage() {}
3649
3650 > func (x *DeleteWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { request_response.pb.go
3651 > mi := &file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[58]
3652 > if x != nil {
3653 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3654 if ms.LoadMessageInfo() == nil {
6623 }
6624
6625 > func init() { file_temporal_server_api_adminservice_v1_request_response_proto_init() } request_response.pb.go
6626 > func file_temporal_server_api_adminservice_v1_request_response_proto_init() {
6627 > if File_temporal_server_api_adminservice_v1_request_response_proto != nil {
6628 > return
6629 > }
6630 > file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[59].OneofWrappers = []any{
6631 > (*StreamWorkflowReplicationMessagesRequest_SyncReplicationState)(nil),
6632 > }
6633 > file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[60].OneofWrappers = []any{
6634 > (*StreamWorkflowReplicationMessagesResponse_Messages)(nil),
6635 > }
6636 > file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[61].OneofWrappers = []any{
6637 > (*GetNamespaceRequest_Namespace)(nil),
6638 > (*GetNamespaceRequest_Id)(nil),
6639 > }
6640 > file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes[90].OneofWrappers = []any{
6641 > (*StartAdminBatchOperationRequest_RefreshTasksOperation)(nil),
6642 > }
6643 > type x struct{}
6644 > out := protoimpl.TypeBuilder{
6645 > File: protoimpl.DescBuilder{
6646 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
6647 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc), len(file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc)),
6648 > NumEnums: 1,
6649 > NumMessages: 105,
6650 > NumExtensions: 0,
6651 > NumServices: 0,
6652 > },
6653 > GoTypes: file_temporal_server_api_adminservice_v1_request_response_proto_goTypes,
6654 > DependencyIndexes: file_temporal_server_api_adminservice_v1_request_response_proto_depIdxs,
6655 > EnumInfos: file_temporal_server_api_adminservice_v1_request_response_proto_enumTypes,
6656 > MessageInfos: file_temporal_server_api_adminservice_v1_request_response_proto_msgTypes,
6657 > }.Build()
6658 > File_temporal_server_api_adminservice_v1_request_response_proto = out.File
6659 > file_temporal_server_api_adminservice_v1_request_response_proto_goTypes = nil
6660 > file_temporal_server_api_adminservice_v1_request_response_proto_depIdxs = nil
6661 }
go.temporal.io/server/api/persistence/v1/executions.pb.go 76 covered LOC · 6 ranges

Open complete file

66 func (*ShardInfo) ProtoMessage() {}
67
68 > func (x *ShardInfo) ProtoReflect() protoreflect.Message { executions.pb.go
69 > mi := &file_temporal_server_api_persistence_v1_executions_proto_msgTypes[0]
70 > if x != nil {
71 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
72 if ms.LoadMessageInfo() == nil {
1634 func (*TransferTaskInfo) ProtoMessage() {}
1635
1636 > func (x *TransferTaskInfo) ProtoReflect() protoreflect.Message { executions.pb.go
1637 > mi := &file_temporal_server_api_persistence_v1_executions_proto_msgTypes[8]
1638 > if x != nil {
1639 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1640 > if ms.LoadMessageInfo() == nil {
1641 > ms.StoreMessageInfo(mi)
1642 > }
1643 > return ms
1644 }
1645 return mi.MessageOf(x)
4454 func (*TransferTaskInfo_CloseExecutionTaskDetails) ProtoMessage() {}
4455
4456 > func (x *TransferTaskInfo_CloseExecutionTaskDetails) ProtoReflect() protoreflect.Message { executions.pb.go
4457 > mi := &file_temporal_server_api_persistence_v1_executions_proto_msgTypes[38]
4458 > if x != nil {
4459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4460 if ms.LoadMessageInfo() == nil {
4463 return ms
4464 }
4465 > return mi.MessageOf(x) executions.pb.go
4466 }
4467
5706 }
5707
5708 > func init() { file_temporal_server_api_persistence_v1_executions_proto_init() } executions.pb.go
5709 > func file_temporal_server_api_persistence_v1_executions_proto_init() {
5710 > if File_temporal_server_api_persistence_v1_executions_proto != nil {
5711 > return
5712 > }
5713 > file_temporal_server_api_persistence_v1_chasm_proto_init()
5714 > file_temporal_server_api_persistence_v1_hsm_proto_init()
5715 > file_temporal_server_api_persistence_v1_queues_proto_init()
5716 > file_temporal_server_api_persistence_v1_update_proto_init()
5717 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[1].OneofWrappers = []any{
5718 > (*WorkflowExecutionInfo_LastWorkflowTaskFailureCause)(nil),
5719 > (*WorkflowExecutionInfo_LastWorkflowTaskTimedOutType)(nil),
5720 > }
5721 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[8].OneofWrappers = []any{
5722 > (*TransferTaskInfo_CloseExecutionTaskDetails_)(nil),
5723 > (*TransferTaskInfo_ChasmTaskInfo)(nil),
5724 > }
5725 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[10].OneofWrappers = []any{
5726 > (*VisibilityTaskInfo_ChasmTaskInfo)(nil),
5727 > }
5728 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[11].OneofWrappers = []any{
5729 > (*TimerTaskInfo_ChasmTaskInfo)(nil),
5730 > }
5731 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[13].OneofWrappers = []any{
5732 > (*OutboundTaskInfo_StateMachineInfo)(nil),
5733 > (*OutboundTaskInfo_ChasmTaskInfo)(nil),
5734 > (*OutboundTaskInfo_WorkerCommandsTask)(nil),
5735 > }
5736 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[17].OneofWrappers = []any{
5737 > (*ActivityInfo_UseWorkflowBuildIdInfo_)(nil),
5738 > (*ActivityInfo_LastIndependentlyAssignedBuildId)(nil),
5739 > }
5740 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[23].OneofWrappers = []any{
5741 > (*Callback_Nexus_)(nil),
5742 > (*Callback_Hsm)(nil),
5743 > }
5744 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[40].OneofWrappers = []any{
5745 > (*ActivityInfo_PauseInfo_Manual_)(nil),
5746 > (*ActivityInfo_PauseInfo_RuleId)(nil),
5747 > }
5748 > file_temporal_server_api_persistence_v1_executions_proto_msgTypes[46].OneofWrappers = []any{
5749 > (*CallbackInfo_Trigger_WorkflowClosed)(nil),
5750 > }
5751 > type x struct{}
5752 > out := protoimpl.TypeBuilder{
5753 > File: protoimpl.DescBuilder{
5754 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
5755 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_executions_proto_rawDesc), len(file_temporal_server_api_persistence_v1_executions_proto_rawDesc)),
5756 > NumEnums: 0,
5757 > NumMessages: 47,
5758 > NumExtensions: 0,
5759 > NumServices: 0,
5760 > },
5761 > GoTypes: file_temporal_server_api_persistence_v1_executions_proto_goTypes,
5762 > DependencyIndexes: file_temporal_server_api_persistence_v1_executions_proto_depIdxs,
5763 > MessageInfos: file_temporal_server_api_persistence_v1_executions_proto_msgTypes,
5764 > }.Build()
5765 > File_temporal_server_api_persistence_v1_executions_proto = out.File
5766 > file_temporal_server_api_persistence_v1_executions_proto_goTypes = nil
5767 > file_temporal_server_api_persistence_v1_executions_proto_depIdxs = nil
5768 }
go.temporal.io/server/common/log/zap_logger.go 75 covered LOC · 19 ranges

Open complete file

58 // NewTestLogger returns a logger for tests
59 // Deprecated: Use testlogger.TestLogger instead.
60 > func NewTestLogger() *zapLogger { zap_logger.go
61 > format := os.Getenv(TestLogFormatEnvVar)
62 > if format == "" {
63 > format = "console"
64 > }
65
66 > logger := BuildZapLogger(Config{ zap_logger.go
67 > Level: os.Getenv(TestLogLevelEnvVar),
68 > Format: format,
69 > Development: true,
70 > })
71 >
72 > // Don't include stack traces for warnings during tests. Only include them for logs with level error and above.
73 > logger = logger.WithOptions(zap.AddStacktrace(zap.ErrorLevel))
74 >
75 > return NewZapLogger(logger)
76 }
77
82
83 // NewZapLogger returns a new zap based logger from zap.Logger
84 > func NewZapLogger(zl *zap.Logger) *zapLogger { zap_logger.go
85 > return &zapLogger{
86 > zl: zl,
87 > skip: skipForZapLogger,
88 > baseZl: zl,
89 > }
90 > }
91
92 // BuildZapLogger builds and returns a new zap.Logger for this logging configuration
93 > func BuildZapLogger(cfg Config) *zap.Logger { zap_logger.go
94 > return buildZapLogger(cfg, true)
95 > }
96
97 > func caller(skip int) string { zap_logger.go
98 > _, path, line, ok := runtime.Caller(skip)
99 > if !ok {
100 return ""
101 }
102 > return path + ":" + strconv.Itoa(line) zap_logger.go
103 }
104
105 > func (l *zapLogger) buildFieldsWithCallAt(tags []tag.Tag) []zap.Field { zap_logger.go
106 > fields := make([]zap.Field, len(tags)+1)
107 > l.fillFields(tags, fields)
108 > fields[len(fields)-1] = zap.String(tag.LoggingCallAtKey, caller(l.skip))
109 > return fields
110 > }
111
112 // fillFields fill fields parameter with fields read from tags. Optimized for performance.
113 > func (l *zapLogger) fillFields(tags []tag.Tag, fields []zap.Field) { zap_logger.go
114 > for i, t := range tags {
115 if zt, ok := t.(tag.ZapTag); ok {
116 fields[i] = zt.Field()
121 }
122
123 > func setDefaultMsg(msg string) string { zap_logger.go
124 > if msg == "" {
125 return defaultMsgForEmpty
126 }
127 > return msg zap_logger.go
128 }
129
136 }
137
138 > func (l *zapLogger) Info(msg string, tags ...tag.Tag) { zap_logger.go
139 > if l.zl.Core().Enabled(zap.InfoLevel) {
140 > msg = setDefaultMsg(msg)
141 > fields := l.buildFieldsWithCallAt(tags)
142 > l.zl.Info(msg, fields...)
143 > }
144 }
145
234 }
235
236 > func buildZapLogger(cfg Config, disableCaller bool) *zap.Logger { zap_logger.go
237 > encodeConfig := DefaultZapEncoderConfig
238 > if disableCaller {
239 > encodeConfig.CallerKey = zapcore.OmitKey
240 > encodeConfig.EncodeCaller = nil
241 > }
242
243 > outputPath := "stderr" zap_logger.go
244 > if len(cfg.OutputFile) > 0 {
245 outputPath = cfg.OutputFile
246 }
247 > if cfg.Stdout { zap_logger.go
248 outputPath = "stdout"
249 }
250 > encoding := "json" zap_logger.go
251 > if cfg.Format == "console" {
252 > encoding = "console" zap_logger.go
253 > }
254 > config := zap.Config{ zap_logger.go
255 > Level: zap.NewAtomicLevelAt(ParseZapLevel(cfg.Level)),
256 > Development: cfg.Development,
257 > Sampling: nil,
258 > Encoding: encoding,
259 > EncoderConfig: encodeConfig,
260 > OutputPaths: []string{outputPath},
261 > ErrorOutputPaths: []string{outputPath},
262 > DisableCaller: disableCaller,
263 > }
264 > logger, _ := config.Build()
265 > return logger
266 }
267
297 }
298
299 > func ParseZapLevel(level string) zapcore.Level { zap_logger.go
300 > switch strings.ToLower(level) {
301 case "debug":
302 return zap.DebugLevel
313 case "fatal":
314 return zap.FatalLevel
315 > default: zap_logger.go
316 > return zap.InfoLevel
317 }
318 }
go.temporal.io/server/api/persistence/v1/queues.pb.go 72 covered LOC · 11 ranges

Open complete file

98 func (*QueueState) ProtoMessage() {}
99
100 > func (x *QueueState) ProtoReflect() protoreflect.Message { queues.pb.go
101 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[1]
102 > if x != nil {
103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
104 if ms.LoadMessageInfo() == nil {
107 return ms
108 }
109 > return mi.MessageOf(x) queues.pb.go
110 }
111
297 func (*ReadQueueMessagesNextPageToken) ProtoMessage() {}
298
299 > func (x *ReadQueueMessagesNextPageToken) ProtoReflect() protoreflect.Message { queues.pb.go
300 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[5]
301 > if x != nil {
302 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
303 > if ms.LoadMessageInfo() == nil {
304 > ms.StoreMessageInfo(mi)
305 > }
306 > return ms
307 }
308 return mi.MessageOf(x)
382 }
383
384 > func (x *HistoryTask) Reset() { queues.pb.go
385 > *x = HistoryTask{}
386 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[7]
387 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
388 > ms.StoreMessageInfo(mi)
389 > }
390
391 func (x *HistoryTask) String() string {
395 func (*HistoryTask) ProtoMessage() {}
396
397 > func (x *HistoryTask) ProtoReflect() protoreflect.Message { queues.pb.go
398 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[7]
399 > if x != nil {
400 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
401 > if ms.LoadMessageInfo() == nil {
402 > ms.StoreMessageInfo(mi)
403 > }
404 > return ms
405 }
406 return mi.MessageOf(x)
457 func (*QueuePartition) ProtoMessage() {}
458
459 > func (x *QueuePartition) ProtoReflect() protoreflect.Message { queues.pb.go
460 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[8]
461 > if x != nil {
462 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) queues.pb.go
463 > if ms.LoadMessageInfo() == nil {
464 > ms.StoreMessageInfo(mi)
465 > }
466 > return ms
467 }
468 > return mi.MessageOf(x) queues.pb.go
469 }
470
489 }
490
491 > func (x *Queue) Reset() { queues.pb.go
492 > *x = Queue{}
493 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[9]
494 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
495 > ms.StoreMessageInfo(mi)
496 > }
497
498 func (x *Queue) String() string {
502 func (*Queue) ProtoMessage() {}
503
504 > func (x *Queue) ProtoReflect() protoreflect.Message { queues.pb.go
505 > mi := &file_temporal_server_api_persistence_v1_queues_proto_msgTypes[9]
506 > if x != nil {
507 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
508 > if ms.LoadMessageInfo() == nil {
509 > ms.StoreMessageInfo(mi)
510 > }
511 > return ms
512 }
513 return mi.MessageOf(x)
616 }
617
618 > func init() { file_temporal_server_api_persistence_v1_queues_proto_init() } queues.pb.go
619 > func file_temporal_server_api_persistence_v1_queues_proto_init() {
620 > if File_temporal_server_api_persistence_v1_queues_proto != nil {
621 > return
622 > }
623 > file_temporal_server_api_persistence_v1_predicates_proto_init()
624 > type x struct{}
625 > out := protoimpl.TypeBuilder{
626 > File: protoimpl.DescBuilder{
627 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
628 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_queues_proto_rawDesc), len(file_temporal_server_api_persistence_v1_queues_proto_rawDesc)),
629 > NumEnums: 0,
630 > NumMessages: 12,
631 > NumExtensions: 0,
632 > NumServices: 0,
633 > },
634 > GoTypes: file_temporal_server_api_persistence_v1_queues_proto_goTypes,
635 > DependencyIndexes: file_temporal_server_api_persistence_v1_queues_proto_depIdxs,
636 > MessageInfos: file_temporal_server_api_persistence_v1_queues_proto_msgTypes,
637 > }.Build()
638 > File_temporal_server_api_persistence_v1_queues_proto = out.File
639 > file_temporal_server_api_persistence_v1_queues_proto_goTypes = nil
640 > file_temporal_server_api_persistence_v1_queues_proto_depIdxs = nil
641 }
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/queue_v2.go 66 covered LOC · 9 ranges

Open complete file

19 )
20
21 > func (sdb *db) InsertIntoQueueV2Metadata(ctx context.Context, row *sqlplugin.QueueV2MetadataRow) (sql.Result, error) { queue_v2.go
22 > return sdb.conn.NamedExecContext(ctx,
23 > templateCreateQueueMetadataQueryV2,
24 > row,
25 > )
26 > }
27 > func (sdb *db) UpdateQueueV2Metadata(ctx context.Context, row *sqlplugin.QueueV2MetadataRow) (sql.Result, error) { queue_v2.go
28 > return sdb.conn.NamedExecContext(ctx,
29 > templateUpdateQueueMetadataQueryV2,
30 > row,
31 > )
32 > }
33 > func (sdb *db) SelectFromQueueV2Metadata(ctx context.Context, filter sqlplugin.QueueV2MetadataFilter) (*sqlplugin.QueueV2MetadataRow, error) { queue_v2.go
34 > var row sqlplugin.QueueV2MetadataRow
35 > err := sdb.conn.GetContext(ctx,
36 > &row,
37 > templateGetQueueMetadataQueryV2,
38 > filter.QueueType,
39 > filter.QueueName,
40 > )
41 > if err != nil {
42 return nil, err
43 }
44 > return &row, nil queue_v2.go
45 }
46 > func (sdb *db) SelectFromQueueV2MetadataForUpdate(ctx context.Context, filter sqlplugin.QueueV2MetadataFilter) (*sqlplugin.QueueV2MetadataRow, error) { queue_v2.go
47 > // sqlite does not have FOR UPDATE clause. Calling SelectFromQueueV2Metadata() itself.
48 > return sdb.SelectFromQueueV2Metadata(ctx, filter)
49 > }
50 func (sdb *db) SelectNameFromQueueV2Metadata(ctx context.Context, filter sqlplugin.QueueV2MetadataTypeFilter) ([]sqlplugin.QueueV2MetadataRow, error) {
51 var rows []sqlplugin.QueueV2MetadataRow
62 return rows, nil
63 }
64 > func (sdb *db) InsertIntoQueueV2Messages(ctx context.Context, row []sqlplugin.QueueV2MessageRow) (sql.Result, error) { queue_v2.go
65 > return sdb.conn.NamedExecContext(ctx,
66 > templateEnqueueMessageQueryV2,
67 > row,
68 > )
69 > }
70 > func (sdb *db) RangeSelectFromQueueV2Messages(ctx context.Context, filter sqlplugin.QueueV2MessagesFilter) ([]sqlplugin.QueueV2MessageRow, error) { queue_v2.go
71 > var rows []sqlplugin.QueueV2MessageRow
72 > err := sdb.conn.SelectContext(ctx,
73 > &rows,
74 > templateGetMessagesQueryV2,
75 > filter.QueueType,
76 > filter.QueueName,
77 > filter.Partition,
78 > filter.MinMessageID,
79 > filter.PageSize,
80 > )
81 > return rows, err
82 > }
83 > func (sdb *db) RangeDeleteFromQueueV2Messages(ctx context.Context, filter sqlplugin.QueueV2MessagesFilter) (sql.Result, error) { queue_v2.go
84 > return sdb.conn.ExecContext(ctx,
85 > templateRangeDeleteMessagesQueryV2,
86 > filter.QueueType,
87 > filter.QueueName,
88 > filter.Partition,
89 > filter.MinMessageID,
90 > filter.MaxMessageID,
91 > )
92 > }
93
94 > func (sdb *db) GetLastEnqueuedMessageIDForUpdateV2(ctx context.Context, filter sqlplugin.QueueV2Filter) (int64, error) { queue_v2.go
95 > var lastMessageID int64
96 > err := sdb.conn.GetContext(ctx,
97 > &lastMessageID,
98 > templateGetLastMessageIDQueryV2,
99 > filter.QueueType,
100 > filter.QueueName,
101 > filter.Partition,
102 > )
103 > return lastMessageID, err
104 > }
go.temporal.io/server/api/replication/v1/message.pb.go 64 covered LOC · 16 ranges

Open complete file

74 func (*ReplicationTask) ProtoMessage() {}
75
76 > func (x *ReplicationTask) ProtoReflect() protoreflect.Message { message.pb.go
77 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[0]
78 > if x != nil {
79 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
80 if ms.LoadMessageInfo() == nil {
83 return ms
84 }
85 > return mi.MessageOf(x) message.pb.go
86 }
87
328 func (*ReplicationToken) ProtoMessage() {}
329
330 > func (x *ReplicationToken) ProtoReflect() protoreflect.Message { message.pb.go
331 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[1]
332 > if x != nil {
333 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
334 if ms.LoadMessageInfo() == nil {
337 return ms
338 }
339 > return mi.MessageOf(x) message.pb.go
340 }
341
442 func (*SyncReplicationState) ProtoMessage() {}
443
444 > func (x *SyncReplicationState) ProtoReflect() protoreflect.Message { message.pb.go
445 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[3]
446 > if x != nil {
447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
448 if ms.LoadMessageInfo() == nil {
451 return ms
452 }
453 > return mi.MessageOf(x) message.pb.go
454 }
455
572 func (*ReplicationMessages) ProtoMessage() {}
573
574 > func (x *ReplicationMessages) ProtoReflect() protoreflect.Message { message.pb.go
575 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[5]
576 > if x != nil {
577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
578 if ms.LoadMessageInfo() == nil {
581 return ms
582 }
583 > return mi.MessageOf(x) message.pb.go
584 }
585
641 func (*WorkflowReplicationMessages) ProtoMessage() {}
642
643 > func (x *WorkflowReplicationMessages) ProtoReflect() protoreflect.Message { message.pb.go
644 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[6]
645 > if x != nil {
646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
647 if ms.LoadMessageInfo() == nil {
650 return ms
651 }
652 > return mi.MessageOf(x) message.pb.go
653 }
654
716 func (*ReplicationTaskInfo) ProtoMessage() {}
717
718 > func (x *ReplicationTaskInfo) ProtoReflect() protoreflect.Message { message.pb.go
719 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[7]
720 > if x != nil {
721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
722 if ms.LoadMessageInfo() == nil {
725 return ms
726 }
727 > return mi.MessageOf(x) message.pb.go
728 }
729
1952 func (*VersionedTransitionArtifact) ProtoMessage() {}
1953
1954 > func (x *VersionedTransitionArtifact) ProtoReflect() protoreflect.Message { message.pb.go
1955 > mi := &file_temporal_server_api_replication_v1_message_proto_msgTypes[21]
1956 > if x != nil {
1957 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1958 if ms.LoadMessageInfo() == nil {
1961 return ms
1962 }
1963 > return mi.MessageOf(x) message.pb.go
1964 }
1965
2441 }
2442
2443 > func init() { file_temporal_server_api_replication_v1_message_proto_init() } message.pb.go
2444 > func file_temporal_server_api_replication_v1_message_proto_init() {
2445 > if File_temporal_server_api_replication_v1_message_proto != nil {
2446 return
2447 }
2448 > file_temporal_server_api_replication_v1_message_proto_msgTypes[0].OneofWrappers = []any{ message.pb.go
2449 > (*ReplicationTask_NamespaceTaskAttributes)(nil),
2450 > (*ReplicationTask_SyncShardStatusTaskAttributes)(nil),
2451 > (*ReplicationTask_SyncActivityTaskAttributes)(nil),
2452 > (*ReplicationTask_HistoryTaskAttributes)(nil),
2453 > (*ReplicationTask_SyncWorkflowStateTaskAttributes)(nil),
2454 > (*ReplicationTask_TaskQueueUserDataAttributes)(nil),
2455 > (*ReplicationTask_SyncHsmAttributes)(nil),
2456 > (*ReplicationTask_BackfillHistoryTaskAttributes)(nil),
2457 > (*ReplicationTask_VerifyVersionedTransitionTaskAttributes)(nil),
2458 > (*ReplicationTask_SyncVersionedTransitionTaskAttributes)(nil),
2459 > }
2460 > file_temporal_server_api_replication_v1_message_proto_msgTypes[21].OneofWrappers = []any{
2461 > (*VersionedTransitionArtifact_SyncWorkflowStateMutationAttributes)(nil),
2462 > (*VersionedTransitionArtifact_SyncWorkflowStateSnapshotAttributes)(nil),
2463 > }
2464 > type x struct{}
2465 > out := protoimpl.TypeBuilder{
2466 > File: protoimpl.DescBuilder{
2467 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2468 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_replication_v1_message_proto_rawDesc), len(file_temporal_server_api_replication_v1_message_proto_rawDesc)),
2469 > NumEnums: 0,
2470 > NumMessages: 23,
2471 > NumExtensions: 0,
2472 > NumServices: 0,
2473 > },
2474 > GoTypes: file_temporal_server_api_replication_v1_message_proto_goTypes,
2475 > DependencyIndexes: file_temporal_server_api_replication_v1_message_proto_depIdxs,
2476 > MessageInfos: file_temporal_server_api_replication_v1_message_proto_msgTypes,
2477 > }.Build()
2478 > File_temporal_server_api_replication_v1_message_proto = out.File
2479 > file_temporal_server_api_replication_v1_message_proto_goTypes = nil
2480 > file_temporal_server_api_replication_v1_message_proto_depIdxs = nil
2481 }
go.temporal.io/server/service/history/fx.go 60 covered LOC · 2 ranges

Open complete file

143 }
144
145 > func HandlerProvider(args NewHandlerArgs, lc fx.Lifecycle) (*Handler, error) { fx.go
146 > handler := &Handler{
147 > status: common.DaemonStatusInitialized,
148 > config: args.Config,
149 > nexusCompletionHandler: args.NexusCompletionHandler,
150 > tokenSerializer: tasktoken.NewSerializer(),
151 > deepHealthCheckHandler: deepHealthCheckHandler{
152 > healthServer: args.HealthServer,
153 > metricsHandler: args.MetricsHandler,
154 > config: args.Config,
155 > historyHealthSignal: args.HistoryHealthSignal,
156 > persistenceHealthSignal: args.PersistenceHealthSignal,
157 > startupTime: time.Now(),
158 > },
159 > logger: args.Logger,
160 > throttledLogger: args.ThrottledLogger,
161 > persistenceExecutionManager: args.PersistenceExecutionManager,
162 > persistenceShardManager: args.PersistenceShardManager,
163 > persistenceVisibilityManager: args.PersistenceVisibilityManager,
164 > historyServiceResolver: args.HistoryServiceResolver,
165 > metricsHandler: args.MetricsHandler,
166 > payloadSerializer: args.PayloadSerializer,
167 > timeSource: args.TimeSource,
168 > namespaceRegistry: args.NamespaceRegistry,
169 > saProvider: args.SaProvider,
170 > clusterMetadata: args.ClusterMetadata,
171 > archivalMetadata: args.ArchivalMetadata,
172 > hostInfoProvider: args.HostInfoProvider,
173 > controller: args.ShardController,
174 > eventNotifier: args.EventNotifier,
175 > tracer: args.TracerProvider.Tracer(consts.LibraryName),
176 > taskQueueManager: args.TaskQueueManager,
177 > taskCategoryRegistry: args.TaskCategoryRegistry,
178 > dlqMetricsEmitter: args.DLQMetricsEmitter,
179 > chasmEngine: args.ChasmEngine,
180 > chasmRegistry: args.ChasmRegistry,
181 > testHooks: args.TestHooks,
182 >
183 > replicationTaskFetcherFactory: args.ReplicationTaskFetcherFactory,
184 > replicationTaskConverterProvider: args.ReplicationTaskConverterFactory,
185 > streamReceiverMonitor: args.StreamReceiverMonitor,
186 > replicationServerRateLimiter: args.ReplicationServerRateLimiter,
187 > }
188 >
189 > // Build the Nexus handler in OnStart rather than here so that it runs after all
190 > // fx.Invoke functions have completed. If we built it eagerly, the dependency chain
191 > //
192 > // activity.HistoryModule (fx.Invoke)
193 > // → *library → *handler → historyservice.HistoryServiceServer
194 > // → HistoryServiceServerProvider → HandlerProvider (this function)
195 > //
196 > // would force HandlerProvider to run before modules like chasmtests.Module have had
197 > // a chance to register their nexus services via their own fx.Invoke calls. As a
198 > // result, buildNexusHandler would snapshot an empty registry and h.nexusHandler
199 > // would remain nil, causing all StartNexusOperation calls to the system endpoint to
200 > // return "no nexus services registered". OnStart hooks run after ALL invokes are
201 > // done, so the registry is fully populated by the time we call buildNexusHandler.
202 > lc.Append(fx.Hook{
203 > OnStart: func(_ context.Context) error {
204 h, err := buildNexusHandler(args.ChasmRegistry)
205 if err != nil {
211 })
212
213 > return handler, nil fx.go
214 }
215
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/plugin.go 58 covered LOC · 20 ranges

Open complete file

43 }
44
45 > func init() { plugin.go
46 > sql.RegisterPlugin(PluginName, &plugin{
47 > queryConverter: &queryConverter{},
48 > connPool: newConnPool(),
49 > })
50 > }
51
52 func (p *plugin) GetVisibilityQueryConverter() sqlplugin.VisibilityQueryConverter {
61 logger log.Logger,
62 _ metrics.Handler,
63 > ) (sqlplugin.GenericDB, error) { plugin.go
64 > conn, err := p.connPool.Allocate(cfg, r, logger, p.createDBConnection)
65 > if err != nil {
66 return nil, err
67 }
68 > db := newDB(dbKind, cfg.DatabaseName, conn, nil, logger) plugin.go
69 > db.OnClose(func() { p.connPool.Close(cfg) }) // remove reference
70 > return db, nil
71 }
72
79 _ resolver.ServiceResolver,
80 logger log.Logger,
81 > ) (*sqlx.DB, error) { plugin.go
82 > dsn, err := buildDSN(cfg)
83 > if err != nil {
84 return nil, fmt.Errorf("error building DSN: %w", err)
85 }
86
87 > db, err := sqlx.Connect(goSQLDriverName, dsn) plugin.go
88 > if err != nil {
89 return nil, err
90 }
102 // respect the user's config values when set, otherwise default to 1 for
103 // backward compatibility and safety.
104 > walEnabled := strings.EqualFold(cfg.ConnectAttributes["journal_mode"], "wal") plugin.go
105 > if cfg.MaxConns > 0 {
106 if cfg.MaxConns > 1 && !walEnabled {
107 logger.Warn(
112 }
113 db.SetMaxOpenConns(cfg.MaxConns)
114 > } else { plugin.go
115 > db.SetMaxOpenConns(1)
116 > }
117 > if cfg.MaxIdleConns > 0 { plugin.go
118 db.SetMaxIdleConns(cfg.MaxIdleConns)
119 > } else { plugin.go
120 > db.SetMaxIdleConns(1) plugin.go
121 > }
122 > if cfg.MaxConnLifetime > 0 { plugin.go
123 db.SetConnMaxLifetime(cfg.MaxConnLifetime)
124 }
126 // closes. Set ConnMaxIdleTime to 0 (infinite) to prevent idle connections
127 // from being reaped, which would destroy the database.
128 > if cfg.ConnectAttributes["mode"] == "memory" { plugin.go
129 db.SetConnMaxIdleTime(0)
130 }
131
132 // Maps struct names in CamelCase to snake without need for db struct tags.
133 > db.MapperFunc(strcase.ToSnake) plugin.go
134 >
135 > switch {
136 case cfg.ConnectAttributes["mode"] == "memory":
137 // creates temporary DB overlay in order to configure database and schemas
147 }
148
149 > return db, nil plugin.go
150 }
151
163 }
164
165 > func buildDSN(cfg *config.SQL) (string, error) { plugin.go
166 > if cfg.ConnectAttributes == nil {
167 cfg.ConnectAttributes = make(map[string]string)
168 }
169 > vals, err := buildDSNAttr(cfg) plugin.go
170 > if err != nil {
171 return "", err
172 }
173 > dsn := fmt.Sprintf( plugin.go
174 > "file:%s?%v",
175 > cfg.DatabaseName,
176 > vals.Encode(),
177 > )
178 > return dsn, nil
179 }
180
181 > func buildDSNAttr(cfg *config.SQL) (url.Values, error) { plugin.go
182 > parameters := url.Values{}
183 >
184 > // sort ConnectAttributes to get a deterministic order
185 > keys := expmaps.Keys(cfg.ConnectAttributes)
186 > sort.Strings(keys)
187 >
188 > for _, k := range keys {
189 > key := strings.TrimSpace(k)
190 > value := strings.TrimSpace(cfg.ConnectAttributes[k])
191 > if parameters.Get(key) != "" {
192 return nil, fmt.Errorf("duplicate connection attr: %v:%v, %v:%v",
193 key,
197 }
198
199 > if _, isValidQueryParameter := queryParameters[key]; isValidQueryParameter { plugin.go
200 > parameters.Set(key, value)
201 > continue
202 }
203
206 }
207 // set time format
208 > parameters.Add("_time_format", "sqlite") plugin.go
209 > return parameters, nil
210 }
go.temporal.io/server/api/persistence/v1/hsm.pb.go 56 covered LOC · 13 ranges

Open complete file

147 func (*StateMachineMap) ProtoMessage() {}
148
149 > func (x *StateMachineMap) ProtoReflect() protoreflect.Message { hsm.pb.go
150 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[1]
151 > if x != nil {
152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
153 if ms.LoadMessageInfo() == nil {
156 return ms
157 }
158 > return mi.MessageOf(x) hsm.pb.go
159 }
160
272 func (*StateMachineRef) ProtoMessage() {}
273
274 > func (x *StateMachineRef) ProtoReflect() protoreflect.Message { hsm.pb.go
275 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[3]
276 > if x != nil {
277 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
278 if ms.LoadMessageInfo() == nil {
281 return ms
282 }
283 > return mi.MessageOf(x) hsm.pb.go
284 }
285
349 func (*StateMachineTaskInfo) ProtoMessage() {}
350
351 > func (x *StateMachineTaskInfo) ProtoReflect() protoreflect.Message { hsm.pb.go
352 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[4]
353 > if x != nil {
354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
355 if ms.LoadMessageInfo() == nil {
358 return ms
359 }
360 > return mi.MessageOf(x) hsm.pb.go
361 }
362
416 func (*StateMachineTimerGroup) ProtoMessage() {}
417
418 > func (x *StateMachineTimerGroup) ProtoReflect() protoreflect.Message { hsm.pb.go
419 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[5]
420 > if x != nil {
421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422 if ms.LoadMessageInfo() == nil {
425 return ms
426 }
427 > return mi.MessageOf(x) hsm.pb.go
428 }
429
478 func (*VersionedTransition) ProtoMessage() {}
479
480 > func (x *VersionedTransition) ProtoReflect() protoreflect.Message { hsm.pb.go
481 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[6]
482 > if x != nil {
483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
484 if ms.LoadMessageInfo() == nil {
487 return ms
488 }
489 > return mi.MessageOf(x) hsm.pb.go
490 }
491
531 func (*StateMachineTombstoneBatch) ProtoMessage() {}
532
533 > func (x *StateMachineTombstoneBatch) ProtoReflect() protoreflect.Message { hsm.pb.go
534 > mi := &file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[7]
535 > if x != nil {
536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
537 if ms.LoadMessageInfo() == nil {
540 return ms
541 }
542 > return mi.MessageOf(x) hsm.pb.go
543 }
544
895 }
896
897 > func init() { file_temporal_server_api_persistence_v1_hsm_proto_init() } hsm.pb.go
898 > func file_temporal_server_api_persistence_v1_hsm_proto_init() {
899 > if File_temporal_server_api_persistence_v1_hsm_proto != nil {
900 > return
901 > }
902 > file_temporal_server_api_persistence_v1_hsm_proto_msgTypes[8].OneofWrappers = []any{
903 > (*StateMachineTombstone_ActivityScheduledEventId)(nil),
904 > (*StateMachineTombstone_TimerId)(nil),
905 > (*StateMachineTombstone_ChildExecutionInitiatedEventId)(nil),
906 > (*StateMachineTombstone_RequestCancelInitiatedEventId)(nil),
907 > (*StateMachineTombstone_SignalExternalInitiatedEventId)(nil),
908 > (*StateMachineTombstone_UpdateId)(nil),
909 > (*StateMachineTombstone_StateMachinePath)(nil),
910 > (*StateMachineTombstone_ChasmNodePath)(nil),
911 > }
912 > type x struct{}
913 > out := protoimpl.TypeBuilder{
914 > File: protoimpl.DescBuilder{
915 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
916 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_hsm_proto_rawDesc), len(file_temporal_server_api_persistence_v1_hsm_proto_rawDesc)),
917 > NumEnums: 0,
918 > NumMessages: 12,
919 > NumExtensions: 0,
920 > NumServices: 0,
921 > },
922 > GoTypes: file_temporal_server_api_persistence_v1_hsm_proto_goTypes,
923 > DependencyIndexes: file_temporal_server_api_persistence_v1_hsm_proto_depIdxs,
924 > MessageInfos: file_temporal_server_api_persistence_v1_hsm_proto_msgTypes,
925 > }.Build()
926 > File_temporal_server_api_persistence_v1_hsm_proto = out.File
927 > file_temporal_server_api_persistence_v1_hsm_proto_goTypes = nil
928 > file_temporal_server_api_persistence_v1_hsm_proto_depIdxs = nil
929 }
go.temporal.io/server/common/dynamicconfig/collection.go 46 covered LOC · 10 ranges

Open complete file

111 // NewCollection creates a new collection. For subscriptions to work, you must call Start/Stop.
112 // Get will work without Start/Stop.
113 > func NewCollection(client Client, logger log.Logger) *Collection { collection.go
114 > // Do this at the first convenient place we have a logger:
115 > logSharedStructureWarnings(logger)
116 >
117 > return &Collection{
118 > client: client,
119 > logger: logger,
120 > errCount: -1,
121 > subscriptions: make(map[Key]map[int]any),
122 > convertCache: new(sync.Map),
123 > indexCache: new(sync.Map),
124 > }
125 > }
126
127 func (c *Collection) Start() {
212 cvs []ConstrainedValue,
213 precedence []Constraints,
214 > ) (*ConstrainedValue, error) { collection.go
215 > if len(cvs) == 0 {
216 > return nil, errKeyNotPresent collection.go
217 > } else if len(cvs) > constraintsCacheThreshold && len(cvs) <= math.MaxInt32 { collection.go
218 return findMatchWithCache(cache, cvs, precedence)
219 }
279 convert func(value any) (T, error),
280 precedence []Constraints,
281 > ) T { collection.go
282 > cvs := c.client.GetValue(key)
283 > v, _ := matchAndConvertCvs(c, key, def, convert, precedence, cvs)
284 > return v
285 > }
286
287 func matchAndConvertCvs[T any](
292 precedence []Constraints,
293 cvs []ConstrainedValue,
294 > ) (T, any) { collection.go
295 > cvp, err := findMatch(c.indexCache, cvs, precedence)
296 > if err != nil {
297 > // couldn't find a constrained match, use default collection.go
298 > return def, usingDefaultValue
299 > }
300
301 typedVal, err := convertWithCache(c, key, convert, cvp)
676 // treat the fields independently), or the zero value of its type (if you want to treat the fields
677 // as a group and default unset fields to zero).
678 > func ConvertStructure[T any](def T) func(v any) (T, error) { collection.go
679 > return func(v any) (T, error) {
680 > // if we already have the right type, no conversion is necessary
681 > if typedV, ok := v.(T); ok {
682 return typedV, nil
683 }
685 // Deep-copy the default and decode over it. This allows using e.g. a struct with some
686 // default fields filled in and a config that only set some fields.
687 > out := deepCopyForMapstructure(def) collection.go
688 >
689 > dec, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
690 > Result: &out,
691 > DecodeHook: mapstructure.ComposeDecodeHookFunc(
692 > mapstructureHookDuration,
693 > mapstructureHookTimestamp,
694 > mapstructureHookProtoEnum,
695 > mapstructureHookGeneric,
696 > ),
697 > })
698 > if err != nil {
699 return out, err
700 }
701 > err = dec.Decode(v) collection.go
702 > return out, err
703 }
704 }
go.temporal.io/server/api/matchingservice/v1/request_response.pb.go 43 covered LOC · 1 range

Open complete file

6833 }
6834
6835 > func init() { file_temporal_server_api_matchingservice_v1_request_response_proto_init() } request_response.pb.go
6836 > func file_temporal_server_api_matchingservice_v1_request_response_proto_init() {
6837 > if File_temporal_server_api_matchingservice_v1_request_response_proto != nil {
6838 > return
6839 > }
6840 > file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes[27].OneofWrappers = []any{
6841 > (*UpdateWorkerBuildIdCompatibilityRequest_ApplyPublicRequest_)(nil),
6842 > (*UpdateWorkerBuildIdCompatibilityRequest_RemoveBuildIds_)(nil),
6843 > (*UpdateWorkerBuildIdCompatibilityRequest_PersistUnknownBuildId)(nil),
6844 > }
6845 > file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes[29].OneofWrappers = []any{
6846 > (*GetWorkerVersioningRulesRequest_Request)(nil),
6847 > }
6848 > file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes[31].OneofWrappers = []any{
6849 > (*UpdateWorkerVersioningRulesRequest_Request)(nil),
6850 > }
6851 > file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes[37].OneofWrappers = []any{
6852 > (*SyncDeploymentUserDataRequest_UpdateVersionData)(nil),
6853 > (*SyncDeploymentUserDataRequest_ForgetVersion)(nil),
6854 > }
6855 > file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes[56].OneofWrappers = []any{
6856 > (*DispatchNexusTaskResponse_HandlerError)(nil),
6857 > (*DispatchNexusTaskResponse_Response)(nil),
6858 > (*DispatchNexusTaskResponse_RequestTimeout)(nil),
6859 > (*DispatchNexusTaskResponse_Failure)(nil),
6860 > }
6861 > type x struct{}
6862 > out := protoimpl.TypeBuilder{
6863 > File: protoimpl.DescBuilder{
6864 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
6865 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_matchingservice_v1_request_response_proto_rawDesc), len(file_temporal_server_api_matchingservice_v1_request_response_proto_rawDesc)),
6866 > NumEnums: 0,
6867 > NumMessages: 97,
6868 > NumExtensions: 0,
6869 > NumServices: 0,
6870 > },
6871 > GoTypes: file_temporal_server_api_matchingservice_v1_request_response_proto_goTypes,
6872 > DependencyIndexes: file_temporal_server_api_matchingservice_v1_request_response_proto_depIdxs,
6873 > MessageInfos: file_temporal_server_api_matchingservice_v1_request_response_proto_msgTypes,
6874 > }.Build()
6875 > File_temporal_server_api_matchingservice_v1_request_response_proto = out.File
6876 > file_temporal_server_api_matchingservice_v1_request_response_proto_goTypes = nil
6877 > file_temporal_server_api_matchingservice_v1_request_response_proto_depIdxs = nil
6878 }
go.temporal.io/server/common/persistence/sql/factory.go 41 covered LOC · 10 ranges

Open complete file

50 metricsHandler metrics.Handler,
51 serializer serialization.Serializer,
52 > ) *Factory { factory.go
53 > return &Factory{
54 > cfg: cfg,
55 > clusterName: clusterName,
56 > logger: logger,
57 > serializer: serializer,
58 > mainDBConn: NewRefCountedDBConn(sqlplugin.DbKindMain, &cfg, r, logger, metricsHandler),
59 > }
60 > }
61
62 // GetDB return a new SQL DB connection
134
135 // NewQueueV2 returns a new data-access object for queues and messages.
136 > func (f *Factory) NewQueueV2() (p.QueueV2, error) { factory.go
137 > conn, err := f.mainDBConn.Get()
138 > if err != nil {
139 return nil, err
140 }
141 > return NewQueueV2(conn, f.logger, f.serializer), nil factory.go
142 }
143
152
153 // Close closes the factory
154 > func (f *Factory) Close() { factory.go
155 > f.mainDBConn.ForceClose()
156 > }
157
158 // NewRefCountedDBConn returns a logical mysql connection that
166 logger log.Logger,
167 metricsHandler metrics.Handler,
168 > ) DbConn { factory.go
169 > return DbConn{
170 > dbKind: dbKind,
171 > cfg: cfg,
172 > resolver: r,
173 > metrics: metricsHandler,
174 > logger: logger,
175 > }
176 > }
177
178 // Get returns a db connection and increments a reference count.
179 // This method will create a new connection, if an existing connection
180 // does not exist
181 > func (c *DbConn) Get() (sqlplugin.DB, error) { factory.go
182 > c.Lock()
183 > defer c.Unlock()
184 > if c.refCnt == 0 {
185 > conn, err := NewSQLDB(c.dbKind, c.cfg, c.resolver, c.logger, c.metrics)
186 > if err != nil {
187 return nil, err
188 }
189 > c.DB = conn factory.go
190 }
191 > c.refCnt++ factory.go
192 > return c, nil
193 }
194
195 // ForceClose ignores reference counts and shutsdown the underlying connection pool
196 > func (c *DbConn) ForceClose() { factory.go
197 > c.Lock()
198 > defer c.Unlock()
199 > if c.DB != nil {
200 > err := c.DB.Close()
201 > if err != nil {
202 fmt.Println("failed to close database connection, may leak some connection", err)
203 }
204 }
205 > c.refCnt = 0 factory.go
206 }
207
go.temporal.io/server/client/history/connections.go 39 covered LOC · 8 ranges

Open complete file

56 logger log.Logger,
57 connectionCloseDelay dynamicconfig.DurationPropertyFn,
58 > ) *connectionPoolImpl[C] { connections.go
59 > conns := &sync.Map{}
60 >
61 > c := &connectionPoolImpl[C]{
62 > conns: conns,
63 > historyServiceResolver: historyServiceResolver,
64 > rpcFactory: rpcFactory,
65 > clientCtor: clientCtor,
66 > logger: logger,
67 > connectionCloseDelay: connectionCloseDelay,
68 > }
69 >
70 > // Close cached conns whose host leaves the membership ring.
71 > c.watcher = goro.NewHandle(context.Background()).Go(c.watchMembership)
72 > return c
73 > }
74
75 // Close stops the watcher and closes all pooled connections.
90 }
91
92 > func (c *connectionPoolImpl[C]) watchMembership(ctx context.Context) error { connections.go
93 > listenerName := fmt.Sprintf("%p", c.conns)
94 > ch := make(chan *membership.ChangedEvent, 1)
95 > if err := c.historyServiceResolver.AddListener(listenerName, ch); err != nil {
96 c.logger.Error("Failed to subscribe history connection pool to membership", tag.Error(err))
97 return err
98 }
99 > defer func() { _ = c.historyServiceResolver.RemoveListener(listenerName) }() connections.go
100
101 // Reap departed hosts via a per-address deadline checked by a single ticker;
102 // a re-add resets it to the latest removal.
103 > evictAt := make(map[rpcAddress]time.Time) connections.go
104 > ticker := time.NewTicker(evictionCheckInterval)
105 > defer ticker.Stop()
106 > for {
107 > select {
108 case <-ctx.Done():
109 return nil
147 }
148
149 > func (c *connectionPoolImpl[C]) getOrCreateClientConn(addr rpcAddress) clientConnection[C] { connections.go
150 > if v, ok := c.conns.Load(addr); ok {
151 > return v.(clientConnection[C]) // nolint:revive // unchecked-type-assertion
152 > }
153
154 > grpcConn := c.rpcFactory.CreateHistoryGRPCConnection(string(addr)) connections.go
155 > cc := clientConnection[C]{
156 > grpcClient: c.clientCtor(grpcConn),
157 > grpcConn: grpcConn,
158 > }
159 >
160 > if actual, loaded := c.conns.LoadOrStore(addr, cc); loaded {
161 _ = grpcConn.Close()
162 return actual.(clientConnection[C]) // nolint:revive // unchecked-type-assertion
163 }
164 // Lost the race with Close; drop the conn we just cached.
165 > if c.closed.Load() { connections.go
166 if v, ok := c.conns.LoadAndDelete(addr); ok {
167 _ = v.(clientConnection[C]).grpcConn.Close()
168 }
169 }
170 > return cc connections.go
171 }
172
go.temporal.io/server/common/backoff/retrypolicy.go 38 covered LOC · 7 ranges

Open complete file

80
81 // NewExponentialRetryPolicy returns an instance of ExponentialRetryPolicy using the provided initialInterval
82 > func NewExponentialRetryPolicy(initialInterval time.Duration) *ExponentialRetryPolicy { retrypolicy.go
83 > p := &ExponentialRetryPolicy{
84 > initialInterval: initialInterval,
85 > backoffCoefficient: defaultBackoffCoefficient,
86 > maximumInterval: defaultMaximumInterval,
87 > expirationInterval: defaultExpirationInterval,
88 > maximumAttempts: defaultMaximumAttempts,
89 > }
90 >
91 > return p
92 > }
93
94 // NewRetrier is used for creating a new instance of Retrier
113 // All retries are computed using the following formula:
114 // initialInterval * math.Pow(backoffCoefficient, currentAttempt)
115 > func (p *ExponentialRetryPolicy) WithBackoffCoefficient(backoffCoefficient float64) *ExponentialRetryPolicy { retrypolicy.go
116 > p.backoffCoefficient = backoffCoefficient
117 > return p
118 > }
119
120 // WithMaximumInterval sets the maximum interval for each retry.
121 // This does *not* cause the policy to stop retrying when the interval between retries reaches the supplied duration.
122 // That is what WithExpirationInterval does. Instead, this prevents the interval from exceeding maximumInterval.
123 > func (p *ExponentialRetryPolicy) WithMaximumInterval(maximumInterval time.Duration) *ExponentialRetryPolicy { retrypolicy.go
124 > p.maximumInterval = maximumInterval
125 > return p
126 > }
127
128 // WithExpirationInterval sets the absolute expiration interval for all retries
129 > func (p *ExponentialRetryPolicy) WithExpirationInterval(expirationInterval time.Duration) *ExponentialRetryPolicy { retrypolicy.go
130 > p.expirationInterval = expirationInterval
131 > return p
132 > }
133
134 // WithMaximumAttempts sets the maximum number of retry attempts
135 > func (p *ExponentialRetryPolicy) WithMaximumAttempts(maximumAttempts int) *ExponentialRetryPolicy { retrypolicy.go
136 > p.maximumAttempts = maximumAttempts
137 > return p
138 > }
139
140 // ComputeNextDelay returns the next delay interval. This is used by Retrier to delay calling the operation again
267 var _ RetryPolicy = (*ConstantDelayRetryPolicy)(nil)
268
269 > func NewConstantDelayRetryPolicy(delay time.Duration) *ConstantDelayRetryPolicy { retrypolicy.go
270 > return &ConstantDelayRetryPolicy{
271 > maximumAttempts: defaultMaximumAttempts,
272 > jitterPct: defaultJitterPct,
273 > delay: delay,
274 > }
275 > }
276
277 > func (p *ConstantDelayRetryPolicy) WithMaximumAttempts(maximumAttempts int) *ConstantDelayRetryPolicy { retrypolicy.go
278 > p.maximumAttempts = maximumAttempts
279 > return p
280 > }
281
282 func (p *ConstantDelayRetryPolicy) WithJitter(jitterPct float64) *ConstantDelayRetryPolicy {
go.temporal.io/server/api/persistence/v1/chasm.pb.go 37 covered LOC · 3 ranges

Open complete file

571 func (*ChasmTaskInfo) ProtoMessage() {}
572
573 > func (x *ChasmTaskInfo) ProtoReflect() protoreflect.Message { chasm.pb.go
574 > mi := &file_temporal_server_api_persistence_v1_chasm_proto_msgTypes[8]
575 > if x != nil {
576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
577 if ms.LoadMessageInfo() == nil {
580 return ms
581 }
582 > return mi.MessageOf(x) chasm.pb.go
583 }
584
1180 }
1181
1182 > func init() { file_temporal_server_api_persistence_v1_chasm_proto_init() } chasm.pb.go
1183 > func file_temporal_server_api_persistence_v1_chasm_proto_init() {
1184 > if File_temporal_server_api_persistence_v1_chasm_proto != nil {
1185 > return
1186 > }
1187 > file_temporal_server_api_persistence_v1_hsm_proto_init()
1188 > file_temporal_server_api_persistence_v1_chasm_proto_msgTypes[1].OneofWrappers = []any{
1189 > (*ChasmNodeMetadata_ComponentAttributes)(nil),
1190 > (*ChasmNodeMetadata_DataAttributes)(nil),
1191 > (*ChasmNodeMetadata_CollectionAttributes)(nil),
1192 > (*ChasmNodeMetadata_PointerAttributes)(nil),
1193 > }
1194 > file_temporal_server_api_persistence_v1_chasm_proto_msgTypes[10].OneofWrappers = []any{
1195 > (*ChasmNexusCompletion_Success)(nil),
1196 > (*ChasmNexusCompletion_Failure)(nil),
1197 > }
1198 > type x struct{}
1199 > out := protoimpl.TypeBuilder{
1200 > File: protoimpl.DescBuilder{
1201 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1202 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_chasm_proto_rawDesc), len(file_temporal_server_api_persistence_v1_chasm_proto_rawDesc)),
1203 > NumEnums: 0,
1204 > NumMessages: 15,
1205 > NumExtensions: 0,
1206 > NumServices: 0,
1207 > },
1208 > GoTypes: file_temporal_server_api_persistence_v1_chasm_proto_goTypes,
1209 > DependencyIndexes: file_temporal_server_api_persistence_v1_chasm_proto_depIdxs,
1210 > MessageInfos: file_temporal_server_api_persistence_v1_chasm_proto_msgTypes,
1211 > }.Build()
1212 > File_temporal_server_api_persistence_v1_chasm_proto = out.File
1213 > file_temporal_server_api_persistence_v1_chasm_proto_goTypes = nil
1214 > file_temporal_server_api_persistence_v1_chasm_proto_depIdxs = nil
1215 }
go.temporal.io/server/api/taskqueue/v1/message.pb.go 37 covered LOC · 6 ranges

Open complete file

81 func (*TaskVersionDirective) ProtoMessage() {}
82
83 > func (x *TaskVersionDirective) ProtoReflect() protoreflect.Message { message.pb.go
84 > mi := &file_temporal_server_api_taskqueue_v1_message_proto_msgTypes[0]
85 > if x != nil {
86 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
87 if ms.LoadMessageInfo() == nil {
90 return ms
91 }
92 > return mi.MessageOf(x) message.pb.go
93 }
94
658 func (*BuildIdRedirectInfo) ProtoMessage() {}
659
660 > func (x *BuildIdRedirectInfo) ProtoReflect() protoreflect.Message { message.pb.go
661 > mi := &file_temporal_server_api_taskqueue_v1_message_proto_msgTypes[7]
662 > if x != nil {
663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
664 if ms.LoadMessageInfo() == nil {
667 return ms
668 }
669 > return mi.MessageOf(x) message.pb.go
670 }
671
1330 }
1331
1332 > func init() { file_temporal_server_api_taskqueue_v1_message_proto_init() } message.pb.go
1333 > func file_temporal_server_api_taskqueue_v1_message_proto_init() {
1334 > if File_temporal_server_api_taskqueue_v1_message_proto != nil {
1335 return
1336 }
1337 > file_temporal_server_api_taskqueue_v1_message_proto_msgTypes[0].OneofWrappers = []any{ message.pb.go
1338 > (*TaskVersionDirective_UseAssignmentRules)(nil),
1339 > (*TaskVersionDirective_AssignedBuildId)(nil),
1340 > }
1341 > file_temporal_server_api_taskqueue_v1_message_proto_msgTypes[5].OneofWrappers = []any{
1342 > (*TaskQueuePartition_NormalPartitionId)(nil),
1343 > (*TaskQueuePartition_StickyName)(nil),
1344 > (*TaskQueuePartition_WorkerCommands)(nil),
1345 > }
1346 > type x struct{}
1347 > out := protoimpl.TypeBuilder{
1348 > File: protoimpl.DescBuilder{
1349 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1350 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_taskqueue_v1_message_proto_rawDesc), len(file_temporal_server_api_taskqueue_v1_message_proto_rawDesc)),
1351 > NumEnums: 0,
1352 > NumMessages: 16,
1353 > NumExtensions: 0,
1354 > NumServices: 0,
1355 > },
1356 > GoTypes: file_temporal_server_api_taskqueue_v1_message_proto_goTypes,
1357 > DependencyIndexes: file_temporal_server_api_taskqueue_v1_message_proto_depIdxs,
1358 > MessageInfos: file_temporal_server_api_taskqueue_v1_message_proto_msgTypes,
1359 > }.Build()
1360 > File_temporal_server_api_taskqueue_v1_message_proto = out.File
1361 > file_temporal_server_api_taskqueue_v1_message_proto_goTypes = nil
1362 > file_temporal_server_api_taskqueue_v1_message_proto_depIdxs = nil
1363 }
go.temporal.io/server/common/membership/interfaces_mock.go 37 covered LOC · 8 ranges

Open complete file

169
170 // NewMockServiceResolver creates a new mock instance.
171 > func NewMockServiceResolver(ctrl *gomock.Controller) *MockServiceResolver { interfaces_mock.go
172 > mock := &MockServiceResolver{ctrl: ctrl}
173 > mock.recorder = &MockServiceResolverMockRecorder{mock}
174 > return mock
175 > }
176
177 // EXPECT returns an object that allows the caller to indicate expected use.
178 > func (m *MockServiceResolver) EXPECT() *MockServiceResolverMockRecorder { interfaces_mock.go
179 > return m.recorder
180 > }
181
182 // AddListener mocks base method.
183 > func (m *MockServiceResolver) AddListener(name string, notifyChannel chan<- *ChangedEvent) error { interfaces_mock.go
184 > m.ctrl.T.Helper()
185 > ret := m.ctrl.Call(m, "AddListener", name, notifyChannel)
186 > ret0, _ := ret[0].(error)
187 > return ret0
188 > }
189
190 // AddListener indicates an expected call of AddListener.
191 > func (mr *MockServiceResolverMockRecorder) AddListener(name, notifyChannel any) *gomock.Call { interfaces_mock.go
192 > mr.mock.ctrl.T.Helper()
193 > return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddListener", reflect.TypeOf((*MockServiceResolver)(nil).AddListener), name, notifyChannel)
194 > }
195
196 // AvailableMemberCount mocks base method.
223
224 // Lookup mocks base method.
225 > func (m *MockServiceResolver) Lookup(key string) (HostInfo, error) { interfaces_mock.go
226 > m.ctrl.T.Helper()
227 > ret := m.ctrl.Call(m, "Lookup", key)
228 > ret0, _ := ret[0].(HostInfo)
229 > ret1, _ := ret[1].(error)
230 > return ret0, ret1
231 > }
232
233 // Lookup indicates an expected call of Lookup.
234 > func (mr *MockServiceResolverMockRecorder) Lookup(key any) *gomock.Call { interfaces_mock.go
235 > mr.mock.ctrl.T.Helper()
236 > return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Lookup", reflect.TypeOf((*MockServiceResolver)(nil).Lookup), key)
237 > }
238
239 // LookupN mocks base method.
274
275 // Members indicates an expected call of Members.
276 > func (mr *MockServiceResolverMockRecorder) Members() *gomock.Call { interfaces_mock.go
277 > mr.mock.ctrl.T.Helper()
278 > return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Members", reflect.TypeOf((*MockServiceResolver)(nil).Members))
279 > }
280
281 // RemoveListener mocks base method.
288
289 // RemoveListener indicates an expected call of RemoveListener.
290 > func (mr *MockServiceResolverMockRecorder) RemoveListener(name any) *gomock.Call { interfaces_mock.go
291 > mr.mock.ctrl.T.Helper()
292 > return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveListener", reflect.TypeOf((*MockServiceResolver)(nil).RemoveListener), name)
293 > }
294
295 // RequestRefresh mocks base method.
go.temporal.io/server/api/common/v1/dlq.pb.go 36 covered LOC · 10 ranges

Open complete file

46 func (*HistoryTask) ProtoMessage() {}
47
48 > func (x *HistoryTask) ProtoReflect() protoreflect.Message { dlq.pb.go
49 > mi := &file_temporal_server_api_common_v1_dlq_proto_msgTypes[0]
50 > if x != nil {
51 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
52 if ms.LoadMessageInfo() == nil {
55 return ms
56 }
57 > return mi.MessageOf(x) dlq.pb.go
58 }
59
98 func (*HistoryDLQTaskMetadata) ProtoMessage() {}
99
100 > func (x *HistoryDLQTaskMetadata) ProtoReflect() protoreflect.Message { dlq.pb.go
101 > mi := &file_temporal_server_api_common_v1_dlq_proto_msgTypes[1]
102 > if x != nil {
103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
104 if ms.LoadMessageInfo() == nil {
107 return ms
108 }
109 > return mi.MessageOf(x) dlq.pb.go
110 }
111
146 func (*HistoryDLQTask) ProtoMessage() {}
147
148 > func (x *HistoryDLQTask) ProtoReflect() protoreflect.Message { dlq.pb.go
149 > mi := &file_temporal_server_api_common_v1_dlq_proto_msgTypes[2]
150 > if x != nil {
151 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
152 if ms.LoadMessageInfo() == nil {
155 return ms
156 }
157 > return mi.MessageOf(x) dlq.pb.go
158 }
159
207 func (*HistoryDLQKey) ProtoMessage() {}
208
209 > func (x *HistoryDLQKey) ProtoReflect() protoreflect.Message { dlq.pb.go
210 > mi := &file_temporal_server_api_common_v1_dlq_proto_msgTypes[3]
211 > if x != nil {
212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
213 if ms.LoadMessageInfo() == nil {
216 return ms
217 }
218 > return mi.MessageOf(x) dlq.pb.go
219 }
220
295 }
296
297 > func init() { file_temporal_server_api_common_v1_dlq_proto_init() } dlq.pb.go
298 > func file_temporal_server_api_common_v1_dlq_proto_init() {
299 > if File_temporal_server_api_common_v1_dlq_proto != nil {
300 return
301 }
302 > type x struct{} dlq.pb.go
303 > out := protoimpl.TypeBuilder{
304 > File: protoimpl.DescBuilder{
305 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
306 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_common_v1_dlq_proto_rawDesc), len(file_temporal_server_api_common_v1_dlq_proto_rawDesc)),
307 > NumEnums: 0,
308 > NumMessages: 4,
309 > NumExtensions: 0,
310 > NumServices: 0,
311 > },
312 > GoTypes: file_temporal_server_api_common_v1_dlq_proto_goTypes,
313 > DependencyIndexes: file_temporal_server_api_common_v1_dlq_proto_depIdxs,
314 > MessageInfos: file_temporal_server_api_common_v1_dlq_proto_msgTypes,
315 > }.Build()
316 > File_temporal_server_api_common_v1_dlq_proto = out.File
317 > file_temporal_server_api_common_v1_dlq_proto_goTypes = nil
318 > file_temporal_server_api_common_v1_dlq_proto_depIdxs = nil
319 }
go.temporal.io/server/api/history/v1/message.pb.go 36 covered LOC · 10 ranges

Open complete file

46 func (*TransientWorkflowTaskInfo) ProtoMessage() {}
47
48 > func (x *TransientWorkflowTaskInfo) ProtoReflect() protoreflect.Message { message.pb.go
49 > mi := &file_temporal_server_api_history_v1_message_proto_msgTypes[0]
50 > if x != nil {
51 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
52 if ms.LoadMessageInfo() == nil {
55 return ms
56 }
57 > return mi.MessageOf(x) message.pb.go
58 }
59
92 func (*VersionHistoryItem) ProtoMessage() {}
93
94 > func (x *VersionHistoryItem) ProtoReflect() protoreflect.Message { message.pb.go
95 > mi := &file_temporal_server_api_history_v1_message_proto_msgTypes[1]
96 > if x != nil {
97 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
98 if ms.LoadMessageInfo() == nil {
101 return ms
102 }
103 > return mi.MessageOf(x) message.pb.go
104 }
105
145 func (*VersionHistory) ProtoMessage() {}
146
147 > func (x *VersionHistory) ProtoReflect() protoreflect.Message { message.pb.go
148 > mi := &file_temporal_server_api_history_v1_message_proto_msgTypes[2]
149 > if x != nil {
150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
151 if ms.LoadMessageInfo() == nil {
154 return ms
155 }
156 > return mi.MessageOf(x) message.pb.go
157 }
158
198 func (*VersionHistories) ProtoMessage() {}
199
200 > func (x *VersionHistories) ProtoReflect() protoreflect.Message { message.pb.go
201 > mi := &file_temporal_server_api_history_v1_message_proto_msgTypes[3]
202 > if x != nil {
203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
204 if ms.LoadMessageInfo() == nil {
207 return ms
208 }
209 > return mi.MessageOf(x) message.pb.go
210 }
211
498 }
499
500 > func init() { file_temporal_server_api_history_v1_message_proto_init() } message.pb.go
501 > func file_temporal_server_api_history_v1_message_proto_init() {
502 > if File_temporal_server_api_history_v1_message_proto != nil {
503 return
504 }
505 > type x struct{} message.pb.go
506 > out := protoimpl.TypeBuilder{
507 > File: protoimpl.DescBuilder{
508 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
509 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_history_v1_message_proto_rawDesc), len(file_temporal_server_api_history_v1_message_proto_rawDesc)),
510 > NumEnums: 0,
511 > NumMessages: 8,
512 > NumExtensions: 0,
513 > NumServices: 0,
514 > },
515 > GoTypes: file_temporal_server_api_history_v1_message_proto_goTypes,
516 > DependencyIndexes: file_temporal_server_api_history_v1_message_proto_depIdxs,
517 > MessageInfos: file_temporal_server_api_history_v1_message_proto_msgTypes,
518 > }.Build()
519 > File_temporal_server_api_history_v1_message_proto = out.File
520 > file_temporal_server_api_history_v1_message_proto_goTypes = nil
521 > file_temporal_server_api_history_v1_message_proto_depIdxs = nil
522 }
go.temporal.io/server/common/namespace/testconstructors.go 36 covered LOC · 8 ranges

Open complete file

13 config *persistencespb.NamespaceConfig,
14 targetCluster string,
15 > ) *Namespace { testconstructors.go
16 > detail := &persistencespb.NamespaceDetail{
17 > Info: ensureInfo(info),
18 > Config: ensureConfig(config),
19 > ReplicationConfig: &persistencespb.NamespaceReplicationConfig{
20 > ActiveClusterName: targetCluster,
21 > Clusters: []string{targetCluster},
22 > },
23 > FailoverVersion: common.EmptyVersion,
24 > }
25 > factory := NewDefaultReplicationResolverFactory()
26 > resolver := factory(detail)
27 > ns, _ := FromPersistentState(detail, resolver, WithGlobalFlag(false))
28 > return ns
29 > }
30
31 // NewNamespaceForTest returns an entry with test data
55 repConfig *persistencespb.NamespaceReplicationConfig,
56 failoverVersion int64,
57 > ) *Namespace { testconstructors.go
58 > detail := &persistencespb.NamespaceDetail{
59 > Info: ensureInfo(info),
60 > Config: ensureConfig(config),
61 > ReplicationConfig: ensureRepConfig(repConfig),
62 > FailoverVersion: failoverVersion,
63 > }
64 > factory := NewDefaultReplicationResolverFactory()
65 > resolver := factory(detail)
66 > ns, _ := FromPersistentState(detail, resolver, WithGlobalFlag(true))
67 > return ns
68 > }
69
70 > func ensureInfo(proto *persistencespb.NamespaceInfo) *persistencespb.NamespaceInfo { testconstructors.go
71 > if proto == nil {
72 return &persistencespb.NamespaceInfo{}
73 }
74 > return proto testconstructors.go
75 }
76
77 > func ensureConfig(proto *persistencespb.NamespaceConfig) *persistencespb.NamespaceConfig { testconstructors.go
78 > if proto == nil {
79 return &persistencespb.NamespaceConfig{}
80 }
81 > return proto testconstructors.go
82 }
83
84 > func ensureRepConfig(proto *persistencespb.NamespaceReplicationConfig) *persistencespb.NamespaceReplicationConfig { testconstructors.go
85 > if proto == nil {
86 return &persistencespb.NamespaceReplicationConfig{}
87 }
88 > return proto testconstructors.go
89 }
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/db.go 36 covered LOC · 10 ranges

Open complete file

39 tx *sqlx.Tx,
40 logger log.Logger,
41 > ) *db { db.go
42 > mdb := &db{
43 > dbKind: dbKind,
44 > dbName: dbName,
45 > onClose: make([]func(), 0),
46 > db: xdb,
47 > tx: tx,
48 > logger: logger,
49 > }
50 > mdb.conn = xdb
51 > if tx != nil {
52 > mdb.conn = tx db.go
53 > }
54 > mdb.converter = &converter{} db.go
55 > return mdb
56 }
57
58 // BeginTx starts a new transaction and returns a reference to the Tx object
59 > func (mdb *db) BeginTx(ctx context.Context) (sqlplugin.Tx, error) { db.go
60 > xtx, err := mdb.db.BeginTxx(ctx, nil)
61 > if err != nil {
62 return nil, err
63 }
64 > return newDB(mdb.dbKind, mdb.dbName, mdb.db, xtx, mdb.logger), nil db.go
65 }
66
67 // Commit commits a previously started transaction
68 > func (mdb *db) Commit() error { db.go
69 > return mdb.tx.Commit()
70 > }
71
72 // Rollback triggers rollback of a previously started transaction
75 }
76
77 > func (mdb *db) OnClose(hook func()) { db.go
78 > mdb.mu.Lock()
79 > mdb.onClose = append(mdb.onClose, hook)
80 > mdb.mu.Unlock()
81 > }
82
83 // Close closes the connection to the sqlite db
84 > func (mdb *db) Close() error { db.go
85 > mdb.mu.RLock()
86 > defer mdb.mu.RUnlock()
87 >
88 > for _, hook := range mdb.onClose {
89 > // de-registers the database from conn pool db.go
90 > hook()
91 > }
92
93 // database connection will be automatically closed by the hook handler when all references are removed
94 > return nil db.go
95 }
96
go.temporal.io/server/api/persistence/v1/update.pb.go 35 covered LOC · 3 ranges

Open complete file

222 func (*UpdateInfo) ProtoMessage() {}
223
224 > func (x *UpdateInfo) ProtoReflect() protoreflect.Message { update.pb.go
225 > mi := &file_temporal_server_api_persistence_v1_update_proto_msgTypes[3]
226 > if x != nil {
227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
228 if ms.LoadMessageInfo() == nil {
231 return ms
232 }
233 > return mi.MessageOf(x) update.pb.go
234 }
235
422 }
423
424 > func init() { file_temporal_server_api_persistence_v1_update_proto_init() } update.pb.go
425 > func file_temporal_server_api_persistence_v1_update_proto_init() {
426 > if File_temporal_server_api_persistence_v1_update_proto != nil {
427 > return
428 > }
429 > file_temporal_server_api_persistence_v1_hsm_proto_init()
430 > file_temporal_server_api_persistence_v1_update_proto_msgTypes[0].OneofWrappers = []any{
431 > (*UpdateAdmissionInfo_HistoryPointer_)(nil),
432 > }
433 > file_temporal_server_api_persistence_v1_update_proto_msgTypes[3].OneofWrappers = []any{
434 > (*UpdateInfo_Acceptance)(nil),
435 > (*UpdateInfo_Completion)(nil),
436 > (*UpdateInfo_Admission)(nil),
437 > }
438 > type x struct{}
439 > out := protoimpl.TypeBuilder{
440 > File: protoimpl.DescBuilder{
441 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
442 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_update_proto_rawDesc), len(file_temporal_server_api_persistence_v1_update_proto_rawDesc)),
443 > NumEnums: 0,
444 > NumMessages: 5,
445 > NumExtensions: 0,
446 > NumServices: 0,
447 > },
448 > GoTypes: file_temporal_server_api_persistence_v1_update_proto_goTypes,
449 > DependencyIndexes: file_temporal_server_api_persistence_v1_update_proto_depIdxs,
450 > MessageInfos: file_temporal_server_api_persistence_v1_update_proto_msgTypes,
451 > }.Build()
452 > File_temporal_server_api_persistence_v1_update_proto = out.File
453 > file_temporal_server_api_persistence_v1_update_proto_goTypes = nil
454 > file_temporal_server_api_persistence_v1_update_proto_depIdxs = nil
455 }
go.temporal.io/server/common/metrics/defs.go 35 covered LOC · 5 ranges

Open complete file

20 )
21
22 > func NewTimerDef(name string, opts ...Option) timerDefinition { defs.go
23 > // This line cannot be combined with others!
24 > // This ensures the stack trace has information of the caller.
25 > def := newMetricDefinition(name, opts...)
26 > globalRegistry.register(def)
27 > return timerDefinition{def}
28 > }
29
30 > func NewBytesHistogramDef(name string, opts ...Option) histogramDefinition { defs.go
31 > // This line cannot be combined with others!
32 > // This ensures the stack trace has information of the caller.
33 > def := newMetricDefinition(name, append(opts, WithUnit(Bytes))...)
34 > globalRegistry.register(def)
35 > return histogramDefinition{def}
36 > }
37
38 > func NewDimensionlessHistogramDef(name string, opts ...Option) histogramDefinition { defs.go
39 > // This line cannot be combined with others!
40 > // This ensures the stack trace has information of the caller.
41 > def := newMetricDefinition(name, append(opts, WithUnit(Dimensionless))...)
42 > globalRegistry.register(def)
43 > return histogramDefinition{def}
44 > }
45
46 > func NewCounterDef(name string, opts ...Option) counterDefinition { defs.go
47 > // This line cannot be combined with others!
48 > // This ensures the stack trace has information of the caller.
49 > def := newMetricDefinition(name, opts...)
50 > globalRegistry.register(def)
51 > return counterDefinition{def}
52 > }
53
54 > func NewGaugeDef(name string, opts ...Option) gaugeDefinition { defs.go
55 > // This line cannot be combined with others!
56 > // This ensures the stack trace has information of the caller.
57 > def := newMetricDefinition(name, opts...)
58 > globalRegistry.register(def)
59 > return gaugeDefinition{def}
60 > }
61
62 func (d histogramDefinition) With(handler Handler) HistogramIface {
go.temporal.io/server/common/persistence/queue_v2_util.go 35 covered LOC · 9 ranges

Open complete file

17 )
18
19 > func GetNextPageTokenForReadMessages(result []QueueV2Message) []byte { queue_v2_util.go
20 > if len(result) == 0 {
21 return nil
22 }
23 > lastReadMessageID := result[len(result)-1].MetaData.ID queue_v2_util.go
24 > token := &persistencespb.ReadQueueMessagesNextPageToken{
25 > LastReadMessageId: lastReadMessageID,
26 > }
27 > // This can never fail if you inspect the implementation.
28 > b, _ := token.Marshal()
29 >
30 > // See the comment above pageTokenPrefixByte for why we want to do this.
31 > return append([]byte{pageTokenPrefixByte}, b...)
32 }
33
37 nextPageToken []byte,
38 queue *persistencespb.Queue,
39 > ) (int64, error) { queue_v2_util.go
40 > if len(nextPageToken) == 0 {
41 > partition, err := GetPartitionForQueueV2(queueType, queueName, queue) queue_v2_util.go
42 > if err != nil {
43 return 0, err
44 }
45 > return partition.MinMessageId, nil queue_v2_util.go
46 }
47 var token persistencespb.ReadQueueMessagesNextPageToken
96 queueName string,
97 queue *persistencespb.Queue,
98 > ) (*persistencespb.QueuePartition, error) { queue_v2_util.go
99 > // Currently, we only have one partition for each queue. However, that might change in the future. If a queue is
100 > // created with more than 1 partition by a server on a future release, and then that server is downgraded, we
101 > // will need to handle this case. Since all DLQ tasks are retried infinitely, we just return an error.
102 > numPartitions := len(queue.Partitions)
103 > if numPartitions != 1 {
104 return nil, serviceerror.NewInternal(
105 fmt.Sprintf(
112 )
113 }
114 > partition := queue.Partitions[0] queue_v2_util.go
115 > return partition, nil
116 }
117
136 // GetDeleteRange returns the range of messages to delete, and a boolean indicating whether there is any update to be
137 // made: meaning either we should delete messages, update the min message ID, or both.
138 > func GetDeleteRange(request DeleteRequest) (DeleteRange, bool) { queue_v2_util.go
139 > if request.LastIDToDeleteInclusive < request.ExistingMessageRange.MinMessageID {
140 // Nothing to delete
141 return DeleteRange{}, false
142 }
143 > return DeleteRange{ queue_v2_util.go
144 > InclusiveMessageRange: InclusiveMessageRange{
145 > MinMessageID: request.ExistingMessageRange.MinMessageID,
146 > // Never actually delete the last message
147 > MaxMessageID: min(request.LastIDToDeleteInclusive, request.ExistingMessageRange.MaxMessageID-1),
148 > },
149 > NewMinMessageID: min(request.LastIDToDeleteInclusive, request.ExistingMessageRange.MaxMessageID) + 1,
150 > MessagesToDelete: min(request.LastIDToDeleteInclusive, request.ExistingMessageRange.MaxMessageID) - request.ExistingMessageRange.MinMessageID + 1,
151 > }, true
152 }
go.temporal.io/server/common/util.go 34 covered LOC · 8 ranges

Open complete file

161
162 // CreatePersistenceClientRetryPolicy creates a retry policy for calls to persistence
163 > func CreatePersistenceClientRetryPolicy() backoff.RetryPolicy { util.go
164 > return backoff.NewExponentialRetryPolicy(persistenceClientRetryInitialInterval).
165 > WithMaximumAttempts(persistenceClientRetryMaxAttempts)
166 > }
167
168 // CreateFrontendClientRetryPolicy creates a retry policy for calls to frontend service
249
250 // CreateTaskReschedulePolicy creates a retry policy for rescheduling task with errors not equal to ErrTaskRetry
251 > func CreateTaskReschedulePolicy() backoff.RetryPolicy { util.go
252 > return backoff.NewExponentialRetryPolicy(taskRescheduleInitialInterval).
253 > WithBackoffCoefficient(taskRescheduleBackoffCoefficient).
254 > WithMaximumInterval(taskRescheduleMaxInterval).
255 > WithExpirationInterval(backoff.NoInterval)
256 > }
257
258 // CreateDependencyTaskNotCompletedReschedulePolicy creates a retry policy for rescheduling task with
259 // ErrDependencyTaskNotCompleted
260 > func CreateDependencyTaskNotCompletedReschedulePolicy() backoff.RetryPolicy { util.go
261 > return backoff.NewExponentialRetryPolicy(dependencyTaskNotCompletedRescheduleInitialInterval).
262 > WithBackoffCoefficient(dependencyTaskNotCompletedRescheduleBackoffCoefficient).
263 > WithMaximumInterval(dependencyTaskNotCompletedRescheduleMaxInterval).
264 > WithExpirationInterval(backoff.NoInterval)
265 > }
266
267 // CreateTaskNotReadyReschedulePolicy creates a retry policy for rescheduling task with ErrTaskRetry
268 > func CreateTaskNotReadyReschedulePolicy() backoff.RetryPolicy { util.go
269 > return backoff.NewExponentialRetryPolicy(taskNotReadyRescheduleInitialInterval).
270 > WithBackoffCoefficient(taskNotReadyRescheduleBackoffCoefficient).
271 > WithMaximumInterval(taskNotReadyRescheduleMaxInterval).
272 > WithExpirationInterval(backoff.NoInterval)
273 > }
274
275 // CreateTaskResourceExhaustedReschedulePolicy creates a retry policy for rescheduling task with resource exhausted error
276 > func CreateTaskResourceExhaustedReschedulePolicy() backoff.RetryPolicy { util.go
277 > return backoff.NewExponentialRetryPolicy(taskResourceExhaustedRescheduleInitialInterval).
278 > WithBackoffCoefficient(taskResourceExhaustedRescheduleBackoffCoefficient).
279 > WithMaximumInterval(taskResourceExhaustedRescheduleMaxInterval).
280 > WithExpirationInterval(backoff.NoInterval)
281 > }
282
283 // CreateSdkClientFactoryRetryPolicy creates a retry policy to handle SdkClientFactory NewClient when frontend service is not ready
500 // Returns nil if the context is still valid. Otherwise, returns the result of
501 // ctx.Err()
502 > func IsValidContext(ctx context.Context) error { util.go
503 > ch := ctx.Done()
504 > if ch != nil {
505 select {
506 case <-ch:
510 }
511 }
512 > deadline, ok := ctx.Deadline() util.go
513 > if ok && time.Until(deadline) < contextExpireThreshold {
514 return context.DeadlineExceeded
515 }
516 > return nil util.go
517 }
518
go.temporal.io/server/api/workflow/v1/message.pb.go 32 covered LOC · 8 ranges

Open complete file

57 func (*ParentExecutionInfo) ProtoMessage() {}
58
59 > func (x *ParentExecutionInfo) ProtoReflect() protoreflect.Message { message.pb.go
60 > mi := &file_temporal_server_api_workflow_v1_message_proto_msgTypes[0]
61 > if x != nil {
62 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
63 if ms.LoadMessageInfo() == nil {
66 return ms
67 }
68 > return mi.MessageOf(x) message.pb.go
69 }
70
143 func (*RootExecutionInfo) ProtoMessage() {}
144
145 > func (x *RootExecutionInfo) ProtoReflect() protoreflect.Message { message.pb.go
146 > mi := &file_temporal_server_api_workflow_v1_message_proto_msgTypes[1]
147 > if x != nil {
148 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
149 if ms.LoadMessageInfo() == nil {
152 return ms
153 }
154 > return mi.MessageOf(x) message.pb.go
155 }
156
189 func (*BaseExecutionInfo) ProtoMessage() {}
190
191 > func (x *BaseExecutionInfo) ProtoReflect() protoreflect.Message { message.pb.go
192 > mi := &file_temporal_server_api_workflow_v1_message_proto_msgTypes[2]
193 > if x != nil {
194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
195 if ms.LoadMessageInfo() == nil {
198 return ms
199 }
200 > return mi.MessageOf(x) message.pb.go
201 }
202
278 }
279
280 > func init() { file_temporal_server_api_workflow_v1_message_proto_init() } message.pb.go
281 > func file_temporal_server_api_workflow_v1_message_proto_init() {
282 > if File_temporal_server_api_workflow_v1_message_proto != nil {
283 return
284 }
285 > type x struct{} message.pb.go
286 > out := protoimpl.TypeBuilder{
287 > File: protoimpl.DescBuilder{
288 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
289 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_workflow_v1_message_proto_rawDesc), len(file_temporal_server_api_workflow_v1_message_proto_rawDesc)),
290 > NumEnums: 0,
291 > NumMessages: 3,
292 > NumExtensions: 0,
293 > NumServices: 0,
294 > },
295 > GoTypes: file_temporal_server_api_workflow_v1_message_proto_goTypes,
296 > DependencyIndexes: file_temporal_server_api_workflow_v1_message_proto_depIdxs,
297 > MessageInfos: file_temporal_server_api_workflow_v1_message_proto_msgTypes,
298 > }.Build()
299 > File_temporal_server_api_workflow_v1_message_proto = out.File
300 > file_temporal_server_api_workflow_v1_message_proto_goTypes = nil
301 > file_temporal_server_api_workflow_v1_message_proto_depIdxs = nil
302 }
go.temporal.io/server/common/persistence/tests/queue_v2_test_suite.go 32 covered LOC · 14 ranges

Open complete file

19 // RunQueueV2TestSuite executes interface-level tests for a queue persistence-layer implementation. There should be more
20 // implementation-specific tests that will not be covered by this suite elsewhere.
21 > func RunQueueV2TestSuite(t *testing.T, q persistence.QueueV2) { queue_v2_test_suite.go
22 > ctx := context.Background()
23 >
24 > queueType := persistence.QueueTypeHistoryNormal
25 > queueName := "test-queue-" + t.Name()
26 >
27 > _, err := q.CreateQueue(ctx, &persistence.InternalCreateQueueRequest{
28 > QueueType: queueType,
29 > QueueName: queueName,
30 > })
31 > require.NoError(t, err)
32 > t.Run("TestListQueues", func(t *testing.T) {
33 testListQueues(ctx, t, q)
34 })
35 > t.Run("TestHappyPath", func(t *testing.T) { queue_v2_test_suite.go
36 t.Parallel()
37
38 testHappyPath(ctx, t, q, queueType, queueName)
39 })
40 > t.Run("TestInvalidPageToken", func(t *testing.T) { queue_v2_test_suite.go
41 t.Parallel()
42
49 assert.ErrorIs(t, err, persistence.ErrInvalidReadQueueMessagesNextPageToken)
50 })
51 > t.Run("TestNonPositivePageSize", func(t *testing.T) { queue_v2_test_suite.go
52 t.Parallel()
53
60 assert.ErrorIs(t, err, persistence.ErrNonPositiveReadQueueMessagesPageSize)
61 })
62 > t.Run("TestEnqueueMessageToNonExistentQueue", func(t *testing.T) { queue_v2_test_suite.go
63 t.Parallel()
64
71 assert.ErrorContains(t, err, strconv.Itoa(int(queueType)))
72 })
73 > t.Run("TestCreateQueueTwice", func(t *testing.T) { queue_v2_test_suite.go
74 t.Parallel()
75
83 assert.ErrorContains(t, err, queueName)
84 })
85 > t.Run("InvalidEncodingForQueueMessage", func(t *testing.T) { queue_v2_test_suite.go
86 queueType := persistence.QueueTypeHistoryNormal
87 queueName := "test-queue-" + t.Name()
103 assert.ErrorAs(t, err, new(*serialization.UnknownEncodingTypeError))
104 })
105 > t.Run("InvalidEncodingForQueueMetadata", func(t *testing.T) { queue_v2_test_suite.go
106 queueType := persistence.QueueTypeHistoryNormal
107 queueName := "test-queue-" + t.Name()
123 assert.ErrorAs(t, err, new(*serialization.UnknownEncodingTypeError))
124 })
125 > t.Run("TestRangeDeleteMessages", func(t *testing.T) { queue_v2_test_suite.go
126 t.Parallel()
127 testRangeDeleteMessages(ctx, t, q)
128 })
129 > t.Run("HistoryTaskQueueManagerImpl", func(t *testing.T) { queue_v2_test_suite.go
130 > t.Parallel() queue_v2_test_suite.go
131 > RunHistoryTaskQueueManagerTestSuite(t, q)
132 > })
133 }
134
375 }
376
377 > func RunQueueV2TestSuiteForSQL(t *testing.T, factory *sql.Factory) { queue_v2_test_suite.go
378 > t.Run("Generic", func(t *testing.T) {
379 > t.Parallel() queue_v2_test_suite.go
380 > queue, err := factory.NewQueueV2()
381 > require.NoError(t, err)
382 > RunQueueV2TestSuite(t, queue)
383 > })
384 > t.Run("SQL", func(t *testing.T) { queue_v2_test_suite.go
385 t.Parallel()
386 db, err := factory.GetDB()
go.temporal.io/server/common/dynamicconfig/deepcopy.go 31 covered LOC · 6 ranges

Open complete file

9 // deepCopyForMapstructure does a simple deep copy of T. Fancy cases (anything other than plain old data)
10 // is not handled and will panic.
11 > func deepCopyForMapstructure[T any](t T) T { deepcopy.go
12 > // nolint:revive // this will be triggered from a static initializer before it can be triggered from production code
13 > return deepCopyValue(reflect.ValueOf(t)).Interface().(T)
14 > }
15
16 > func deepCopyValue(v reflect.Value) reflect.Value { deepcopy.go
17 > switch v.Kind() {
18 case reflect.Bool, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
19 reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64,
20 > reflect.Uintptr, reflect.Float32, reflect.Float64, reflect.String: deepcopy.go
21 > nv := reflect.New(v.Type()).Elem()
22 > nv.Set(v)
23 > return nv
24 case reflect.Array:
25 nv := reflect.New(v.Type()).Elem()
42 }
43 return deepCopyValue(v.Elem()).Addr()
44 > case reflect.Slice: deepcopy.go
45 > if v.IsNil() {
46 > return v
47 > }
48 nv := reflect.MakeSlice(v.Type(), v.Len(), v.Len())
49 for i := range v.Len() {
51 }
52 return nv
53 > case reflect.Struct: deepcopy.go
54 > // Special case for time.Time: it has unexported fields so we can't copy it field by
55 > // field, but we can copy zero values (which is all we need for default values).
56 > if v.Type() == reflect.TypeFor[time.Time]() {
57 > if v.Interface().(time.Time).IsZero() {
58 > return reflect.ValueOf(time.Time{})
59 > }
60 // nolint:forbidigo // this will be triggered from a static initializer before it can be triggered from production code
61 panic(fmt.Sprintf("Can't deep copy non-zero time.Time: %v", v.Interface()))
62 }
63 > nv := reflect.New(v.Type()).Elem() deepcopy.go
64 > for i := range v.Type().NumField() {
65 > nv.Field(i).Set(deepCopyValue(v.Field(i)))
66 > }
67 > return nv
68 > case reflect.Interface, reflect.Func, reflect.Chan:
69 > // only nil values of any other reference types allowed!
70 > if v.IsNil() {
71 > return v
72 > }
73 fallthrough
74 default:
go.temporal.io/server/client/history/client.go 30 covered LOC · 8 ranges

Open complete file

52 rpcFactory RPCFactory,
53 timeout time.Duration,
54 > ) historyservice.HistoryServiceClient { client.go
55 > connections := NewConnectionPool(historyServiceResolver, rpcFactory, historyservice.NewHistoryServiceClient, logger, dynamicconfig.HistoryConnectionCloseDelay.Get(dc))
56 >
57 > var redirector Redirector[historyservice.HistoryServiceClient]
58 > if dynamicconfig.HistoryClientOwnershipCachingEnabled.Get(dc)() {
59 logger.Info("historyClient: ownership caching enabled")
60 redirector = NewCachingRedirector(
64 dynamicconfig.HistoryClientOwnershipCachingStaleTTL.Get(dc),
65 )
66 > } else { client.go
67 > logger.Info("historyClient: ownership caching disabled")
68 > redirector = NewBasicRedirector(connections, historyServiceResolver)
69 > }
70
71 > return &clientImpl{ client.go
72 > connections: connections,
73 > logger: logger,
74 > numberOfShards: numberOfShards,
75 > redirector: redirector,
76 > timeout: timeout,
77 > tokenSerializer: tasktoken.NewSerializer(),
78 > }
79 }
80
280
281 // getRandomShard returns a random shard ID for history APIs that are shard-agnostic (e.g. namespace or DLQ v2 APIs).
282 > func (c *clientImpl) getRandomShard() int32 { client.go
283 > // Add 1 at the end because shard IDs are 1-indexed.
284 > return int32(rand.Intn(int(c.numberOfShards)) + 1)
285 > }
286
287 > func (c *clientImpl) createContext(parent context.Context) (context.Context, context.CancelFunc) { client.go
288 > return context.WithTimeout(parent, c.timeout)
289 > }
290
291 func (c *clientImpl) shardIDFromWorkflowID(namespaceID, workflowID string) int32 {
298 }
299
300 > func checkShardID(shardID int32) error { client.go
301 > if shardID <= 0 {
302 return serviceerror.NewInvalidArgumentf("Invalid ShardID: %d", shardID)
303 }
304 > return nil client.go
305 }
306
309 shardID int32,
310 op ClientOperation[historyservice.HistoryServiceClient],
311 > ) error { client.go
312 > return c.redirector.Execute(ctx, shardID, op)
313 > }
go.temporal.io/server/common/persistence/sql/sqlplugin/mysql/execution_maps.go 30 covered LOC · 5 ranges

Open complete file

53 )
54
55 > func stringMap(a []string, f func(string) string) []string { execution_maps.go
56 > b := make([]string, len(a))
57 > for i, v := range a {
58 > b[i] = f(v)
59 > }
60 > return b
61 }
62
63 > func makeDeleteMapQry(tableName string) string { execution_maps.go
64 > return fmt.Sprintf(deleteMapQryTemplate, tableName)
65 > }
66
67 > func makeSetKeyInMapQry(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
68 > return fmt.Sprintf(setKeyInMapQryTemplate,
69 > tableName,
70 > strings.Join(nonPrimaryKeyColumns, ","),
71 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string {
72 > return ":" + x
73 > }), ","),
74 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string {
75 > return x + "=VALUES(" + x + ")"
76 > }), ","),
77 mapKeyName)
78 }
79
80 > func makeDeleteKeyInMapQry(tableName string, mapKeyName string) string { execution_maps.go
81 > return fmt.Sprintf(deleteKeyInMapQryTemplate,
82 > tableName,
83 > mapKeyName)
84 > }
85
86 > func makeGetMapQryTemplate(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
87 > return fmt.Sprintf(getMapQryTemplate,
88 > tableName,
89 > mapKeyName,
90 > strings.Join(nonPrimaryKeyColumns, ","))
91 > }
92
93 var (
go.temporal.io/server/common/persistence/sql/sqlplugin/postgresql/execution_maps.go 30 covered LOC · 6 ranges

Open complete file

86 )
87
88 > func stringMap(a []string, f func(string) string) []string { execution_maps.go
89 > b := make([]string, len(a))
90 > for i, v := range a {
91 > b[i] = f(v)
92 > }
93 > return b
94 }
95
96 > func makeDeleteMapQry(tableName string) string { execution_maps.go
97 > return fmt.Sprintf(deleteMapQueryTemplate, tableName)
98 > }
99
100 > func makeSetKeyInMapQry(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
101 > return fmt.Sprintf(setKeyInMapQueryTemplate,
102 > tableName,
103 > strings.Join(nonPrimaryKeyColumns, ","),
104 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string {
105 > return ":" + x
106 > }), ","),
107 mapKeyName,
108 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string { execution_maps.go
109 > return "excluded." + x
110 > }), ","))
111 }
112
113 > func makeDeleteKeyInMapQry(tableName string, mapKeyName string) string { execution_maps.go
114 > return fmt.Sprintf(deleteKeyInMapQueryTemplate,
115 > tableName,
116 > mapKeyName)
117 > }
118
119 > func makeGetMapQryTemplate(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
120 > return fmt.Sprintf(getMapQueryTemplate,
121 > tableName,
122 > mapKeyName,
123 > strings.Join(nonPrimaryKeyColumns, ","))
124 > }
125
126 var (
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/execution_maps.go 30 covered LOC · 5 ranges

Open complete file

52 )
53
54 > func stringMap(a []string, f func(string) string) []string { execution_maps.go
55 > b := make([]string, len(a))
56 > for i, v := range a {
57 > b[i] = f(v)
58 > }
59 > return b
60 }
61
62 > func makeDeleteMapQry(tableName string) string { execution_maps.go
63 > return fmt.Sprintf(deleteMapQryTemplate, tableName)
64 > }
65
66 > func makeSetKeyInMapQry(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
67 > return fmt.Sprintf(setKeyInMapQryTemplate,
68 > tableName,
69 > strings.Join(nonPrimaryKeyColumns, ","),
70 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string {
71 > return ":" + x
72 > }), ","),
73 > strings.Join(stringMap(nonPrimaryKeyColumns, func(x string) string {
74 > return x + "=" + x
75 > }), ","),
76 mapKeyName)
77 }
78
79 > func makeDeleteKeyInMapQry(tableName string, mapKeyName string) string { execution_maps.go
80 > return fmt.Sprintf(deleteKeyInMapQryTemplate,
81 > tableName,
82 > mapKeyName)
83 > }
84
85 > func makeGetMapQryTemplate(tableName string, nonPrimaryKeyColumns []string, mapKeyName string) string { execution_maps.go
86 > return fmt.Sprintf(getMapQryTemplate,
87 > tableName,
88 > mapKeyName,
89 > strings.Join(nonPrimaryKeyColumns, ","))
90 > }
91
92 var (
go.temporal.io/server/common/searchattribute/sadefs/constants.go 30 covered LOC · 9 ranges

Open complete file

261 }
262
263 > dbCustomSearchAttributeFieldNameRE = func() map[enumspb.IndexedValueType]*regexp.Regexp { constants.go
264 > res := map[enumspb.IndexedValueType]*regexp.Regexp{}
265 > for t := range defaultNumDBCustomSearchAttributes {
266 > res[t] = regexp.MustCompile(fmt.Sprintf(`^%s(0[1-9]|[1-9][0-9])$`, t.String()))
267 > }
268 > return res
269 }()
270 )
271
272 // System returns a clone of the system search attributes map.
273 > func System() map[string]enumspb.IndexedValueType { constants.go
274 > return maps.Clone(system)
275 > }
276
277 // Predefined returns a clone of the predefined search attributes map.
278 > func Predefined() map[string]enumspb.IndexedValueType { constants.go
279 > return maps.Clone(predefined)
280 > }
281
282 // PredefinedWhiteList returns a clone of the predefined whitelist search attributes map.
283 > func PredefinedWhiteList() map[string]enumspb.IndexedValueType { constants.go
284 > return maps.Clone(predefinedWhiteList)
285 > }
286
287 // Reserved returns a clone of the reserved field names map.
343 // GetSqlDbColName maps system and reserved search attributes to column names for SQL tables.
344 // If the input is not a system or reserved search attribute, then it returns the input.
345 > func GetSqlDbColName(name string) string { constants.go
346 > if fieldName, ok := sqlDbSystemNameToColName[name]; ok {
347 > return fieldName constants.go
348 > }
349 return name
350 }
352 func GetDBIndexSearchAttributes(
353 override map[enumspb.IndexedValueType]int,
354 > ) *persistencespb.IndexSearchAttributes { constants.go
355 > csa := map[string]enumspb.IndexedValueType{}
356 > for saType, defaultNumAttrs := range defaultNumDBCustomSearchAttributes {
357 > numAttrs := defaultNumAttrs
358 > if value, ok := override[saType]; ok {
359 numAttrs = value
360 }
361 > for i := range numAttrs { constants.go
362 > csa[fmt.Sprintf("%s%02d", saType.String(), i+1)] = saType
363 > }
364 }
365 > return &persistencespb.IndexSearchAttributes{ constants.go
366 > CustomSearchAttributes: csa,
367 > }
368 }
369
go.temporal.io/server/service/history/api/getdlqtasks/api.go 30 covered LOC · 4 ranges

Open complete file

22 taskCategoryRegistry tasks.TaskCategoryRegistry,
23 req *historyservice.GetDLQTasksRequest,
24 > ) (*historyservice.GetDLQTasksResponse, error) { api.go
25 > category, err := api.GetTaskCategory(int(req.DlqKey.TaskCategory), taskCategoryRegistry)
26 > if err != nil {
27 return nil, err
28 }
29
30 > response, err := historyTaskQueueManager.ReadRawTasks(ctx, &persistence.ReadTasksRequest{ api.go
31 > QueueKey: persistence.QueueKey{
32 > QueueType: persistence.QueueTypeHistoryDLQ,
33 > Category: category,
34 > SourceCluster: req.DlqKey.SourceCluster,
35 > TargetCluster: req.DlqKey.TargetCluster,
36 > },
37 > PageSize: int(req.PageSize),
38 > NextPageToken: req.NextPageToken,
39 > })
40 > if err != nil {
41 if errors.Is(err, persistence.ErrReadTasksNonPositivePageSize) {
42 return nil, consts.ErrInvalidPageSize
46 }
47
48 > dlqTasks := make([]*commonspb.HistoryDLQTask, len(response.Tasks)) api.go
49 > for i, task := range response.Tasks {
50 > dlqTasks[i] = &commonspb.HistoryDLQTask{
51 > Metadata: &commonspb.HistoryDLQTaskMetadata{
52 > MessageId: task.MessageMetadata.ID,
53 > },
54 > Payload: &commonspb.HistoryTask{
55 > ShardId: task.Payload.ShardId,
56 > Blob: task.Payload.Blob,
57 > },
58 > }
59 > }
60
61 > return &historyservice.GetDLQTasksResponse{ api.go
62 > DlqTasks: dlqTasks,
63 > NextPageToken: response.NextPageToken,
64 > }, nil
65 }
go.temporal.io/server/api/enums/v1/common.pb.go 29 covered LOC · 5 ranges

Open complete file

66 }
67
68 > func (DeadLetterQueueType) Descriptor() protoreflect.EnumDescriptor { common.pb.go
69 > return file_temporal_server_api_enums_v1_common_proto_enumTypes[0].Descriptor()
70 > }
71
72 func (DeadLetterQueueType) Type() protoreflect.EnumType {
120 }
121
122 > func (ChecksumFlavor) Descriptor() protoreflect.EnumDescriptor { common.pb.go
123 > return file_temporal_server_api_enums_v1_common_proto_enumTypes[1].Descriptor()
124 > }
125
126 func (ChecksumFlavor) Type() protoreflect.EnumType {
201 }
202
203 > func (CallbackState) Descriptor() protoreflect.EnumDescriptor { common.pb.go
204 > return file_temporal_server_api_enums_v1_common_proto_enumTypes[2].Descriptor()
205 > }
206
207 func (CallbackState) Type() protoreflect.EnumType {
264 }
265
266 > func init() { file_temporal_server_api_enums_v1_common_proto_init() } common.pb.go
267 > func file_temporal_server_api_enums_v1_common_proto_init() {
268 > if File_temporal_server_api_enums_v1_common_proto != nil {
269 return
270 }
271 > type x struct{} common.pb.go
272 > out := protoimpl.TypeBuilder{
273 > File: protoimpl.DescBuilder{
274 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
275 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_common_proto_rawDesc), len(file_temporal_server_api_enums_v1_common_proto_rawDesc)),
276 > NumEnums: 3,
277 > NumMessages: 0,
278 > NumExtensions: 0,
279 > NumServices: 0,
280 > },
281 > GoTypes: file_temporal_server_api_enums_v1_common_proto_goTypes,
282 > DependencyIndexes: file_temporal_server_api_enums_v1_common_proto_depIdxs,
283 > EnumInfos: file_temporal_server_api_enums_v1_common_proto_enumTypes,
284 > }.Build()
285 > File_temporal_server_api_enums_v1_common_proto = out.File
286 > file_temporal_server_api_enums_v1_common_proto_goTypes = nil
287 > file_temporal_server_api_enums_v1_common_proto_depIdxs = nil
288 }
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/conn_pool.go 29 covered LOC · 9 ranges

Open complete file

23 }
24
25 > func newConnPool() *connPool { conn_pool.go
26 > return &connPool{
27 > pool: make(map[string]entry),
28 > }
29 > }
30
31 // Allocate allocates the shared database in the pool or returns already exists instance with the same DSN. If instance
36 logger log.Logger,
37 create func(*config.SQL, resolver.ServiceResolver, log.Logger) (*sqlx.DB, error),
38 > ) (db *sqlx.DB, err error) { conn_pool.go
39 > cp.mu.Lock()
40 > defer cp.mu.Unlock()
41 >
42 > dsn, err := buildDSN(cfg)
43 > if err != nil {
44 return nil, err
45 }
46
47 > if entry, ok := cp.pool[dsn]; ok { conn_pool.go
48 > entry.refCount++ conn_pool.go
49 > return entry.db, nil
50 > }
51
52 > db, err = create(cfg, resolver, logger) conn_pool.go
53 > if err != nil {
54 return nil, err
55 }
56
57 > cp.pool[dsn] = entry{db: db, refCount: 1} conn_pool.go
58 >
59 > return db, nil
60 }
61
62 // Close virtual connection to database. Only closes for real once no references left.
63 > func (cp *connPool) Close(cfg *config.SQL) { conn_pool.go
64 > cp.mu.Lock()
65 > defer cp.mu.Unlock()
66 >
67 > dsn, err := buildDSN(cfg)
68 > if err != nil {
69 return
70 }
71
72 > e, ok := cp.pool[dsn] conn_pool.go
73 > if !ok {
74 // no such database
75 return
76 }
77
78 > e.refCount-- conn_pool.go
79 // todo: at the moment pool will persist a single connection to the DB for the whole duration of application
80 // temporal will start and stop DB connections multiple times, which will cause the loss of the cache
go.temporal.io/server/api/historyservice/v1/service_grpc.pb.go 28 covered LOC · 10 ranges

Open complete file

396 }
397
398 > func NewHistoryServiceClient(cc grpc.ClientConnInterface) HistoryServiceClient { service_grpc.pb.go
399 > return &historyServiceClient{cc}
400 > }
401
402 func (c *historyServiceClient) StartWorkflowExecution(ctx context.Context, in *StartWorkflowExecutionRequest, opts ...grpc.CallOption) (*StartWorkflowExecutionResponse, error) {
953 }
954
955 > func (c *historyServiceClient) GetDLQTasks(ctx context.Context, in *GetDLQTasksRequest, opts ...grpc.CallOption) (*GetDLQTasksResponse, error) { service_grpc.pb.go
956 > out := new(GetDLQTasksResponse)
957 > err := c.cc.Invoke(ctx, HistoryService_GetDLQTasks_FullMethodName, in, out, opts...)
958 > if err != nil {
959 return nil, err
960 }
961 > return out, nil service_grpc.pb.go
962 }
963
964 > func (c *historyServiceClient) DeleteDLQTasks(ctx context.Context, in *DeleteDLQTasksRequest, opts ...grpc.CallOption) (*DeleteDLQTasksResponse, error) { service_grpc.pb.go
965 > out := new(DeleteDLQTasksResponse)
966 > err := c.cc.Invoke(ctx, HistoryService_DeleteDLQTasks_FullMethodName, in, out, opts...)
967 > if err != nil {
968 return nil, err
969 }
970 > return out, nil service_grpc.pb.go
971 }
972
1652 }
1653
1654 > func RegisterHistoryServiceServer(s grpc.ServiceRegistrar, srv HistoryServiceServer) { service_grpc.pb.go
1655 > s.RegisterService(&HistoryService_ServiceDesc, srv)
1656 > }
1657
1658 func _HistoryService_StartWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2726 }
2727
2728 > func _HistoryService_GetDLQTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { service_grpc.pb.go
2729 > in := new(GetDLQTasksRequest)
2730 > if err := dec(in); err != nil {
2731 return nil, err
2732 }
2733 > if interceptor == nil { service_grpc.pb.go
2734 > return srv.(HistoryServiceServer).GetDLQTasks(ctx, in)
2735 > }
2736 info := &grpc.UnaryServerInfo{
2737 Server: srv,
2744 }
2745
2746 > func _HistoryService_DeleteDLQTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { service_grpc.pb.go
2747 > in := new(DeleteDLQTasksRequest)
2748 > if err := dec(in); err != nil {
2749 return nil, err
2750 }
2751 > if interceptor == nil { service_grpc.pb.go
2752 > return srv.(HistoryServiceServer).DeleteDLQTasks(ctx, in)
2753 > }
2754 info := &grpc.UnaryServerInfo{
2755 Server: srv,
go.temporal.io/server/api/persistence/v1/workflow_mutable_state.pb.go 28 covered LOC · 4 ranges

Open complete file

55 func (*WorkflowMutableState) ProtoMessage() {}
56
57 > func (x *WorkflowMutableState) ProtoReflect() protoreflect.Message { workflow_mutable_state.pb.go
58 > mi := &file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_msgTypes[0]
59 > if x != nil {
60 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
61 if ms.LoadMessageInfo() == nil {
532 }
533
534 > func init() { file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_init() } workflow_mutable_state.pb.go
535 > func file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_init() {
536 > if File_temporal_server_api_persistence_v1_workflow_mutable_state_proto != nil {
537 return
538 }
539 > file_temporal_server_api_persistence_v1_chasm_proto_init() workflow_mutable_state.pb.go
540 > file_temporal_server_api_persistence_v1_executions_proto_init()
541 > file_temporal_server_api_persistence_v1_hsm_proto_init()
542 > file_temporal_server_api_persistence_v1_update_proto_init()
543 > type x struct{}
544 > out := protoimpl.TypeBuilder{
545 > File: protoimpl.DescBuilder{
546 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
547 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_rawDesc), len(file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_rawDesc)),
548 > NumEnums: 0,
549 > NumMessages: 16,
550 > NumExtensions: 0,
551 > NumServices: 0,
552 > },
553 > GoTypes: file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_goTypes,
554 > DependencyIndexes: file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_depIdxs,
555 > MessageInfos: file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_msgTypes,
556 > }.Build()
557 > File_temporal_server_api_persistence_v1_workflow_mutable_state_proto = out.File
558 > file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_goTypes = nil
559 > file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_depIdxs = nil
560 }
go.temporal.io/server/common/log/tag/tags.go 27 covered LOC · 9 ranges

Open complete file

70
71 // WorkflowAction returns tag for WorkflowAction
72 > func workflowAction(action string) ZapTag { tags.go
73 > return NewStringTag("wf-action", action)
74 > }
75
76 // WorkflowListFilterType returns tag for WorkflowListFilterType
77 > func workflowListFilterType(listFilterType string) ZapTag { tags.go
78 > return NewStringTag("wf-list-filter-type", listFilterType)
79 > }
80
81 // general
376
377 // Component returns tag for Component
378 > func component(component string) ZapTag { tags.go
379 > return NewStringTag("component", component)
380 > }
381
382 // Lifecycle returns tag for Lifecycle
383 > func lifecycle(lifecycle string) ZapTag { tags.go
384 > return NewStringTag("lifecycle", lifecycle)
385 > }
386
387 // StoreOperation returns tag for StoreOperation
388 > func storeOperation(storeOperation string) ZapTag { tags.go
389 > return NewStringTag("store-operation", storeOperation)
390 > }
391
392 // OperationResult returns tag for OperationResult
393 > func operationResult(operationResult string) ZapTag { tags.go
394 > return NewStringTag("operation-result", operationResult)
395 > }
396
397 // ErrorType returns tag for ErrorType
401
402 // errorType returns tag for ErrorType given a string
403 > func errorType(errorType string) ZapTag { tags.go
404 > return NewStringTag("error-type", errorType)
405 > }
406
407 // Shardupdate returns tag for Shardupdate
408 > func shardupdate(shardupdate string) ZapTag { tags.go
409 > return NewStringTag("shard-update", shardupdate)
410 > }
411
412 // scope returns a tag for scope
413 // Pre-defined scope tags are in values.go.
414 > func scope(scope string) ZapTag { tags.go
415 > return NewStringTag("scope", scope)
416 > }
417
418 // general
go.temporal.io/server/api/enums/v1/task.pb.go 26 covered LOC · 4 ranges

Open complete file

303 }
304
305 > func (TaskType) Descriptor() protoreflect.EnumDescriptor { task.pb.go
306 > return file_temporal_server_api_enums_v1_task_proto_enumTypes[1].Descriptor()
307 > }
308
309 func (TaskType) Type() protoreflect.EnumType {
361 }
362
363 > func (TaskPriority) Descriptor() protoreflect.EnumDescriptor { task.pb.go
364 > return file_temporal_server_api_enums_v1_task_proto_enumTypes[2].Descriptor()
365 > }
366
367 func (TaskPriority) Type() protoreflect.EnumType {
456 }
457
458 > func init() { file_temporal_server_api_enums_v1_task_proto_init() } task.pb.go
459 > func file_temporal_server_api_enums_v1_task_proto_init() {
460 > if File_temporal_server_api_enums_v1_task_proto != nil {
461 return
462 }
463 > type x struct{} task.pb.go
464 > out := protoimpl.TypeBuilder{
465 > File: protoimpl.DescBuilder{
466 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
467 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_task_proto_rawDesc), len(file_temporal_server_api_enums_v1_task_proto_rawDesc)),
468 > NumEnums: 3,
469 > NumMessages: 0,
470 > NumExtensions: 0,
471 > NumServices: 0,
472 > },
473 > GoTypes: file_temporal_server_api_enums_v1_task_proto_goTypes,
474 > DependencyIndexes: file_temporal_server_api_enums_v1_task_proto_depIdxs,
475 > EnumInfos: file_temporal_server_api_enums_v1_task_proto_enumTypes,
476 > }.Build()
477 > File_temporal_server_api_enums_v1_task_proto = out.File
478 > file_temporal_server_api_enums_v1_task_proto_goTypes = nil
479 > file_temporal_server_api_enums_v1_task_proto_depIdxs = nil
480 }
go.temporal.io/server/api/enums/v1/workflow.pb.go 26 covered LOC · 4 ranges

Open complete file

86 }
87
88 > func (WorkflowExecutionState) Descriptor() protoreflect.EnumDescriptor { workflow.pb.go
89 > return file_temporal_server_api_enums_v1_workflow_proto_enumTypes[0].Descriptor()
90 > }
91
92 func (WorkflowExecutionState) Type() protoreflect.EnumType {
150 }
151
152 > func (WorkflowBackoffType) Descriptor() protoreflect.EnumDescriptor { workflow.pb.go
153 > return file_temporal_server_api_enums_v1_workflow_proto_enumTypes[1].Descriptor()
154 > }
155
156 func (WorkflowBackoffType) Type() protoreflect.EnumType {
275 }
276
277 > func init() { file_temporal_server_api_enums_v1_workflow_proto_init() } workflow.pb.go
278 > func file_temporal_server_api_enums_v1_workflow_proto_init() {
279 > if File_temporal_server_api_enums_v1_workflow_proto != nil {
280 return
281 }
282 > type x struct{} workflow.pb.go
283 > out := protoimpl.TypeBuilder{
284 > File: protoimpl.DescBuilder{
285 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
286 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_workflow_proto_rawDesc), len(file_temporal_server_api_enums_v1_workflow_proto_rawDesc)),
287 > NumEnums: 3,
288 > NumMessages: 0,
289 > NumExtensions: 0,
290 > NumServices: 0,
291 > },
292 > GoTypes: file_temporal_server_api_enums_v1_workflow_proto_goTypes,
293 > DependencyIndexes: file_temporal_server_api_enums_v1_workflow_proto_depIdxs,
294 > EnumInfos: file_temporal_server_api_enums_v1_workflow_proto_enumTypes,
295 > }.Build()
296 > File_temporal_server_api_enums_v1_workflow_proto = out.File
297 > file_temporal_server_api_enums_v1_workflow_proto_goTypes = nil
298 > file_temporal_server_api_enums_v1_workflow_proto_depIdxs = nil
299 }
go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1/message.pb.go 26 covered LOC · 1 range

Open complete file

843 }
844
845 > func init() { file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_init() } message.pb.go
846 > func file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_init() {
847 > if File_temporal_server_chasm_lib_scheduler_proto_v1_message_proto != nil {
848 > return
849 > }
850 > file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_msgTypes[4].OneofWrappers = []any{
851 > (*BackfillerState_BackfillRequest)(nil),
852 > (*BackfillerState_TriggerRequest)(nil),
853 > }
854 > type x struct{}
855 > out := protoimpl.TypeBuilder{
856 > File: protoimpl.DescBuilder{
857 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
858 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_rawDesc), len(file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_rawDesc)),
859 > NumEnums: 0,
860 > NumMessages: 12,
861 > NumExtensions: 0,
862 > NumServices: 0,
863 > },
864 > GoTypes: file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_goTypes,
865 > DependencyIndexes: file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_depIdxs,
866 > MessageInfos: file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_msgTypes,
867 > }.Build()
868 > File_temporal_server_chasm_lib_scheduler_proto_v1_message_proto = out.File
869 > file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_goTypes = nil
870 > file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_depIdxs = nil
871 }
go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1/activity_state.pb.go 25 covered LOC · 2 ranges

Open complete file

1382 }
1383
1384 > func init() { file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_init() } activity_state.pb.go
1385 > func file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_init() {
1386 > if File_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto != nil {
1387 return
1388 }
1389 > file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_msgTypes[7].OneofWrappers = []any{ activity_state.pb.go
1390 > (*ActivityOutcome_Successful_)(nil),
1391 > (*ActivityOutcome_Failed_)(nil),
1392 > }
1393 > type x struct{}
1394 > out := protoimpl.TypeBuilder{
1395 > File: protoimpl.DescBuilder{
1396 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1397 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_rawDesc), len(file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_rawDesc)),
1398 > NumEnums: 2,
1399 > NumMessages: 11,
1400 > NumExtensions: 0,
1401 > NumServices: 0,
1402 > },
1403 > GoTypes: file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_goTypes,
1404 > DependencyIndexes: file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_depIdxs,
1405 > EnumInfos: file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_enumTypes,
1406 > MessageInfos: file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_msgTypes,
1407 > }.Build()
1408 > File_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto = out.File
1409 > file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_goTypes = nil
1410 > file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_depIdxs = nil
1411 }
go.temporal.io/server/chasm/lib/nexusoperation/gen/nexusoperationpb/v1/operation.pb.go 25 covered LOC · 2 ranges

Open complete file

998 }
999
1000 > func init() { file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_init() } operation.pb.go
1001 > func file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_init() {
1002 > if File_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto != nil {
1003 return
1004 }
1005 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_msgTypes[2].OneofWrappers = []any{ operation.pb.go
1006 > (*OperationOutcome_Successful_)(nil),
1007 > (*OperationOutcome_Failed_)(nil),
1008 > }
1009 > type x struct{}
1010 > out := protoimpl.TypeBuilder{
1011 > File: protoimpl.DescBuilder{
1012 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1013 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_rawDesc), len(file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_rawDesc)),
1014 > NumEnums: 2,
1015 > NumMessages: 8,
1016 > NumExtensions: 0,
1017 > NumServices: 0,
1018 > },
1019 > GoTypes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_goTypes,
1020 > DependencyIndexes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_depIdxs,
1021 > EnumInfos: file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_enumTypes,
1022 > MessageInfos: file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_msgTypes,
1023 > }.Build()
1024 > File_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto = out.File
1025 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_goTypes = nil
1026 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_operation_proto_depIdxs = nil
1027 }
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/schema_rewriter.go 25 covered LOC · 8 ranges

Open complete file

14 // RewriteSchemaStatements makes SQLite schemas catch values that would
15 // fail against SQL databases that enforce VARCHAR(n), such as Postgres and MySQL.
16 > func (mdb *db) RewriteSchemaStatements(statements []string) []string { schema_rewriter.go
17 > rewritten := make([]string, len(statements))
18 > for i, stmt := range statements {
19 > rewritten[i] = addSchemaVarcharLengthChecks(stmt)
20 > }
21 > return rewritten
22 }
23
24 > func addSchemaVarcharLengthChecks(stmt string) string { schema_rewriter.go
25 > // Only CREATE TABLE statements can accept generated table constraints.
26 > if !testSchemaCreateTablePattern.MatchString(stmt) {
27 > return stmt schema_rewriter.go
28 > }
29
30 > varcharColumns := testSchemaVarcharColumnPattern.FindAllStringSubmatch(stmt, -1) schema_rewriter.go
31 > if len(varcharColumns) == 0 {
32 > return stmt schema_rewriter.go
33 > }
34
35 // Append table-level CHECK constraints instead of editing column definitions.
36 > trimmedStmt := strings.TrimSpace(stmt) schema_rewriter.go
37 > trimmedStmt = strings.TrimSuffix(trimmedStmt, ";")
38 > trimmedStmt = strings.TrimSpace(trimmedStmt)
39 > tableConstraintOffset := strings.LastIndex(trimmedStmt, ")")
40 > if tableConstraintOffset < 0 {
41 return stmt
42 }
43
44 > var constraints strings.Builder schema_rewriter.go
45 > for _, column := range varcharColumns {
46 > fmt.Fprintf(&constraints, ",\n\tCHECK(length(%s) <= %s)", column[1], column[2])
47 > }
48
49 > return stmt[:tableConstraintOffset] + constraints.String() + stmt[tableConstraintOffset:] schema_rewriter.go
50 }
go.temporal.io/server/common/routing/route.go 25 covered LOC · 8 ranges

Open complete file

36
37 // NewRoute returns a new [Route] instance with the given components.
38 > func NewRoute[T any](components ...Component[T]) Route[T] { route.go
39 > return Route[T]{components: components}
40 > }
41
42 // RouteBuilder is a builder for the [Route] interface.
46
47 // NewBuilder creates a new [RouteBuilder] instance, which can be used to define a new [Route] via a fluent API.
48 > func NewBuilder[T any]() *RouteBuilder[T] { route.go
49 > return &RouteBuilder[T]{}
50 > }
51
52 // With adds a series of [Component] instances to the [Route].
53 > func (r *RouteBuilder[T]) With(c ...Component[T]) *RouteBuilder[T] { route.go
54 > r.components = append(r.components, c...)
55 > return r
56 > }
57
58 // Constant adds a [Constant] component to the [Route].
59 > func (r *RouteBuilder[T]) Constant(values ...string) *RouteBuilder[T] { route.go
60 > return r.With(Constant[T](values...))
61 > }
62
63 // StringVariable adds a [StringVariable] component to the [Route].
64 > func (r *RouteBuilder[T]) StringVariable(name string, getter func(*T) *string) *RouteBuilder[T] { route.go
65 > return r.With(StringVariable[T](name, getter))
66 > }
67
68 // Build returns a read-only [Route].
69 > func (r *RouteBuilder[T]) Build() Route[T] { route.go
70 > return NewRoute[T](r.components...)
71 > }
72
73 // Representation returns the [github.com/gorilla/mux] compatible string representation of the route for usage in a
111 // Constant returns a [Component] that represents a series of constant HTTP path components in a Route.
112 // They will be joined via strings when used to construct a path or path representation.
113 > func Constant[T any](values ...string) constant[T] { route.go
114 > return values
115 > }
116
117 type constant[T any] []string
128
129 // StringVariable returns a [Component] that represents a string variable in a Route.
130 > func StringVariable[T any](name string, getter func(*T) *string) stringVariable[T] { route.go
131 > return stringVariable[T]{name, getter}
132 > }
133
134 type stringVariable[T any] struct {
go.temporal.io/server/api/clock/v1/message.pb.go 24 covered LOC · 4 ranges

Open complete file

45 func (*VectorClock) ProtoMessage() {}
46
47 > func (x *VectorClock) ProtoReflect() protoreflect.Message { message.pb.go
48 > mi := &file_temporal_server_api_clock_v1_message_proto_msgTypes[0]
49 > if x != nil {
50 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
51 if ms.LoadMessageInfo() == nil {
54 return ms
55 }
56 > return mi.MessageOf(x) message.pb.go
57 }
58
193 }
194
195 > func init() { file_temporal_server_api_clock_v1_message_proto_init() } message.pb.go
196 > func file_temporal_server_api_clock_v1_message_proto_init() {
197 > if File_temporal_server_api_clock_v1_message_proto != nil {
198 return
199 }
200 > type x struct{} message.pb.go
201 > out := protoimpl.TypeBuilder{
202 > File: protoimpl.DescBuilder{
203 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
204 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_clock_v1_message_proto_rawDesc), len(file_temporal_server_api_clock_v1_message_proto_rawDesc)),
205 > NumEnums: 0,
206 > NumMessages: 2,
207 > NumExtensions: 0,
208 > NumServices: 0,
209 > },
210 > GoTypes: file_temporal_server_api_clock_v1_message_proto_goTypes,
211 > DependencyIndexes: file_temporal_server_api_clock_v1_message_proto_depIdxs,
212 > MessageInfos: file_temporal_server_api_clock_v1_message_proto_msgTypes,
213 > }.Build()
214 > File_temporal_server_api_clock_v1_message_proto = out.File
215 > file_temporal_server_api_clock_v1_message_proto_goTypes = nil
216 > file_temporal_server_api_clock_v1_message_proto_depIdxs = nil
217 }
go.temporal.io/server/api/health/v1/message.pb.go 24 covered LOC · 4 ranges

Open complete file

63 func (*HealthCheck) ProtoMessage() {}
64
65 > func (x *HealthCheck) ProtoReflect() protoreflect.Message { message.pb.go
66 > mi := &file_temporal_server_api_health_v1_message_proto_msgTypes[0]
67 > if x != nil {
68 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
69 if ms.LoadMessageInfo() == nil {
72 return ms
73 }
74 > return mi.MessageOf(x) message.pb.go
75 }
76
300 }
301
302 > func init() { file_temporal_server_api_health_v1_message_proto_init() } message.pb.go
303 > func file_temporal_server_api_health_v1_message_proto_init() {
304 > if File_temporal_server_api_health_v1_message_proto != nil {
305 return
306 }
307 > type x struct{} message.pb.go
308 > out := protoimpl.TypeBuilder{
309 > File: protoimpl.DescBuilder{
310 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
311 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_health_v1_message_proto_rawDesc), len(file_temporal_server_api_health_v1_message_proto_rawDesc)),
312 > NumEnums: 0,
313 > NumMessages: 3,
314 > NumExtensions: 0,
315 > NumServices: 0,
316 > },
317 > GoTypes: file_temporal_server_api_health_v1_message_proto_goTypes,
318 > DependencyIndexes: file_temporal_server_api_health_v1_message_proto_depIdxs,
319 > MessageInfos: file_temporal_server_api_health_v1_message_proto_msgTypes,
320 > }.Build()
321 > File_temporal_server_api_health_v1_message_proto = out.File
322 > file_temporal_server_api_health_v1_message_proto_goTypes = nil
323 > file_temporal_server_api_health_v1_message_proto_depIdxs = nil
324 }
go.temporal.io/server/api/namespace/v1/message.pb.go 24 covered LOC · 4 ranges

Open complete file

50 func (*NamespaceCacheInfo) ProtoMessage() {}
51
52 > func (x *NamespaceCacheInfo) ProtoReflect() protoreflect.Message { message.pb.go
53 > mi := &file_temporal_server_api_namespace_v1_message_proto_msgTypes[0]
54 > if x != nil {
55 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
56 if ms.LoadMessageInfo() == nil {
59 return ms
60 }
61 > return mi.MessageOf(x) message.pb.go
62 }
63
114 }
115
116 > func init() { file_temporal_server_api_namespace_v1_message_proto_init() } message.pb.go
117 > func file_temporal_server_api_namespace_v1_message_proto_init() {
118 > if File_temporal_server_api_namespace_v1_message_proto != nil {
119 return
120 }
121 > type x struct{} message.pb.go
122 > out := protoimpl.TypeBuilder{
123 > File: protoimpl.DescBuilder{
124 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
125 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_namespace_v1_message_proto_rawDesc), len(file_temporal_server_api_namespace_v1_message_proto_rawDesc)),
126 > NumEnums: 0,
127 > NumMessages: 1,
128 > NumExtensions: 0,
129 > NumServices: 0,
130 > },
131 > GoTypes: file_temporal_server_api_namespace_v1_message_proto_goTypes,
132 > DependencyIndexes: file_temporal_server_api_namespace_v1_message_proto_depIdxs,
133 > MessageInfos: file_temporal_server_api_namespace_v1_message_proto_msgTypes,
134 > }.Build()
135 > File_temporal_server_api_namespace_v1_message_proto = out.File
136 > file_temporal_server_api_namespace_v1_message_proto_goTypes = nil
137 > file_temporal_server_api_namespace_v1_message_proto_depIdxs = nil
138 }
go.temporal.io/server/api/persistence/v1/nexus.pb.go 24 covered LOC · 2 ranges

Open complete file

481 }
482
483 > func init() { file_temporal_server_api_persistence_v1_nexus_proto_init() } nexus.pb.go
484 > func file_temporal_server_api_persistence_v1_nexus_proto_init() {
485 > if File_temporal_server_api_persistence_v1_nexus_proto != nil {
486 return
487 }
488 > file_temporal_server_api_persistence_v1_nexus_proto_msgTypes[1].OneofWrappers = []any{ nexus.pb.go
489 > (*NexusEndpointTarget_Worker_)(nil),
490 > (*NexusEndpointTarget_External_)(nil),
491 > }
492 > type x struct{}
493 > out := protoimpl.TypeBuilder{
494 > File: protoimpl.DescBuilder{
495 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
496 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_nexus_proto_rawDesc), len(file_temporal_server_api_persistence_v1_nexus_proto_rawDesc)),
497 > NumEnums: 0,
498 > NumMessages: 6,
499 > NumExtensions: 0,
500 > NumServices: 0,
501 > },
502 > GoTypes: file_temporal_server_api_persistence_v1_nexus_proto_goTypes,
503 > DependencyIndexes: file_temporal_server_api_persistence_v1_nexus_proto_depIdxs,
504 > MessageInfos: file_temporal_server_api_persistence_v1_nexus_proto_msgTypes,
505 > }.Build()
506 > File_temporal_server_api_persistence_v1_nexus_proto = out.File
507 > file_temporal_server_api_persistence_v1_nexus_proto_goTypes = nil
508 > file_temporal_server_api_persistence_v1_nexus_proto_depIdxs = nil
509 }
go.temporal.io/server/api/schedule/v1/message.pb.go 24 covered LOC · 2 ranges

Open complete file

1224 }
1225
1226 > func init() { file_temporal_server_api_schedule_v1_message_proto_init() } message.pb.go
1227 > func file_temporal_server_api_schedule_v1_message_proto_init() {
1228 > if File_temporal_server_api_schedule_v1_message_proto != nil {
1229 return
1230 }
1231 > file_temporal_server_api_schedule_v1_message_proto_msgTypes[7].OneofWrappers = []any{ message.pb.go
1232 > (*WatchWorkflowResponse_Result)(nil),
1233 > (*WatchWorkflowResponse_Failure)(nil),
1234 > }
1235 > type x struct{}
1236 > out := protoimpl.TypeBuilder{
1237 > File: protoimpl.DescBuilder{
1238 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1239 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_schedule_v1_message_proto_rawDesc), len(file_temporal_server_api_schedule_v1_message_proto_rawDesc)),
1240 > NumEnums: 0,
1241 > NumMessages: 13,
1242 > NumExtensions: 0,
1243 > NumServices: 0,
1244 > },
1245 > GoTypes: file_temporal_server_api_schedule_v1_message_proto_goTypes,
1246 > DependencyIndexes: file_temporal_server_api_schedule_v1_message_proto_depIdxs,
1247 > MessageInfos: file_temporal_server_api_schedule_v1_message_proto_msgTypes,
1248 > }.Build()
1249 > File_temporal_server_api_schedule_v1_message_proto = out.File
1250 > file_temporal_server_api_schedule_v1_message_proto_goTypes = nil
1251 > file_temporal_server_api_schedule_v1_message_proto_depIdxs = nil
1252 }
go.temporal.io/server/api/token/v1/message.pb.go 24 covered LOC · 4 ranges

Open complete file

610 func (*NexusOperationCompletion) ProtoMessage() {}
611
612 > func (x *NexusOperationCompletion) ProtoReflect() protoreflect.Message { message.pb.go
613 > mi := &file_temporal_server_api_token_v1_message_proto_msgTypes[6]
614 > if x != nil {
615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
616 if ms.LoadMessageInfo() == nil {
619 return ms
620 }
621 > return mi.MessageOf(x) message.pb.go
622 }
623
785 }
786
787 > func init() { file_temporal_server_api_token_v1_message_proto_init() } message.pb.go
788 > func file_temporal_server_api_token_v1_message_proto_init() {
789 > if File_temporal_server_api_token_v1_message_proto != nil {
790 return
791 }
792 > type x struct{} message.pb.go
793 > out := protoimpl.TypeBuilder{
794 > File: protoimpl.DescBuilder{
795 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
796 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_token_v1_message_proto_rawDesc), len(file_temporal_server_api_token_v1_message_proto_rawDesc)),
797 > NumEnums: 0,
798 > NumMessages: 7,
799 > NumExtensions: 0,
800 > NumServices: 0,
801 > },
802 > GoTypes: file_temporal_server_api_token_v1_message_proto_goTypes,
803 > DependencyIndexes: file_temporal_server_api_token_v1_message_proto_depIdxs,
804 > MessageInfos: file_temporal_server_api_token_v1_message_proto_msgTypes,
805 > }.Build()
806 > File_temporal_server_api_token_v1_message_proto = out.File
807 > file_temporal_server_api_token_v1_message_proto_goTypes = nil
808 > file_temporal_server_api_token_v1_message_proto_depIdxs = nil
809 }
go.temporal.io/server/chasm/lib/callback/gen/callbackpb/v1/message.pb.go 24 covered LOC · 2 ranges

Open complete file

462 }
463
464 > func init() { file_temporal_server_chasm_lib_callback_proto_v1_message_proto_init() } message.pb.go
465 > func file_temporal_server_chasm_lib_callback_proto_v1_message_proto_init() {
466 > if File_temporal_server_chasm_lib_callback_proto_v1_message_proto != nil {
467 return
468 }
469 > file_temporal_server_chasm_lib_callback_proto_v1_message_proto_msgTypes[1].OneofWrappers = []any{ message.pb.go
470 > (*Callback_Nexus_)(nil),
471 > }
472 > type x struct{}
473 > out := protoimpl.TypeBuilder{
474 > File: protoimpl.DescBuilder{
475 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
476 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_callback_proto_v1_message_proto_rawDesc), len(file_temporal_server_chasm_lib_callback_proto_v1_message_proto_rawDesc)),
477 > NumEnums: 1,
478 > NumMessages: 5,
479 > NumExtensions: 0,
480 > NumServices: 0,
481 > },
482 > GoTypes: file_temporal_server_chasm_lib_callback_proto_v1_message_proto_goTypes,
483 > DependencyIndexes: file_temporal_server_chasm_lib_callback_proto_v1_message_proto_depIdxs,
484 > EnumInfos: file_temporal_server_chasm_lib_callback_proto_v1_message_proto_enumTypes,
485 > MessageInfos: file_temporal_server_chasm_lib_callback_proto_v1_message_proto_msgTypes,
486 > }.Build()
487 > File_temporal_server_chasm_lib_callback_proto_v1_message_proto = out.File
488 > file_temporal_server_chasm_lib_callback_proto_v1_message_proto_goTypes = nil
489 > file_temporal_server_chasm_lib_callback_proto_v1_message_proto_depIdxs = nil
490 }
go.temporal.io/server/client/history/client_gen.go 24 covered LOC · 8 ranges

Open complete file

120 request *historyservice.DeleteDLQTasksRequest,
121 opts ...grpc.CallOption,
122 > ) (*historyservice.DeleteDLQTasksResponse, error) { client_gen.go
123 > shardID := c.getRandomShard()
124 > var response *historyservice.DeleteDLQTasksResponse
125 > op := func(ctx context.Context, client historyservice.HistoryServiceClient) error {
126 > var err error client_gen.go
127 > ctx, cancel := c.createContext(ctx)
128 > defer cancel()
129 > response, err = client.DeleteDLQTasks(ctx, request, opts...)
130 > return err
131 > }
132 > if err := c.executeWithRedirect(ctx, shardID, op); err != nil { client_gen.go
133 return nil, err
134 }
135 > return response, nil client_gen.go
136 }
137
344 request *historyservice.GetDLQTasksRequest,
345 opts ...grpc.CallOption,
346 > ) (*historyservice.GetDLQTasksResponse, error) { client_gen.go
347 > shardID := c.getRandomShard()
348 > var response *historyservice.GetDLQTasksResponse
349 > op := func(ctx context.Context, client historyservice.HistoryServiceClient) error {
350 > var err error client_gen.go
351 > ctx, cancel := c.createContext(ctx)
352 > defer cancel()
353 > response, err = client.GetDLQTasks(ctx, request, opts...)
354 > return err
355 > }
356 > if err := c.executeWithRedirect(ctx, shardID, op); err != nil { client_gen.go
357 return nil, err
358 }
359 > return response, nil client_gen.go
360 }
361
go.temporal.io/server/client/history/redirector.go 24 covered LOC · 8 ranges

Open complete file

30 )
31
32 > func shardLookup(resolver membership.ServiceResolver, shardID int32) (rpcAddress, error) { redirector.go
33 > hostInfo, err := resolver.Lookup(convert.Int32ToString(shardID))
34 > if err != nil {
35 return "", err
36 }
37 > return rpcAddress(hostInfo.GetAddress()), nil redirector.go
38 }
39
41 connections connectionPool[C],
42 historyServiceResolver membership.ServiceResolver,
43 > ) *BasicRedirector[C] { redirector.go
44 > return &BasicRedirector[C]{
45 > connections: connections,
46 > historyServiceResolver: historyServiceResolver,
47 > }
48 > }
49
50 func (r *BasicRedirector[C]) Close() {
65 }
66
67 > func (r *BasicRedirector[C]) Execute(ctx context.Context, shardID int32, op ClientOperation[C]) error { redirector.go
68 > if err := checkShardID(shardID); err != nil {
69 return err
70 }
71 > address, err := shardLookup(r.historyServiceResolver, shardID) redirector.go
72 > if err != nil {
73 return err
74 }
75 > return r.redirectLoop(ctx, address, op) redirector.go
76 }
77
78 > func (r *BasicRedirector[C]) redirectLoop(ctx context.Context, address rpcAddress, op ClientOperation[C]) error { redirector.go
79 > for {
80 > if err := common.IsValidContext(ctx); err != nil {
81 return err
82 }
83 > clientConn := r.connections.getOrCreateClientConn(address) redirector.go
84 > err := op(ctx, clientConn.grpcClient)
85 > var solErr *serviceerrors.ShardOwnershipLost
86 > if !errors.As(err, &solErr) || len(solErr.OwnerHost) == 0 {
87 > return err
88 > }
89 // TODO: consider emitting a metric for number of redirects
90 address = rpcAddress(solErr.OwnerHost)
go.temporal.io/server/common/persistence/serialization/codec.go 24 covered LOC · 11 ranges

Open complete file

26 // encodingTypeFromEnv returns an EncodingType based on the environment variable `TEMPORAL_TEST_DATA_ENCODING`.
27 // It defaults to "ENCODING_TYPE_PROTO3" codec if the environment variable is not set.
28 > func encodingTypeFromEnv() enumspb.EncodingType { codec.go
29 > codecType := os.Getenv(SerializerDataEncodingEnvVar)
30 > switch strings.ToLower(codecType) {
31 > case "", "proto3": codec.go
32 > return enumspb.ENCODING_TYPE_PROTO3
33 case "json":
34 return enumspb.ENCODING_TYPE_JSON
65 encoding enumspb.EncodingType,
66 options ...EncodeOption,
67 > ) (*commonpb.DataBlob, error) { codec.go
68 > opts := encodeOptions{}
69 > for _, option := range options {
70 option(&opts)
71 }
72
73 > if m == nil { codec.go
74 return &commonpb.DataBlob{
75 Data: nil,
78 }
79
80 > switch encoding { codec.go
81 case enumspb.ENCODING_TYPE_JSON:
82 blob, err := codec.NewJSONPBEncoder().Encode(m)
88 EncodingType: enumspb.ENCODING_TYPE_JSON,
89 }, nil
90 > case enumspb.ENCODING_TYPE_PROTO3: codec.go
91 > data, err := proto.MarshalOptions{Deterministic: opts.deterministic}.Marshal(m)
92 > if err != nil {
93 return nil, NewSerializationError(enumspb.ENCODING_TYPE_PROTO3, err)
94 }
95 > return &commonpb.DataBlob{ codec.go
96 > EncodingType: enumspb.ENCODING_TYPE_PROTO3,
97 > Data: data,
98 > }, nil
99 default:
100 return nil, NewUnknownEncodingTypeError(encoding.String(), enumspb.ENCODING_TYPE_JSON, enumspb.ENCODING_TYPE_PROTO3)
102 }
103
104 > func Decode(data *commonpb.DataBlob, result proto.Message) error { codec.go
105 > if data == nil {
106 return NewDeserializationError(enumspb.ENCODING_TYPE_UNSPECIFIED, errors.New("cannot decode nil"))
107 }
108
109 > switch data.EncodingType { codec.go
110 case enumspb.ENCODING_TYPE_JSON:
111 return codec.NewJSONPBEncoder().Decode(data.Data, result)
112 > case enumspb.ENCODING_TYPE_PROTO3: codec.go
113 > err := proto.Unmarshal(data.Data, result)
114 > if err != nil {
115 return NewDeserializationError(enumspb.ENCODING_TYPE_PROTO3, err)
116 }
117 > return nil codec.go
118 default:
119 return NewUnknownEncodingTypeError(data.EncodingType.String(), enumspb.ENCODING_TYPE_JSON, enumspb.ENCODING_TYPE_PROTO3)
go.temporal.io/server/common/persistence/serialization/task_serializers.go 24 covered LOC · 4 ranges

Open complete file

18 encoder Encoder,
19 task tasks.Task,
20 > ) (*commonpb.DataBlob, error) { task_serializers.go
21 > var transferTask *persistencespb.TransferTaskInfo
22 > switch task := task.(type) {
23 > case *tasks.WorkflowTask: task_serializers.go
24 > transferTask = transferWorkflowTaskToProto(task)
25 case *tasks.ActivityTask:
26 transferTask = transferActivityTaskToProto(task)
42 return nil, serviceerror.NewInternalf("Unknown transfer task type: %v", task)
43 }
44 > return encoder.TransferTaskInfoToBlob(transferTask) task_serializers.go
45 }
46
455 func transferWorkflowTaskToProto(
456 workflowTask *tasks.WorkflowTask,
457 > ) *persistencespb.TransferTaskInfo { task_serializers.go
458 > return &persistencespb.TransferTaskInfo{
459 > NamespaceId: workflowTask.NamespaceID,
460 > WorkflowId: workflowTask.WorkflowID,
461 > RunId: workflowTask.RunID,
462 > TaskType: enumsspb.TASK_TYPE_TRANSFER_WORKFLOW_TASK,
463 > TargetNamespaceId: workflowTask.NamespaceID,
464 > TargetWorkflowId: "",
465 > TargetRunId: "",
466 > TargetChildWorkflowOnly: false,
467 > TaskQueue: workflowTask.TaskQueue,
468 > ScheduledEventId: workflowTask.ScheduledEventID,
469 > Version: workflowTask.Version,
470 > TaskId: workflowTask.TaskID,
471 > VisibilityTime: timestamppb.New(workflowTask.VisibilityTimestamp),
472 > Stamp: workflowTask.Stamp,
473 > }
474 > }
475
476 func transferWorkflowTaskFromProto(
go.temporal.io/server/api/enums/v1/cluster.pb.go 23 covered LOC · 3 ranges

Open complete file

149 }
150
151 > func (HealthState) Descriptor() protoreflect.EnumDescriptor { cluster.pb.go
152 > return file_temporal_server_api_enums_v1_cluster_proto_enumTypes[1].Descriptor()
153 > }
154
155 func (HealthState) Type() protoreflect.EnumType {
209 }
210
211 > func init() { file_temporal_server_api_enums_v1_cluster_proto_init() } cluster.pb.go
212 > func file_temporal_server_api_enums_v1_cluster_proto_init() {
213 > if File_temporal_server_api_enums_v1_cluster_proto != nil {
214 return
215 }
216 > type x struct{} cluster.pb.go
217 > out := protoimpl.TypeBuilder{
218 > File: protoimpl.DescBuilder{
219 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
220 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_cluster_proto_rawDesc), len(file_temporal_server_api_enums_v1_cluster_proto_rawDesc)),
221 > NumEnums: 2,
222 > NumMessages: 0,
223 > NumExtensions: 0,
224 > NumServices: 0,
225 > },
226 > GoTypes: file_temporal_server_api_enums_v1_cluster_proto_goTypes,
227 > DependencyIndexes: file_temporal_server_api_enums_v1_cluster_proto_depIdxs,
228 > EnumInfos: file_temporal_server_api_enums_v1_cluster_proto_enumTypes,
229 > }.Build()
230 > File_temporal_server_api_enums_v1_cluster_proto = out.File
231 > file_temporal_server_api_enums_v1_cluster_proto_goTypes = nil
232 > file_temporal_server_api_enums_v1_cluster_proto_depIdxs = nil
233 }
go.temporal.io/server/api/enums/v1/nexus.pb.go 23 covered LOC · 3 ranges

Open complete file

102 }
103
104 > func (NexusOperationState) Descriptor() protoreflect.EnumDescriptor { nexus.pb.go
105 > return file_temporal_server_api_enums_v1_nexus_proto_enumTypes[0].Descriptor()
106 > }
107
108 func (NexusOperationState) Type() protoreflect.EnumType {
158 }
159
160 > func init() { file_temporal_server_api_enums_v1_nexus_proto_init() } nexus.pb.go
161 > func file_temporal_server_api_enums_v1_nexus_proto_init() {
162 > if File_temporal_server_api_enums_v1_nexus_proto != nil {
163 return
164 }
165 > type x struct{} nexus.pb.go
166 > out := protoimpl.TypeBuilder{
167 > File: protoimpl.DescBuilder{
168 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
169 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_nexus_proto_rawDesc), len(file_temporal_server_api_enums_v1_nexus_proto_rawDesc)),
170 > NumEnums: 1,
171 > NumMessages: 0,
172 > NumExtensions: 0,
173 > NumServices: 0,
174 > },
175 > GoTypes: file_temporal_server_api_enums_v1_nexus_proto_goTypes,
176 > DependencyIndexes: file_temporal_server_api_enums_v1_nexus_proto_depIdxs,
177 > EnumInfos: file_temporal_server_api_enums_v1_nexus_proto_enumTypes,
178 > }.Build()
179 > File_temporal_server_api_enums_v1_nexus_proto = out.File
180 > file_temporal_server_api_enums_v1_nexus_proto_goTypes = nil
181 > file_temporal_server_api_enums_v1_nexus_proto_depIdxs = nil
182 }
go.temporal.io/server/api/enums/v1/predicate.pb.go 23 covered LOC · 3 ranges

Open complete file

111 }
112
113 > func (PredicateType) Descriptor() protoreflect.EnumDescriptor { predicate.pb.go
114 > return file_temporal_server_api_enums_v1_predicate_proto_enumTypes[0].Descriptor()
115 > }
116
117 func (PredicateType) Type() protoreflect.EnumType {
170 }
171
172 > func init() { file_temporal_server_api_enums_v1_predicate_proto_init() } predicate.pb.go
173 > func file_temporal_server_api_enums_v1_predicate_proto_init() {
174 > if File_temporal_server_api_enums_v1_predicate_proto != nil {
175 return
176 }
177 > type x struct{} predicate.pb.go
178 > out := protoimpl.TypeBuilder{
179 > File: protoimpl.DescBuilder{
180 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
181 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_predicate_proto_rawDesc), len(file_temporal_server_api_enums_v1_predicate_proto_rawDesc)),
182 > NumEnums: 1,
183 > NumMessages: 0,
184 > NumExtensions: 0,
185 > NumServices: 0,
186 > },
187 > GoTypes: file_temporal_server_api_enums_v1_predicate_proto_goTypes,
188 > DependencyIndexes: file_temporal_server_api_enums_v1_predicate_proto_depIdxs,
189 > EnumInfos: file_temporal_server_api_enums_v1_predicate_proto_enumTypes,
190 > }.Build()
191 > File_temporal_server_api_enums_v1_predicate_proto = out.File
192 > file_temporal_server_api_enums_v1_predicate_proto_goTypes = nil
193 > file_temporal_server_api_enums_v1_predicate_proto_depIdxs = nil
194 }
go.temporal.io/server/api/enums/v1/workflow_task_type.pb.go 23 covered LOC · 3 ranges

Open complete file

72 }
73
74 > func (WorkflowTaskType) Descriptor() protoreflect.EnumDescriptor { workflow_task_type.pb.go
75 > return file_temporal_server_api_enums_v1_workflow_task_type_proto_enumTypes[0].Descriptor()
76 > }
77
78 func (WorkflowTaskType) Type() protoreflect.EnumType {
124 }
125
126 > func init() { file_temporal_server_api_enums_v1_workflow_task_type_proto_init() } workflow_task_type.pb.go
127 > func file_temporal_server_api_enums_v1_workflow_task_type_proto_init() {
128 > if File_temporal_server_api_enums_v1_workflow_task_type_proto != nil {
129 return
130 }
131 > type x struct{} workflow_task_type.pb.go
132 > out := protoimpl.TypeBuilder{
133 > File: protoimpl.DescBuilder{
134 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
135 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_workflow_task_type_proto_rawDesc), len(file_temporal_server_api_enums_v1_workflow_task_type_proto_rawDesc)),
136 > NumEnums: 1,
137 > NumMessages: 0,
138 > NumExtensions: 0,
139 > NumServices: 0,
140 > },
141 > GoTypes: file_temporal_server_api_enums_v1_workflow_task_type_proto_goTypes,
142 > DependencyIndexes: file_temporal_server_api_enums_v1_workflow_task_type_proto_depIdxs,
143 > EnumInfos: file_temporal_server_api_enums_v1_workflow_task_type_proto_enumTypes,
144 > }.Build()
145 > File_temporal_server_api_enums_v1_workflow_task_type_proto = out.File
146 > file_temporal_server_api_enums_v1_workflow_task_type_proto_goTypes = nil
147 > file_temporal_server_api_enums_v1_workflow_task_type_proto_depIdxs = nil
148 }
go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1/request_response.pb.go 23 covered LOC · 1 range

Open complete file

1021 }
1022
1023 > func init() { file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_init() } request_response.pb.go
1024 > func file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_init() {
1025 > if File_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto != nil {
1026 > return
1027 > }
1028 > file_temporal_server_chasm_lib_scheduler_proto_v1_message_proto_init()
1029 > type x struct{}
1030 > out := protoimpl.TypeBuilder{
1031 > File: protoimpl.DescBuilder{
1032 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1033 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_rawDesc), len(file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_rawDesc)),
1034 > NumEnums: 0,
1035 > NumMessages: 18,
1036 > NumExtensions: 0,
1037 > NumServices: 0,
1038 > },
1039 > GoTypes: file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_goTypes,
1040 > DependencyIndexes: file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_depIdxs,
1041 > MessageInfos: file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_msgTypes,
1042 > }.Build()
1043 > File_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto = out.File
1044 > file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_goTypes = nil
1045 > file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_depIdxs = nil
1046 }
go.temporal.io/server/common/dynamicconfig/shared_structure.go 23 covered LOC · 6 ranges

Open complete file

17 )
18
19 > func warnDefaultSharedStructure(key string, def any) { shared_structure.go
20 > if path := hasSharedStructure(reflect.ValueOf(def), "root"); path != "" {
21 sharedStructureWarnings.Store(key, path)
22 }
23 }
24
25 > func logSharedStructureWarnings(logger log.Logger) { shared_structure.go
26 > // If you see this warning, it means that a default value used in New*TypedSetting has a
27 > // non-nil slice or map in it. That can lead to confusing behavior since the value from
28 > // dynamic config will be merged over the default value (e.g. the slice will be appended
29 > // to, not replaced). If that behavior is desired, you can avoid this warning by using
30 > // New*TypedSettingWithConverter and referring to dynamicconfig.ConvertStructure
31 > // explicitly. Otherwise use nil slices and maps, including at the top level
32 > // (so `[]string(nil)` instead of `[]string{}`).
33 > logSharedStructureWarningsOnce.Do(func() {
34 > sharedStructureWarnings.Range(func(key, path any) bool {
35 softassert.Fail(logger,
36 "default value contains shared structure",
42 }
43
44 > func hasSharedStructure(v reflect.Value, path string) string { shared_structure.go
45 > // nolint:exhaustive // deliberately not exhaustive
46 > switch v.Kind() {
47 > case reflect.Map, reflect.Slice, reflect.Pointer:
48 > if !v.IsNil() {
49 return path
50 }
51 > case reflect.Interface: shared_structure.go
52 > if !v.IsNil() {
53 return hasSharedStructure(v.Elem(), path)
54 }
55 > case reflect.Struct: shared_structure.go
56 > for i := range v.NumField() {
57 > if p := hasSharedStructure(v.Field(i), path+"."+v.Type().Field(i).Name); p != "" {
58 return p
59 }
go.temporal.io/server/common/namespace/namespace.go 23 covered LOC · 6 ranges

Open complete file

81 resolver ReplicationResolver,
82 mutations ...Mutation,
83 > ) (*Namespace, error) { namespace.go
84 > if resolver == nil {
85 return nil, serviceerror.NewInvalidArgument("replicationResolver must be provided")
86 }
87 > ns := &Namespace{ namespace.go
88 > info: detail.Info,
89 > config: detail.Config,
90 > configVersion: detail.ConfigVersion,
91 > customSearchAttributesMapper: CustomSearchAttributesMapper{
92 > fieldToAlias: detail.Config.CustomSearchAttributeAliases,
93 > aliasToField: util.InverseMap(detail.Config.CustomSearchAttributeAliases),
94 > },
95 > replicationResolver: resolver,
96 > }
97 >
98 > for _, m := range mutations {
99 > m.apply(ns) namespace.go
100 > }
101
102 > return ns, nil namespace.go
103 }
104
337 }
338
339 > func (id ID) String() string { namespace.go
340 > return string(id)
341 > }
342
343 func (id ID) IsEmpty() bool {
345 }
346
347 > func (n Name) String() string { namespace.go
348 > return string(n)
349 > }
350
351 func (n Name) IsEmpty() bool {
go.temporal.io/server/api/common/v1/api_category.pb.go 22 covered LOC · 2 ranges

Open complete file

204 }
205
206 > func init() { file_temporal_server_api_common_v1_api_category_proto_init() } api_category.pb.go
207 > func file_temporal_server_api_common_v1_api_category_proto_init() {
208 > if File_temporal_server_api_common_v1_api_category_proto != nil {
209 return
210 }
211 > type x struct{} api_category.pb.go
212 > out := protoimpl.TypeBuilder{
213 > File: protoimpl.DescBuilder{
214 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
215 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_common_v1_api_category_proto_rawDesc), len(file_temporal_server_api_common_v1_api_category_proto_rawDesc)),
216 > NumEnums: 1,
217 > NumMessages: 1,
218 > NumExtensions: 1,
219 > NumServices: 0,
220 > },
221 > GoTypes: file_temporal_server_api_common_v1_api_category_proto_goTypes,
222 > DependencyIndexes: file_temporal_server_api_common_v1_api_category_proto_depIdxs,
223 > EnumInfos: file_temporal_server_api_common_v1_api_category_proto_enumTypes,
224 > MessageInfos: file_temporal_server_api_common_v1_api_category_proto_msgTypes,
225 > ExtensionInfos: file_temporal_server_api_common_v1_api_category_proto_extTypes,
226 > }.Build()
227 > File_temporal_server_api_common_v1_api_category_proto = out.File
228 > file_temporal_server_api_common_v1_api_category_proto_goTypes = nil
229 > file_temporal_server_api_common_v1_api_category_proto_depIdxs = nil
230 }
go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1/request_response.pb.go 22 covered LOC · 1 range

Open complete file

1057 }
1058
1059 > func init() { file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_init() } request_response.pb.go
1060 > func file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_init() {
1061 > if File_temporal_server_chasm_lib_activity_proto_v1_request_response_proto != nil {
1062 > return
1063 > }
1064 > type x struct{}
1065 > out := protoimpl.TypeBuilder{
1066 > File: protoimpl.DescBuilder{
1067 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1068 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_rawDesc), len(file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_rawDesc)),
1069 > NumEnums: 0,
1070 > NumMessages: 20,
1071 > NumExtensions: 0,
1072 > NumServices: 0,
1073 > },
1074 > GoTypes: file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_goTypes,
1075 > DependencyIndexes: file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_depIdxs,
1076 > MessageInfos: file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_msgTypes,
1077 > }.Build()
1078 > File_temporal_server_chasm_lib_activity_proto_v1_request_response_proto = out.File
1079 > file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_goTypes = nil
1080 > file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_depIdxs = nil
1081 }
go.temporal.io/server/chasm/lib/nexusoperation/gen/nexusoperationpb/v1/request_response.pb.go 22 covered LOC · 1 range

Open complete file

672 }
673
674 > func init() { file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_init() } request_response.pb.go
675 > func file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_init() {
676 > if File_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto != nil {
677 > return
678 > }
679 > type x struct{}
680 > out := protoimpl.TypeBuilder{
681 > File: protoimpl.DescBuilder{
682 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
683 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_rawDesc), len(file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_rawDesc)),
684 > NumEnums: 0,
685 > NumMessages: 12,
686 > NumExtensions: 0,
687 > NumServices: 0,
688 > },
689 > GoTypes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_goTypes,
690 > DependencyIndexes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_depIdxs,
691 > MessageInfos: file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_msgTypes,
692 > }.Build()
693 > File_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto = out.File
694 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_goTypes = nil
695 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_depIdxs = nil
696 }
go.temporal.io/server/chasm/lib/tests/gen/testspb/v1/request_response.pb.go 22 covered LOC · 1 range

Open complete file

157 }
158
159 > func init() { file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_init() } request_response.pb.go
160 > func file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_init() {
161 > if File_temporal_server_chasm_lib_tests_proto_v1_request_response_proto != nil {
162 > return
163 > }
164 > type x struct{}
165 > out := protoimpl.TypeBuilder{
166 > File: protoimpl.DescBuilder{
167 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
168 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_rawDesc), len(file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_rawDesc)),
169 > NumEnums: 0,
170 > NumMessages: 2,
171 > NumExtensions: 0,
172 > NumServices: 0,
173 > },
174 > GoTypes: file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_goTypes,
175 > DependencyIndexes: file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_depIdxs,
176 > MessageInfos: file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_msgTypes,
177 > }.Build()
178 > File_temporal_server_chasm_lib_tests_proto_v1_request_response_proto = out.File
179 > file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_goTypes = nil
180 > file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_depIdxs = nil
181 }
go.temporal.io/server/api/persistence/v1/task_queues.pb.go 21 covered LOC · 2 ranges

Open complete file

899 }
900
901 > func init() { file_temporal_server_api_persistence_v1_task_queues_proto_init() } task_queues.pb.go
902 > func file_temporal_server_api_persistence_v1_task_queues_proto_init() {
903 > if File_temporal_server_api_persistence_v1_task_queues_proto != nil {
904 return
905 }
906 > type x struct{} task_queues.pb.go
907 > out := protoimpl.TypeBuilder{
908 > File: protoimpl.DescBuilder{
909 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
910 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc), len(file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc)),
911 > NumEnums: 1,
912 > NumMessages: 13,
913 > NumExtensions: 0,
914 > NumServices: 0,
915 > },
916 > GoTypes: file_temporal_server_api_persistence_v1_task_queues_proto_goTypes,
917 > DependencyIndexes: file_temporal_server_api_persistence_v1_task_queues_proto_depIdxs,
918 > EnumInfos: file_temporal_server_api_persistence_v1_task_queues_proto_enumTypes,
919 > MessageInfos: file_temporal_server_api_persistence_v1_task_queues_proto_msgTypes,
920 > }.Build()
921 > File_temporal_server_api_persistence_v1_task_queues_proto = out.File
922 > file_temporal_server_api_persistence_v1_task_queues_proto_goTypes = nil
923 > file_temporal_server_api_persistence_v1_task_queues_proto_depIdxs = nil
924 }
go.temporal.io/server/api/routing/v1/extension.pb.go 21 covered LOC · 2 ranges

Open complete file

144 }
145
146 > func init() { file_temporal_server_api_routing_v1_extension_proto_init() } extension.pb.go
147 > func file_temporal_server_api_routing_v1_extension_proto_init() {
148 > if File_temporal_server_api_routing_v1_extension_proto != nil {
149 return
150 }
151 > type x struct{} extension.pb.go
152 > out := protoimpl.TypeBuilder{
153 > File: protoimpl.DescBuilder{
154 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
155 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_routing_v1_extension_proto_rawDesc), len(file_temporal_server_api_routing_v1_extension_proto_rawDesc)),
156 > NumEnums: 0,
157 > NumMessages: 1,
158 > NumExtensions: 1,
159 > NumServices: 0,
160 > },
161 > GoTypes: file_temporal_server_api_routing_v1_extension_proto_goTypes,
162 > DependencyIndexes: file_temporal_server_api_routing_v1_extension_proto_depIdxs,
163 > MessageInfos: file_temporal_server_api_routing_v1_extension_proto_msgTypes,
164 > ExtensionInfos: file_temporal_server_api_routing_v1_extension_proto_extTypes,
165 > }.Build()
166 > File_temporal_server_api_routing_v1_extension_proto = out.File
167 > file_temporal_server_api_routing_v1_extension_proto_goTypes = nil
168 > file_temporal_server_api_routing_v1_extension_proto_depIdxs = nil
169 }
go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1/tasks.pb.go 21 covered LOC · 2 ranges

Open complete file

495 }
496
497 > func init() { file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_init() } tasks.pb.go
498 > func file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_init() {
499 > if File_temporal_server_chasm_lib_activity_proto_v1_tasks_proto != nil {
500 return
501 }
502 > type x struct{} tasks.pb.go
503 > out := protoimpl.TypeBuilder{
504 > File: protoimpl.DescBuilder{
505 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
506 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_rawDesc), len(file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_rawDesc)),
507 > NumEnums: 2,
508 > NumMessages: 5,
509 > NumExtensions: 0,
510 > NumServices: 0,
511 > },
512 > GoTypes: file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_goTypes,
513 > DependencyIndexes: file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_depIdxs,
514 > EnumInfos: file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_enumTypes,
515 > MessageInfos: file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_msgTypes,
516 > }.Build()
517 > File_temporal_server_chasm_lib_activity_proto_v1_tasks_proto = out.File
518 > file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_goTypes = nil
519 > file_temporal_server_chasm_lib_activity_proto_v1_tasks_proto_depIdxs = nil
520 }
go.temporal.io/server/common/persistence/sql/store.go 21 covered LOC · 9 ranges

Open complete file

19
20 // RegisterPlugin will register a SQL plugin
21 > func RegisterPlugin(pluginName string, plugin sqlplugin.Plugin) { store.go
22 > if _, ok := supportedPlugins[pluginName]; ok {
23 panic("plugin " + pluginName + " already registered")
24 }
25 > supportedPlugins[pluginName] = plugin store.go
26 }
27
36 logger log.Logger,
37 mh metrics.Handler,
38 > ) (sqlplugin.DB, error) { store.go
39 > return createDB[sqlplugin.DB](dbKind, cfg, r, logger, mh)
40 > }
41
42 // NewSQLAdminDB returns a AdminDB.
47 logger log.Logger,
48 mh metrics.Handler,
49 > ) (sqlplugin.AdminDB, error) { store.go
50 > return createDB[sqlplugin.AdminDB](dbKind, cfg, r, logger, mh)
51 > }
52
53 func createDB[T any](
57 logger log.Logger,
58 mh metrics.Handler,
59 > ) (T, error) { store.go
60 > var res T
61 > plugin, err := getPlugin(cfg.PluginName)
62 > if err != nil {
63 return res, err
64 }
65 > db, err := plugin.CreateDB(dbKind, cfg, r, logger, mh) store.go
66 > if err != nil {
67 return res, err
68 }
69 //revive:disable-next-line:unchecked-type-assertion
70 > res = db.(T) store.go
71 > return res, err
72 }
73
74 > func getPlugin(pluginName string) (sqlplugin.Plugin, error) { store.go
75 > plugin, ok := supportedPlugins[pluginName]
76 > if !ok {
77 keys := expmaps.Keys(supportedPlugins)
78 slices.Sort(keys)
84 )
85 }
86 > return plugin, nil store.go
87 }
88
go.temporal.io/server/api/adminservice/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

273 }
274
275 > func init() { file_temporal_server_api_adminservice_v1_service_proto_init() } service.pb.go
276 > func file_temporal_server_api_adminservice_v1_service_proto_init() {
277 > if File_temporal_server_api_adminservice_v1_service_proto != nil {
278 return
279 }
280 > file_temporal_server_api_adminservice_v1_request_response_proto_init() service.pb.go
281 > type x struct{}
282 > out := protoimpl.TypeBuilder{
283 > File: protoimpl.DescBuilder{
284 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
285 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_adminservice_v1_service_proto_rawDesc), len(file_temporal_server_api_adminservice_v1_service_proto_rawDesc)),
286 > NumEnums: 0,
287 > NumMessages: 0,
288 > NumExtensions: 0,
289 > NumServices: 1,
290 > },
291 > GoTypes: file_temporal_server_api_adminservice_v1_service_proto_goTypes,
292 > DependencyIndexes: file_temporal_server_api_adminservice_v1_service_proto_depIdxs,
293 > }.Build()
294 > File_temporal_server_api_adminservice_v1_service_proto = out.File
295 > file_temporal_server_api_adminservice_v1_service_proto_goTypes = nil
296 > file_temporal_server_api_adminservice_v1_service_proto_depIdxs = nil
297 }
go.temporal.io/server/api/archiver/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

431 }
432
433 > func init() { file_temporal_server_api_archiver_v1_message_proto_init() } message.pb.go
434 > func file_temporal_server_api_archiver_v1_message_proto_init() {
435 > if File_temporal_server_api_archiver_v1_message_proto != nil {
436 return
437 }
438 > type x struct{} message.pb.go
439 > out := protoimpl.TypeBuilder{
440 > File: protoimpl.DescBuilder{
441 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
442 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_archiver_v1_message_proto_rawDesc), len(file_temporal_server_api_archiver_v1_message_proto_rawDesc)),
443 > NumEnums: 0,
444 > NumMessages: 4,
445 > NumExtensions: 0,
446 > NumServices: 0,
447 > },
448 > GoTypes: file_temporal_server_api_archiver_v1_message_proto_goTypes,
449 > DependencyIndexes: file_temporal_server_api_archiver_v1_message_proto_depIdxs,
450 > MessageInfos: file_temporal_server_api_archiver_v1_message_proto_msgTypes,
451 > }.Build()
452 > File_temporal_server_api_archiver_v1_message_proto = out.File
453 > file_temporal_server_api_archiver_v1_message_proto_goTypes = nil
454 > file_temporal_server_api_archiver_v1_message_proto_depIdxs = nil
455 }
go.temporal.io/server/api/chasm/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

206 }
207
208 > func init() { file_temporal_server_api_chasm_v1_message_proto_init() } message.pb.go
209 > func file_temporal_server_api_chasm_v1_message_proto_init() {
210 > if File_temporal_server_api_chasm_v1_message_proto != nil {
211 return
212 }
213 > type x struct{} message.pb.go
214 > out := protoimpl.TypeBuilder{
215 > File: protoimpl.DescBuilder{
216 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
217 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_chasm_v1_message_proto_rawDesc), len(file_temporal_server_api_chasm_v1_message_proto_rawDesc)),
218 > NumEnums: 0,
219 > NumMessages: 1,
220 > NumExtensions: 0,
221 > NumServices: 0,
222 > },
223 > GoTypes: file_temporal_server_api_chasm_v1_message_proto_goTypes,
224 > DependencyIndexes: file_temporal_server_api_chasm_v1_message_proto_depIdxs,
225 > MessageInfos: file_temporal_server_api_chasm_v1_message_proto_msgTypes,
226 > }.Build()
227 > File_temporal_server_api_chasm_v1_message_proto = out.File
228 > file_temporal_server_api_chasm_v1_message_proto_goTypes = nil
229 > file_temporal_server_api_chasm_v1_message_proto_depIdxs = nil
230 }
go.temporal.io/server/api/checksum/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

334 }
335
336 > func init() { file_temporal_server_api_checksum_v1_message_proto_init() } message.pb.go
337 > func file_temporal_server_api_checksum_v1_message_proto_init() {
338 > if File_temporal_server_api_checksum_v1_message_proto != nil {
339 return
340 }
341 > type x struct{} message.pb.go
342 > out := protoimpl.TypeBuilder{
343 > File: protoimpl.DescBuilder{
344 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
345 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_checksum_v1_message_proto_rawDesc), len(file_temporal_server_api_checksum_v1_message_proto_rawDesc)),
346 > NumEnums: 0,
347 > NumMessages: 1,
348 > NumExtensions: 0,
349 > NumServices: 0,
350 > },
351 > GoTypes: file_temporal_server_api_checksum_v1_message_proto_goTypes,
352 > DependencyIndexes: file_temporal_server_api_checksum_v1_message_proto_depIdxs,
353 > MessageInfos: file_temporal_server_api_checksum_v1_message_proto_msgTypes,
354 > }.Build()
355 > File_temporal_server_api_checksum_v1_message_proto = out.File
356 > file_temporal_server_api_checksum_v1_message_proto_goTypes = nil
357 > file_temporal_server_api_checksum_v1_message_proto_depIdxs = nil
358 }
go.temporal.io/server/api/cluster/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

342 }
343
344 > func init() { file_temporal_server_api_cluster_v1_message_proto_init() } message.pb.go
345 > func file_temporal_server_api_cluster_v1_message_proto_init() {
346 > if File_temporal_server_api_cluster_v1_message_proto != nil {
347 return
348 }
349 > type x struct{} message.pb.go
350 > out := protoimpl.TypeBuilder{
351 > File: protoimpl.DescBuilder{
352 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
353 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_cluster_v1_message_proto_rawDesc), len(file_temporal_server_api_cluster_v1_message_proto_rawDesc)),
354 > NumEnums: 0,
355 > NumMessages: 4,
356 > NumExtensions: 0,
357 > NumServices: 0,
358 > },
359 > GoTypes: file_temporal_server_api_cluster_v1_message_proto_goTypes,
360 > DependencyIndexes: file_temporal_server_api_cluster_v1_message_proto_depIdxs,
361 > MessageInfos: file_temporal_server_api_cluster_v1_message_proto_msgTypes,
362 > }.Build()
363 > File_temporal_server_api_cluster_v1_message_proto = out.File
364 > file_temporal_server_api_cluster_v1_message_proto_goTypes = nil
365 > file_temporal_server_api_cluster_v1_message_proto_depIdxs = nil
366 }
go.temporal.io/server/api/contextpropagation/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

109 }
110
111 > func init() { file_temporal_server_api_contextpropagation_v1_message_proto_init() } message.pb.go
112 > func file_temporal_server_api_contextpropagation_v1_message_proto_init() {
113 > if File_temporal_server_api_contextpropagation_v1_message_proto != nil {
114 return
115 }
116 > type x struct{} message.pb.go
117 > out := protoimpl.TypeBuilder{
118 > File: protoimpl.DescBuilder{
119 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
120 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_contextpropagation_v1_message_proto_rawDesc), len(file_temporal_server_api_contextpropagation_v1_message_proto_rawDesc)),
121 > NumEnums: 0,
122 > NumMessages: 2,
123 > NumExtensions: 0,
124 > NumServices: 0,
125 > },
126 > GoTypes: file_temporal_server_api_contextpropagation_v1_message_proto_goTypes,
127 > DependencyIndexes: file_temporal_server_api_contextpropagation_v1_message_proto_depIdxs,
128 > MessageInfos: file_temporal_server_api_contextpropagation_v1_message_proto_msgTypes,
129 > }.Build()
130 > File_temporal_server_api_contextpropagation_v1_message_proto = out.File
131 > file_temporal_server_api_contextpropagation_v1_message_proto_goTypes = nil
132 > file_temporal_server_api_contextpropagation_v1_message_proto_depIdxs = nil
133 }
go.temporal.io/server/api/deployment/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

4626 }
4627
4628 > func init() { file_temporal_server_api_deployment_v1_message_proto_init() } message.pb.go
4629 > func file_temporal_server_api_deployment_v1_message_proto_init() {
4630 > if File_temporal_server_api_deployment_v1_message_proto != nil {
4631 return
4632 }
4633 > type x struct{} message.pb.go
4634 > out := protoimpl.TypeBuilder{
4635 > File: protoimpl.DescBuilder{
4636 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4637 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_deployment_v1_message_proto_rawDesc), len(file_temporal_server_api_deployment_v1_message_proto_rawDesc)),
4638 > NumEnums: 0,
4639 > NumMessages: 75,
4640 > NumExtensions: 0,
4641 > NumServices: 0,
4642 > },
4643 > GoTypes: file_temporal_server_api_deployment_v1_message_proto_goTypes,
4644 > DependencyIndexes: file_temporal_server_api_deployment_v1_message_proto_depIdxs,
4645 > MessageInfos: file_temporal_server_api_deployment_v1_message_proto_msgTypes,
4646 > }.Build()
4647 > File_temporal_server_api_deployment_v1_message_proto = out.File
4648 > file_temporal_server_api_deployment_v1_message_proto_goTypes = nil
4649 > file_temporal_server_api_deployment_v1_message_proto_depIdxs = nil
4650 }
go.temporal.io/server/api/enums/v1/dlq.pb.go 20 covered LOC · 2 ranges

Open complete file

187 }
188
189 > func init() { file_temporal_server_api_enums_v1_dlq_proto_init() } dlq.pb.go
190 > func file_temporal_server_api_enums_v1_dlq_proto_init() {
191 > if File_temporal_server_api_enums_v1_dlq_proto != nil {
192 return
193 }
194 > type x struct{} dlq.pb.go
195 > out := protoimpl.TypeBuilder{
196 > File: protoimpl.DescBuilder{
197 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
198 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_dlq_proto_rawDesc), len(file_temporal_server_api_enums_v1_dlq_proto_rawDesc)),
199 > NumEnums: 2,
200 > NumMessages: 0,
201 > NumExtensions: 0,
202 > NumServices: 0,
203 > },
204 > GoTypes: file_temporal_server_api_enums_v1_dlq_proto_goTypes,
205 > DependencyIndexes: file_temporal_server_api_enums_v1_dlq_proto_depIdxs,
206 > EnumInfos: file_temporal_server_api_enums_v1_dlq_proto_enumTypes,
207 > }.Build()
208 > File_temporal_server_api_enums_v1_dlq_proto = out.File
209 > file_temporal_server_api_enums_v1_dlq_proto_goTypes = nil
210 > file_temporal_server_api_enums_v1_dlq_proto_depIdxs = nil
211 }
go.temporal.io/server/api/enums/v1/fairness_state.pb.go 20 covered LOC · 2 ranges

Open complete file

123 }
124
125 > func init() { file_temporal_server_api_enums_v1_fairness_state_proto_init() } fairness_state.pb.go
126 > func file_temporal_server_api_enums_v1_fairness_state_proto_init() {
127 > if File_temporal_server_api_enums_v1_fairness_state_proto != nil {
128 return
129 }
130 > type x struct{} fairness_state.pb.go
131 > out := protoimpl.TypeBuilder{
132 > File: protoimpl.DescBuilder{
133 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
134 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_fairness_state_proto_rawDesc), len(file_temporal_server_api_enums_v1_fairness_state_proto_rawDesc)),
135 > NumEnums: 1,
136 > NumMessages: 0,
137 > NumExtensions: 0,
138 > NumServices: 0,
139 > },
140 > GoTypes: file_temporal_server_api_enums_v1_fairness_state_proto_goTypes,
141 > DependencyIndexes: file_temporal_server_api_enums_v1_fairness_state_proto_depIdxs,
142 > EnumInfos: file_temporal_server_api_enums_v1_fairness_state_proto_enumTypes,
143 > }.Build()
144 > File_temporal_server_api_enums_v1_fairness_state_proto = out.File
145 > file_temporal_server_api_enums_v1_fairness_state_proto_goTypes = nil
146 > file_temporal_server_api_enums_v1_fairness_state_proto_depIdxs = nil
147 }
go.temporal.io/server/api/enums/v1/replication.pb.go 20 covered LOC · 2 ranges

Open complete file

314 }
315
316 > func init() { file_temporal_server_api_enums_v1_replication_proto_init() } replication.pb.go
317 > func file_temporal_server_api_enums_v1_replication_proto_init() {
318 > if File_temporal_server_api_enums_v1_replication_proto != nil {
319 return
320 }
321 > type x struct{} replication.pb.go
322 > out := protoimpl.TypeBuilder{
323 > File: protoimpl.DescBuilder{
324 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
325 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_enums_v1_replication_proto_rawDesc), len(file_temporal_server_api_enums_v1_replication_proto_rawDesc)),
326 > NumEnums: 3,
327 > NumMessages: 0,
328 > NumExtensions: 0,
329 > NumServices: 0,
330 > },
331 > GoTypes: file_temporal_server_api_enums_v1_replication_proto_goTypes,
332 > DependencyIndexes: file_temporal_server_api_enums_v1_replication_proto_depIdxs,
333 > EnumInfos: file_temporal_server_api_enums_v1_replication_proto_enumTypes,
334 > }.Build()
335 > File_temporal_server_api_enums_v1_replication_proto = out.File
336 > file_temporal_server_api_enums_v1_replication_proto_goTypes = nil
337 > file_temporal_server_api_enums_v1_replication_proto_depIdxs = nil
338 }
go.temporal.io/server/api/errordetails/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

625 }
626
627 > func init() { file_temporal_server_api_errordetails_v1_message_proto_init() } message.pb.go
628 > func file_temporal_server_api_errordetails_v1_message_proto_init() {
629 > if File_temporal_server_api_errordetails_v1_message_proto != nil {
630 return
631 }
632 > type x struct{} message.pb.go
633 > out := protoimpl.TypeBuilder{
634 > File: protoimpl.DescBuilder{
635 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
636 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_errordetails_v1_message_proto_rawDesc), len(file_temporal_server_api_errordetails_v1_message_proto_rawDesc)),
637 > NumEnums: 0,
638 > NumMessages: 10,
639 > NumExtensions: 0,
640 > NumServices: 0,
641 > },
642 > GoTypes: file_temporal_server_api_errordetails_v1_message_proto_goTypes,
643 > DependencyIndexes: file_temporal_server_api_errordetails_v1_message_proto_depIdxs,
644 > MessageInfos: file_temporal_server_api_errordetails_v1_message_proto_msgTypes,
645 > }.Build()
646 > File_temporal_server_api_errordetails_v1_message_proto = out.File
647 > file_temporal_server_api_errordetails_v1_message_proto_goTypes = nil
648 > file_temporal_server_api_errordetails_v1_message_proto_depIdxs = nil
649 }
go.temporal.io/server/api/historyservice/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

428 }
429
430 > func init() { file_temporal_server_api_historyservice_v1_service_proto_init() } service.pb.go
431 > func file_temporal_server_api_historyservice_v1_service_proto_init() {
432 > if File_temporal_server_api_historyservice_v1_service_proto != nil {
433 return
434 }
435 > file_temporal_server_api_historyservice_v1_request_response_proto_init() service.pb.go
436 > type x struct{}
437 > out := protoimpl.TypeBuilder{
438 > File: protoimpl.DescBuilder{
439 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
440 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_historyservice_v1_service_proto_rawDesc), len(file_temporal_server_api_historyservice_v1_service_proto_rawDesc)),
441 > NumEnums: 0,
442 > NumMessages: 0,
443 > NumExtensions: 0,
444 > NumServices: 1,
445 > },
446 > GoTypes: file_temporal_server_api_historyservice_v1_service_proto_goTypes,
447 > DependencyIndexes: file_temporal_server_api_historyservice_v1_service_proto_depIdxs,
448 > }.Build()
449 > File_temporal_server_api_historyservice_v1_service_proto = out.File
450 > file_temporal_server_api_historyservice_v1_service_proto_goTypes = nil
451 > file_temporal_server_api_historyservice_v1_service_proto_depIdxs = nil
452 }
go.temporal.io/server/api/matchingservice/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

250 }
251
252 > func init() { file_temporal_server_api_matchingservice_v1_service_proto_init() } service.pb.go
253 > func file_temporal_server_api_matchingservice_v1_service_proto_init() {
254 > if File_temporal_server_api_matchingservice_v1_service_proto != nil {
255 return
256 }
257 > file_temporal_server_api_matchingservice_v1_request_response_proto_init() service.pb.go
258 > type x struct{}
259 > out := protoimpl.TypeBuilder{
260 > File: protoimpl.DescBuilder{
261 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
262 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_matchingservice_v1_service_proto_rawDesc), len(file_temporal_server_api_matchingservice_v1_service_proto_rawDesc)),
263 > NumEnums: 0,
264 > NumMessages: 0,
265 > NumExtensions: 0,
266 > NumServices: 1,
267 > },
268 > GoTypes: file_temporal_server_api_matchingservice_v1_service_proto_goTypes,
269 > DependencyIndexes: file_temporal_server_api_matchingservice_v1_service_proto_depIdxs,
270 > }.Build()
271 > File_temporal_server_api_matchingservice_v1_service_proto = out.File
272 > file_temporal_server_api_matchingservice_v1_service_proto_goTypes = nil
273 > file_temporal_server_api_matchingservice_v1_service_proto_depIdxs = nil
274 }
go.temporal.io/server/api/metrics/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

104 }
105
106 > func init() { file_temporal_server_api_metrics_v1_message_proto_init() } message.pb.go
107 > func file_temporal_server_api_metrics_v1_message_proto_init() {
108 > if File_temporal_server_api_metrics_v1_message_proto != nil {
109 return
110 }
111 > type x struct{} message.pb.go
112 > out := protoimpl.TypeBuilder{
113 > File: protoimpl.DescBuilder{
114 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
115 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_metrics_v1_message_proto_rawDesc), len(file_temporal_server_api_metrics_v1_message_proto_rawDesc)),
116 > NumEnums: 0,
117 > NumMessages: 2,
118 > NumExtensions: 0,
119 > NumServices: 0,
120 > },
121 > GoTypes: file_temporal_server_api_metrics_v1_message_proto_goTypes,
122 > DependencyIndexes: file_temporal_server_api_metrics_v1_message_proto_depIdxs,
123 > MessageInfos: file_temporal_server_api_metrics_v1_message_proto_msgTypes,
124 > }.Build()
125 > File_temporal_server_api_metrics_v1_message_proto = out.File
126 > file_temporal_server_api_metrics_v1_message_proto_goTypes = nil
127 > file_temporal_server_api_metrics_v1_message_proto_depIdxs = nil
128 }
go.temporal.io/server/api/persistence/v1/chasm_visibility.pb.go 20 covered LOC · 2 ranges

Open complete file

146 }
147
148 > func init() { file_temporal_server_api_persistence_v1_chasm_visibility_proto_init() } chasm_visibility.pb.go
149 > func file_temporal_server_api_persistence_v1_chasm_visibility_proto_init() {
150 > if File_temporal_server_api_persistence_v1_chasm_visibility_proto != nil {
151 return
152 }
153 > type x struct{} chasm_visibility.pb.go
154 > out := protoimpl.TypeBuilder{
155 > File: protoimpl.DescBuilder{
156 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
157 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_chasm_visibility_proto_rawDesc), len(file_temporal_server_api_persistence_v1_chasm_visibility_proto_rawDesc)),
158 > NumEnums: 0,
159 > NumMessages: 2,
160 > NumExtensions: 0,
161 > NumServices: 0,
162 > },
163 > GoTypes: file_temporal_server_api_persistence_v1_chasm_visibility_proto_goTypes,
164 > DependencyIndexes: file_temporal_server_api_persistence_v1_chasm_visibility_proto_depIdxs,
165 > MessageInfos: file_temporal_server_api_persistence_v1_chasm_visibility_proto_msgTypes,
166 > }.Build()
167 > File_temporal_server_api_persistence_v1_chasm_visibility_proto = out.File
168 > file_temporal_server_api_persistence_v1_chasm_visibility_proto_goTypes = nil
169 > file_temporal_server_api_persistence_v1_chasm_visibility_proto_depIdxs = nil
170 }
go.temporal.io/server/api/persistence/v1/cluster_metadata.pb.go 20 covered LOC · 2 ranges

Open complete file

289 }
290
291 > func init() { file_temporal_server_api_persistence_v1_cluster_metadata_proto_init() } cluster_metadata.pb.go
292 > func file_temporal_server_api_persistence_v1_cluster_metadata_proto_init() {
293 > if File_temporal_server_api_persistence_v1_cluster_metadata_proto != nil {
294 return
295 }
296 > type x struct{} cluster_metadata.pb.go
297 > out := protoimpl.TypeBuilder{
298 > File: protoimpl.DescBuilder{
299 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
300 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc), len(file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc)),
301 > NumEnums: 0,
302 > NumMessages: 5,
303 > NumExtensions: 0,
304 > NumServices: 0,
305 > },
306 > GoTypes: file_temporal_server_api_persistence_v1_cluster_metadata_proto_goTypes,
307 > DependencyIndexes: file_temporal_server_api_persistence_v1_cluster_metadata_proto_depIdxs,
308 > MessageInfos: file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes,
309 > }.Build()
310 > File_temporal_server_api_persistence_v1_cluster_metadata_proto = out.File
311 > file_temporal_server_api_persistence_v1_cluster_metadata_proto_goTypes = nil
312 > file_temporal_server_api_persistence_v1_cluster_metadata_proto_depIdxs = nil
313 }
go.temporal.io/server/api/persistence/v1/history_tree.pb.go 20 covered LOC · 2 ranges

Open complete file

274 }
275
276 > func init() { file_temporal_server_api_persistence_v1_history_tree_proto_init() } history_tree.pb.go
277 > func file_temporal_server_api_persistence_v1_history_tree_proto_init() {
278 > if File_temporal_server_api_persistence_v1_history_tree_proto != nil {
279 return
280 }
281 > type x struct{} history_tree.pb.go
282 > out := protoimpl.TypeBuilder{
283 > File: protoimpl.DescBuilder{
284 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
285 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_history_tree_proto_rawDesc), len(file_temporal_server_api_persistence_v1_history_tree_proto_rawDesc)),
286 > NumEnums: 0,
287 > NumMessages: 3,
288 > NumExtensions: 0,
289 > NumServices: 0,
290 > },
291 > GoTypes: file_temporal_server_api_persistence_v1_history_tree_proto_goTypes,
292 > DependencyIndexes: file_temporal_server_api_persistence_v1_history_tree_proto_depIdxs,
293 > MessageInfos: file_temporal_server_api_persistence_v1_history_tree_proto_msgTypes,
294 > }.Build()
295 > File_temporal_server_api_persistence_v1_history_tree_proto = out.File
296 > file_temporal_server_api_persistence_v1_history_tree_proto_goTypes = nil
297 > file_temporal_server_api_persistence_v1_history_tree_proto_depIdxs = nil
298 }
go.temporal.io/server/api/persistence/v1/namespaces.pb.go 20 covered LOC · 2 ranges

Open complete file

536 }
537
538 > func init() { file_temporal_server_api_persistence_v1_namespaces_proto_init() } namespaces.pb.go
539 > func file_temporal_server_api_persistence_v1_namespaces_proto_init() {
540 > if File_temporal_server_api_persistence_v1_namespaces_proto != nil {
541 return
542 }
543 > type x struct{} namespaces.pb.go
544 > out := protoimpl.TypeBuilder{
545 > File: protoimpl.DescBuilder{
546 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
547 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_namespaces_proto_rawDesc), len(file_temporal_server_api_persistence_v1_namespaces_proto_rawDesc)),
548 > NumEnums: 0,
549 > NumMessages: 8,
550 > NumExtensions: 0,
551 > NumServices: 0,
552 > },
553 > GoTypes: file_temporal_server_api_persistence_v1_namespaces_proto_goTypes,
554 > DependencyIndexes: file_temporal_server_api_persistence_v1_namespaces_proto_depIdxs,
555 > MessageInfos: file_temporal_server_api_persistence_v1_namespaces_proto_msgTypes,
556 > }.Build()
557 > File_temporal_server_api_persistence_v1_namespaces_proto = out.File
558 > file_temporal_server_api_persistence_v1_namespaces_proto_goTypes = nil
559 > file_temporal_server_api_persistence_v1_namespaces_proto_depIdxs = nil
560 }
go.temporal.io/server/api/persistence/v1/queue_metadata.pb.go 20 covered LOC · 2 ranges

Open complete file

105 }
106
107 > func init() { file_temporal_server_api_persistence_v1_queue_metadata_proto_init() } queue_metadata.pb.go
108 > func file_temporal_server_api_persistence_v1_queue_metadata_proto_init() {
109 > if File_temporal_server_api_persistence_v1_queue_metadata_proto != nil {
110 return
111 }
112 > type x struct{} queue_metadata.pb.go
113 > out := protoimpl.TypeBuilder{
114 > File: protoimpl.DescBuilder{
115 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
116 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_queue_metadata_proto_rawDesc), len(file_temporal_server_api_persistence_v1_queue_metadata_proto_rawDesc)),
117 > NumEnums: 0,
118 > NumMessages: 2,
119 > NumExtensions: 0,
120 > NumServices: 0,
121 > },
122 > GoTypes: file_temporal_server_api_persistence_v1_queue_metadata_proto_goTypes,
123 > DependencyIndexes: file_temporal_server_api_persistence_v1_queue_metadata_proto_depIdxs,
124 > MessageInfos: file_temporal_server_api_persistence_v1_queue_metadata_proto_msgTypes,
125 > }.Build()
126 > File_temporal_server_api_persistence_v1_queue_metadata_proto = out.File
127 > file_temporal_server_api_persistence_v1_queue_metadata_proto_goTypes = nil
128 > file_temporal_server_api_persistence_v1_queue_metadata_proto_depIdxs = nil
129 }
go.temporal.io/server/api/persistence/v1/tasks.pb.go 20 covered LOC · 2 ranges

Open complete file

846 }
847
848 > func init() { file_temporal_server_api_persistence_v1_tasks_proto_init() } tasks.pb.go
849 > func file_temporal_server_api_persistence_v1_tasks_proto_init() {
850 > if File_temporal_server_api_persistence_v1_tasks_proto != nil {
851 return
852 }
853 > type x struct{} tasks.pb.go
854 > out := protoimpl.TypeBuilder{
855 > File: protoimpl.DescBuilder{
856 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
857 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_persistence_v1_tasks_proto_rawDesc), len(file_temporal_server_api_persistence_v1_tasks_proto_rawDesc)),
858 > NumEnums: 0,
859 > NumMessages: 8,
860 > NumExtensions: 0,
861 > NumServices: 0,
862 > },
863 > GoTypes: file_temporal_server_api_persistence_v1_tasks_proto_goTypes,
864 > DependencyIndexes: file_temporal_server_api_persistence_v1_tasks_proto_depIdxs,
865 > MessageInfos: file_temporal_server_api_persistence_v1_tasks_proto_msgTypes,
866 > }.Build()
867 > File_temporal_server_api_persistence_v1_tasks_proto = out.File
868 > file_temporal_server_api_persistence_v1_tasks_proto_goTypes = nil
869 > file_temporal_server_api_persistence_v1_tasks_proto_depIdxs = nil
870 }
go.temporal.io/server/api/visibilityservice/v1/request_response.pb.go 20 covered LOC · 2 ranges

Open complete file

402 }
403
404 > func init() { file_temporal_server_api_visibilityservice_v1_request_response_proto_init() } request_response.pb.go
405 > func file_temporal_server_api_visibilityservice_v1_request_response_proto_init() {
406 > if File_temporal_server_api_visibilityservice_v1_request_response_proto != nil {
407 return
408 }
409 > type x struct{} request_response.pb.go
410 > out := protoimpl.TypeBuilder{
411 > File: protoimpl.DescBuilder{
412 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
413 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_api_visibilityservice_v1_request_response_proto_rawDesc), len(file_temporal_server_api_visibilityservice_v1_request_response_proto_rawDesc)),
414 > NumEnums: 0,
415 > NumMessages: 5,
416 > NumExtensions: 0,
417 > NumServices: 0,
418 > },
419 > GoTypes: file_temporal_server_api_visibilityservice_v1_request_response_proto_goTypes,
420 > DependencyIndexes: file_temporal_server_api_visibilityservice_v1_request_response_proto_depIdxs,
421 > MessageInfos: file_temporal_server_api_visibilityservice_v1_request_response_proto_msgTypes,
422 > }.Build()
423 > File_temporal_server_api_visibilityservice_v1_request_response_proto = out.File
424 > file_temporal_server_api_visibilityservice_v1_request_response_proto_goTypes = nil
425 > file_temporal_server_api_visibilityservice_v1_request_response_proto_depIdxs = nil
426 }
go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

91 }
92
93 > func init() { file_temporal_server_chasm_lib_activity_proto_v1_service_proto_init() } service.pb.go
94 > func file_temporal_server_chasm_lib_activity_proto_v1_service_proto_init() {
95 > if File_temporal_server_chasm_lib_activity_proto_v1_service_proto != nil {
96 return
97 }
98 > file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_init() service.pb.go
99 > type x struct{}
100 > out := protoimpl.TypeBuilder{
101 > File: protoimpl.DescBuilder{
102 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
103 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_activity_proto_v1_service_proto_rawDesc), len(file_temporal_server_chasm_lib_activity_proto_v1_service_proto_rawDesc)),
104 > NumEnums: 0,
105 > NumMessages: 0,
106 > NumExtensions: 0,
107 > NumServices: 1,
108 > },
109 > GoTypes: file_temporal_server_chasm_lib_activity_proto_v1_service_proto_goTypes,
110 > DependencyIndexes: file_temporal_server_chasm_lib_activity_proto_v1_service_proto_depIdxs,
111 > }.Build()
112 > File_temporal_server_chasm_lib_activity_proto_v1_service_proto = out.File
113 > file_temporal_server_chasm_lib_activity_proto_v1_service_proto_goTypes = nil
114 > file_temporal_server_chasm_lib_activity_proto_v1_service_proto_depIdxs = nil
115 }
go.temporal.io/server/chasm/lib/callback/gen/callbackpb/v1/tasks.pb.go 20 covered LOC · 2 ranges

Open complete file

148 }
149
150 > func init() { file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_init() } tasks.pb.go
151 > func file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_init() {
152 > if File_temporal_server_chasm_lib_callback_proto_v1_tasks_proto != nil {
153 return
154 }
155 > type x struct{} tasks.pb.go
156 > out := protoimpl.TypeBuilder{
157 > File: protoimpl.DescBuilder{
158 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
159 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_rawDesc), len(file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_rawDesc)),
160 > NumEnums: 0,
161 > NumMessages: 2,
162 > NumExtensions: 0,
163 > NumServices: 0,
164 > },
165 > GoTypes: file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_goTypes,
166 > DependencyIndexes: file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_depIdxs,
167 > MessageInfos: file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_msgTypes,
168 > }.Build()
169 > File_temporal_server_chasm_lib_callback_proto_v1_tasks_proto = out.File
170 > file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_goTypes = nil
171 > file_temporal_server_chasm_lib_callback_proto_v1_tasks_proto_depIdxs = nil
172 }
go.temporal.io/server/chasm/lib/nexusoperation/gen/nexusoperationpb/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

71 }
72
73 > func init() { file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_init() } service.pb.go
74 > func file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_init() {
75 > if File_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto != nil {
76 return
77 }
78 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_request_response_proto_init() service.pb.go
79 > type x struct{}
80 > out := protoimpl.TypeBuilder{
81 > File: protoimpl.DescBuilder{
82 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
83 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_rawDesc), len(file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_rawDesc)),
84 > NumEnums: 0,
85 > NumMessages: 0,
86 > NumExtensions: 0,
87 > NumServices: 1,
88 > },
89 > GoTypes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_goTypes,
90 > DependencyIndexes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_depIdxs,
91 > }.Build()
92 > File_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto = out.File
93 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_goTypes = nil
94 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_service_proto_depIdxs = nil
95 }
go.temporal.io/server/chasm/lib/nexusoperation/gen/nexusoperationpb/v1/tasks.pb.go 20 covered LOC · 2 ranges

Open complete file

354 }
355
356 > func init() { file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_init() } tasks.pb.go
357 > func file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_init() {
358 > if File_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto != nil {
359 return
360 }
361 > type x struct{} tasks.pb.go
362 > out := protoimpl.TypeBuilder{
363 > File: protoimpl.DescBuilder{
364 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
365 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_rawDesc), len(file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_rawDesc)),
366 > NumEnums: 0,
367 > NumMessages: 7,
368 > NumExtensions: 0,
369 > NumServices: 0,
370 > },
371 > GoTypes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_goTypes,
372 > DependencyIndexes: file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_depIdxs,
373 > MessageInfos: file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_msgTypes,
374 > }.Build()
375 > File_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto = out.File
376 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_goTypes = nil
377 > file_temporal_server_chasm_lib_nexusoperation_proto_v1_tasks_proto_depIdxs = nil
378 }
go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

86 }
87
88 > func init() { file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_init() } service.pb.go
89 > func file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_init() {
90 > if File_temporal_server_chasm_lib_scheduler_proto_v1_service_proto != nil {
91 return
92 }
93 > file_temporal_server_chasm_lib_scheduler_proto_v1_request_response_proto_init() service.pb.go
94 > type x struct{}
95 > out := protoimpl.TypeBuilder{
96 > File: protoimpl.DescBuilder{
97 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
98 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_rawDesc), len(file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_rawDesc)),
99 > NumEnums: 0,
100 > NumMessages: 0,
101 > NumExtensions: 0,
102 > NumServices: 1,
103 > },
104 > GoTypes: file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_goTypes,
105 > DependencyIndexes: file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_depIdxs,
106 > }.Build()
107 > File_temporal_server_chasm_lib_scheduler_proto_v1_service_proto = out.File
108 > file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_goTypes = nil
109 > file_temporal_server_chasm_lib_scheduler_proto_v1_service_proto_depIdxs = nil
110 }
go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb/v1/tasks.pb.go 20 covered LOC · 2 ranges

Open complete file

343 }
344
345 > func init() { file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_init() } tasks.pb.go
346 > func file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_init() {
347 > if File_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto != nil {
348 return
349 }
350 > type x struct{} tasks.pb.go
351 > out := protoimpl.TypeBuilder{
352 > File: protoimpl.DescBuilder{
353 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
354 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_rawDesc), len(file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_rawDesc)),
355 > NumEnums: 0,
356 > NumMessages: 7,
357 > NumExtensions: 0,
358 > NumServices: 0,
359 > },
360 > GoTypes: file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_goTypes,
361 > DependencyIndexes: file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_depIdxs,
362 > MessageInfos: file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_msgTypes,
363 > }.Build()
364 > File_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto = out.File
365 > file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_goTypes = nil
366 > file_temporal_server_chasm_lib_scheduler_proto_v1_tasks_proto_depIdxs = nil
367 }
go.temporal.io/server/chasm/lib/tests/gen/testspb/v1/message.pb.go 20 covered LOC · 2 ranges

Open complete file

242 }
243
244 > func init() { file_temporal_server_chasm_lib_tests_proto_v1_message_proto_init() } message.pb.go
245 > func file_temporal_server_chasm_lib_tests_proto_v1_message_proto_init() {
246 > if File_temporal_server_chasm_lib_tests_proto_v1_message_proto != nil {
247 return
248 }
249 > type x struct{} message.pb.go
250 > out := protoimpl.TypeBuilder{
251 > File: protoimpl.DescBuilder{
252 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
253 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_tests_proto_v1_message_proto_rawDesc), len(file_temporal_server_chasm_lib_tests_proto_v1_message_proto_rawDesc)),
254 > NumEnums: 0,
255 > NumMessages: 4,
256 > NumExtensions: 0,
257 > NumServices: 0,
258 > },
259 > GoTypes: file_temporal_server_chasm_lib_tests_proto_v1_message_proto_goTypes,
260 > DependencyIndexes: file_temporal_server_chasm_lib_tests_proto_v1_message_proto_depIdxs,
261 > MessageInfos: file_temporal_server_chasm_lib_tests_proto_v1_message_proto_msgTypes,
262 > }.Build()
263 > File_temporal_server_chasm_lib_tests_proto_v1_message_proto = out.File
264 > file_temporal_server_chasm_lib_tests_proto_v1_message_proto_goTypes = nil
265 > file_temporal_server_chasm_lib_tests_proto_v1_message_proto_depIdxs = nil
266 }
go.temporal.io/server/chasm/lib/tests/gen/testspb/v1/service.pb.go 20 covered LOC · 2 ranges

Open complete file

46 }
47
48 > func init() { file_temporal_server_chasm_lib_tests_proto_v1_service_proto_init() } service.pb.go
49 > func file_temporal_server_chasm_lib_tests_proto_v1_service_proto_init() {
50 > if File_temporal_server_chasm_lib_tests_proto_v1_service_proto != nil {
51 return
52 }
53 > file_temporal_server_chasm_lib_tests_proto_v1_request_response_proto_init() service.pb.go
54 > type x struct{}
55 > out := protoimpl.TypeBuilder{
56 > File: protoimpl.DescBuilder{
57 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
58 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_tests_proto_v1_service_proto_rawDesc), len(file_temporal_server_chasm_lib_tests_proto_v1_service_proto_rawDesc)),
59 > NumEnums: 0,
60 > NumMessages: 0,
61 > NumExtensions: 0,
62 > NumServices: 1,
63 > },
64 > GoTypes: file_temporal_server_chasm_lib_tests_proto_v1_service_proto_goTypes,
65 > DependencyIndexes: file_temporal_server_chasm_lib_tests_proto_v1_service_proto_depIdxs,
66 > }.Build()
67 > File_temporal_server_chasm_lib_tests_proto_v1_service_proto = out.File
68 > file_temporal_server_chasm_lib_tests_proto_v1_service_proto_goTypes = nil
69 > file_temporal_server_chasm_lib_tests_proto_v1_service_proto_depIdxs = nil
70 }
go.temporal.io/server/chasm/lib/workflow/gen/workflowpb/v1/state.pb.go 20 covered LOC · 2 ranges

Open complete file

211 }
212
213 > func init() { file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_init() } state.pb.go
214 > func file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_init() {
215 > if File_temporal_server_chasm_lib_workflow_proto_v1_state_proto != nil {
216 return
217 }
218 > type x struct{} state.pb.go
219 > out := protoimpl.TypeBuilder{
220 > File: protoimpl.DescBuilder{
221 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
222 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_rawDesc), len(file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_rawDesc)),
223 > NumEnums: 0,
224 > NumMessages: 3,
225 > NumExtensions: 0,
226 > NumServices: 0,
227 > },
228 > GoTypes: file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_goTypes,
229 > DependencyIndexes: file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_depIdxs,
230 > MessageInfos: file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_msgTypes,
231 > }.Build()
232 > File_temporal_server_chasm_lib_workflow_proto_v1_state_proto = out.File
233 > file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_goTypes = nil
234 > file_temporal_server_chasm_lib_workflow_proto_v1_state_proto_depIdxs = nil
235 }
go.temporal.io/server/chasm/lib/workflow/gen/workflowpb/v1/update_state.pb.go 20 covered LOC · 2 ranges

Open complete file

113 }
114
115 > func init() { file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_init() } update_state.pb.go
116 > func file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_init() {
117 > if File_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto != nil {
118 return
119 }
120 > type x struct{} update_state.pb.go
121 > out := protoimpl.TypeBuilder{
122 > File: protoimpl.DescBuilder{
123 > GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
124 > RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_rawDesc), len(file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_rawDesc)),
125 > NumEnums: 0,
126 > NumMessages: 1,
127 > NumExtensions: 0,
128 > NumServices: 0,
129 > },
130 > GoTypes: file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_goTypes,
131 > DependencyIndexes: file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_depIdxs,
132 > MessageInfos: file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_msgTypes,
133 > }.Build()
134 > File_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto = out.File
135 > file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_goTypes = nil
136 > file_temporal_server_chasm_lib_workflow_proto_v1_update_state_proto_depIdxs = nil
137 }
go.temporal.io/server/common/testing/nettest/pipe.go 20 covered LOC · 6 ranges

Open complete file

27
28 // NewPipe returns a Pipe.
29 > func NewPipe() *Pipe { pipe.go
30 > return &Pipe{
31 > clients: make(chan connCb),
32 > }
33 > }
34
35 // Accept returns a connection to the server for a client.
36 > func (p *Pipe) Accept(cancel <-chan struct{}) (net.Conn, error) { pipe.go
37 > select {
38 > case <-cancel: pipe.go
39 > return nil, ErrCanceled
40 > case client := <-p.clients: pipe.go
41 > clientConn, serverConn := net.Pipe()
42 > client <- connResult{conn: clientConn}
43 >
44 > return serverConn, nil
45 }
46 }
47
48 // Connect returns a connection to a client for the server.
49 > func (p *Pipe) Connect(cancel <-chan struct{}) (net.Conn, error) { pipe.go
50 > clientConnCb := make(connCb)
51 > select {
52 > case p.clients <- clientConnCb: pipe.go
53 > r := <-clientConnCb
54 > return r.conn, r.err
55 case <-cancel:
56 return nil, ErrCanceled
go.temporal.io/server/common/testing/nettest/rpc_factory.go 20 covered LOC · 5 ranges

Open complete file

20
21 // NewRPCFactory creates a new RPCFactory backed by a PipeListener.
22 > func NewRPCFactory(listener *PipeListener, dialOptions ...grpc.DialOption) *RPCFactory { rpc_factory.go
23 > return &RPCFactory{
24 > listener: listener,
25 > dialOptions: dialOptions,
26 > }
27 > }
28
29 func (f *RPCFactory) GetFrontendGRPCServerOptions() ([]grpc.ServerOption, error) {
51 }
52
53 > func (f *RPCFactory) CreateHistoryGRPCConnection(rpcAddress string) *grpc.ClientConn { rpc_factory.go
54 > return f.dial(rpcAddress)
55 > }
56
57 func (f *RPCFactory) CreateMatchingGRPCConnection(rpcAddress string) *grpc.ClientConn {
59 }
60
61 > func (f *RPCFactory) dial(rpcAddress string) *grpc.ClientConn { rpc_factory.go
62 > dialOptions := append(f.dialOptions,
63 > grpc.WithContextDialer(func(ctx context.Context, s string) (net.Conn, error) {
64 > return f.listener.Connect(ctx.Done())
65 > }),
66 grpc.WithTransportCredentials(insecure.NewCredentials()),
67 )
68 > conn, err := grpc.NewClient( rpc_factory.go
69 > rpcAddress,
70 > dialOptions...,
71 > )
72 > if err != nil {
73 panic(err)
74 }
75
76 > return conn rpc_factory.go
77 }
go.temporal.io/server/common/util/wildcard.go 20 covered LOC · 7 ranges

Open complete file

18 // WildCardStringToRegexps converts a given slices of string patterns to a slice of regular expressions matching
19 // wildcards (*) with any substring.
20 > func WildCardStringsToRegexp(patterns []string) (*regexp.Regexp, error) { wildcard.go
21 > var result strings.Builder
22 > result.WriteRune('^')
23 > for i, pattern := range patterns {
24 > result.WriteRune('(')
25 > first := true
26 > for literal := range strings.SplitSeq(pattern, "*") {
27 > if !first {
28 // Replace * with .*
29 result.WriteString(".*")
30 }
31 > result.WriteString(regexp.QuoteMeta(literal)) wildcard.go
32 > first = false
33 }
34 > result.WriteRune(')') wildcard.go
35 > if i < len(patterns)-1 {
36 > result.WriteRune('|') wildcard.go
37 > }
38 }
39 > result.WriteRune('$') wildcard.go
40 > return regexp.Compile(result.String())
41 }
42
43 // MustWildCardStringsToRegexp is like WildCardStringsToRegexp but panics on error.
44 > func MustWildCardStringsToRegexp(patterns []string) *regexp.Regexp { wildcard.go
45 > re, err := WildCardStringsToRegexp(patterns)
46 > if err != nil {
47 panic(err) //nolint:forbidigo // Must* functions conventionally panic on error.
48 }
49 > return re wildcard.go
50 }
go.temporal.io/server/common/persistence/persistencetest/queues.go 18 covered LOC · 4 ranges

Open complete file

19 )
20
21 > func WithQueueType(queueType persistence.QueueV2Type) func(p *getQueueKeyParams) { queues.go
22 > return func(p *getQueueKeyParams) {
23 > p.QueueType = queueType
24 > }
25 }
26
31 }
32
33 > func GetQueueKey(t *testing.T, opts ...func(p *getQueueKeyParams)) persistence.QueueKey { queues.go
34 > params := &getQueueKeyParams{
35 > QueueType: persistence.QueueTypeHistoryNormal,
36 > Category: tasks.CategoryTransfer,
37 > }
38 > for _, opt := range opts {
39 > opt(params) queues.go
40 > }
41 // Note that it is important to include the test name in the cluster name to ensure that the generated queue name is
42 // unique across tests. That way, we can run many queue tests without any risk of queue name collisions.
43 > return persistence.QueueKey{ queues.go
44 > QueueType: params.QueueType,
45 > Category: params.Category,
46 > SourceCluster: "src-" + t.Name(),
47 > TargetCluster: "tgt-" + t.Name(),
48 > }
49 }
50
go.temporal.io/server/service/history/api/deletedlqtasks/api.go 17 covered LOC · 4 ranges

Open complete file

16 req *historyservice.DeleteDLQTasksRequest,
17 registry tasks.TaskCategoryRegistry,
18 > ) (*historyservice.DeleteDLQTasksResponse, error) { api.go
19 > category, err := api.GetTaskCategory(int(req.DlqKey.TaskCategory), registry)
20 > if err != nil {
21 return nil, err
22 }
23
24 > if req.InclusiveMaxTaskMetadata == nil { api.go
25 return nil, serviceerror.NewInvalidArgument("must supply inclusive_max_task_metadata")
26 }
27
28 > resp, err := historyTaskQueueManager.DeleteTasks(ctx, &persistence.DeleteTasksRequest{ api.go
29 > QueueKey: persistence.QueueKey{
30 > QueueType: persistence.QueueTypeHistoryDLQ,
31 > Category: category,
32 > SourceCluster: req.DlqKey.SourceCluster,
33 > TargetCluster: req.DlqKey.TargetCluster,
34 > },
35 > InclusiveMaxMessageMetadata: persistence.MessageMetadata{
36 > ID: req.InclusiveMaxTaskMetadata.MessageId,
37 > },
38 > })
39 > if err != nil {
40 return nil, err
41 }
42
43 > return &historyservice.DeleteDLQTasksResponse{MessagesDeleted: resp.MessagesDeleted}, nil api.go
44 }
go.temporal.io/server/common/persistence/tests/history_task_queue_manager_test_suite.go 16 covered LOC · 11 ranges

Open complete file

85 // RunHistoryTaskQueueManagerTestSuite runs all tests for the history task queue manager against a given queue provided by a
86 // particular database. This test suite should be re-used to test all queue implementations.
87 > func RunHistoryTaskQueueManagerTestSuite(t *testing.T, queue persistence.QueueV2) { history_task_queue_manager_test_suite.go
88 > serializer := serialization.NewSerializer()
89 > historyTaskQueueManager := persistence.NewHistoryTaskQueueManager(queue, serializer)
90 > t.Run("ListQueues", func(t *testing.T) {
91 listqueuestest.TestInvoke(t, historyTaskQueueManager)
92 })
93 > t.Run("TestHistoryTaskQueueManagerEnqueueTasks", func(t *testing.T) { history_task_queue_manager_test_suite.go
94 t.Parallel()
95 testHistoryTaskQueueManagerEnqueueTasks(t, historyTaskQueueManager)
96 })
97 > t.Run("TestHistoryTaskQueueManagerEnqueueTasksErr", func(t *testing.T) { history_task_queue_manager_test_suite.go
98 t.Parallel()
99 testHistoryTaskQueueManagerEnqueueTasksErr(t, queue)
100 })
101 > t.Run("TestHistoryTaskQueueManagerCreateQueueErr", func(t *testing.T) { history_task_queue_manager_test_suite.go
102 t.Parallel()
103 testHistoryTaskQueueManagerCreateQueueErr(t, queue)
104 })
105 > t.Run("TestHistoryTQMErrDeserializeTask", func(t *testing.T) { history_task_queue_manager_test_suite.go
106 t.Parallel()
107 testHistoryTaskQueueManagerErrDeserializeHistoryTask(t, queue, historyTaskQueueManager)
108 })
109 > t.Run("BestEffortDeleteTasks", func(t *testing.T) { history_task_queue_manager_test_suite.go
110 t.Parallel()
111 testHistoryTaskQueueManagerDeleteTasks(t, historyTaskQueueManager)
112 })
113 > t.Run("DeleteTasksErr", func(t *testing.T) { history_task_queue_manager_test_suite.go
114 t.Parallel()
115 testHistoryTaskQueueManagerDeleteTasksErr(t, queue)
116 })
117 > t.Run("GetDLQTasks", func(t *testing.T) { history_task_queue_manager_test_suite.go
118 t.Parallel()
119 getdlqtaskstest.TestInvoke(t, historyTaskQueueManager)
120 })
121 > t.Run("DeleteDLQTasks", func(t *testing.T) { history_task_queue_manager_test_suite.go
122 t.Parallel()
123 deletedlqtaskstest.TestInvoke(t, historyTaskQueueManager)
124 })
125 > t.Run("ClientTest", func(t *testing.T) { history_task_queue_manager_test_suite.go
127 > historytest.TestClient(t, historyTaskQueueManager)
128 > })
129 }
130
go.temporal.io/server/common/testing/nettest/listener.go 16 covered LOC · 4 ranges

Open complete file

4
5 // NewListener returns a net.Listener which uses the given Pipe to simulate a network connection.
6 > func NewListener(pipe *Pipe) *PipeListener { listener.go
7 > return &PipeListener{
8 > Pipe: pipe,
9 > done: make(chan struct{}),
10 > }
11 > }
12
13 // PipeListener is a net.Listener which uses a Pipe to simulate a network connection.
20 var _ net.Listener = (*PipeListener)(nil)
21
22 > func (t *PipeListener) Accept() (net.Conn, error) { listener.go
23 > return t.Pipe.Accept(t.done)
24 > }
25
26 > func (t *PipeListener) Close() error { listener.go
27 > close(t.done)
28 > return nil
29 > }
30
31 > func (t *PipeListener) Addr() net.Addr { listener.go
32 > return &net.TCPAddr{}
33 > }
go.temporal.io/server/service/history/tasks/task_category_registry.go 16 covered LOC · 2 ranges

Open complete file

26 // each entry point that uses it. Essentially, get it from the dependency graph instead of calling this method, unless
27 // you're in a test.
28 > func NewDefaultTaskCategoryRegistry() *MutableTaskCategoryRegistry { task_category_registry.go
29 > return &MutableTaskCategoryRegistry{
30 > categories: map[int]Category{
31 > CategoryTransfer.ID(): CategoryTransfer,
32 > CategoryTimer.ID(): CategoryTimer,
33 > CategoryVisibility.ID(): CategoryVisibility,
34 > CategoryReplication.ID(): CategoryReplication,
35 > CategoryMemoryTimer.ID(): CategoryMemoryTimer,
36 > CategoryOutbound.ID(): CategoryOutbound,
37 > },
38 > }
39 > }
40
41 // AddCategory register a Category with the registry or panics if a Category with the same ID has already been
55
56 // GetCategoryByID returns a registered Category with the same ID from the registry or false if no such Category exists.
57 > func (r *MutableTaskCategoryRegistry) GetCategoryByID(id int) (Category, bool) { task_category_registry.go
58 > category, ok := r.categories[id]
59 > return category, ok
60 > }
61
62 // GetCategories returns a deep copy of all registered Category objects from the registry.
go.temporal.io/server/chasm/registry.go 15 covered LOC · 1 range

Open complete file

51 }
52
53 > func NewRegistry(logger log.Logger) *Registry { registry.go
54 > return &Registry{
55 > libraries: make(map[string]Library),
56 > rcByFqn: make(map[string]*RegistrableComponent),
57 > rcByID: make(map[uint32]*RegistrableComponent),
58 > rcByGoType: make(map[reflect.Type]*RegistrableComponent),
59 > rtByFqn: make(map[string]*RegistrableTask),
60 > rtByID: make(map[uint32]*RegistrableTask),
61 > rtByGoType: make(map[reflect.Type]*RegistrableTask),
62 > rcContextValues: make(map[any]valueWithFqn),
63 > nexusServices: make(map[string]*nexus.Service),
64 > NexusEndpointProcessor: NewNexusEndpointProcessor(),
65 > logger: logger,
66 > }
67 > }
68
69 func (r *Registry) Register(lib Library) error {
go.temporal.io/server/common/goro/goro.go 15 covered LOC · 3 ranges

Open complete file

22 // the goroutine starts, which makes it possible for the goroutine to call
23 // Done() on itself (maybe indirectly) without a race condition.
24 > func NewHandle(ctx context.Context) *Handle { goro.go
25 > ctx, cancel := context.WithCancel(ctx)
26 > return &Handle{
27 > context: ctx,
28 > cancel: cancel,
29 > done: make(chan struct{}),
30 > }
31 > }
32
33 // Go launches the supplied function in its own goroutine. Go should be called
34 // exactly once on each *Handle.
35 > func (h *Handle) Go(f func(context.Context) error) *Handle { goro.go
36 > go func() {
37 > // use defer here so that the channel is closed even if the func calls
38 > // runtime.Goexit()
39 > defer close(h.done)
40 > if err := f(h.context); err != nil {
41 h.err.Store(err)
42 }
43 }()
44 > return h goro.go
45 }
46
go.temporal.io/server/common/namespace/replication_resolver.go 15 covered LOC · 2 ranges

Open complete file

49 }
50
51 > func NewDefaultReplicationResolverFactory() ReplicationResolverFactory { replication_resolver.go
52 > return func(detail *persistencespb.NamespaceDetail) ReplicationResolver {
53 > // By convention, a namespace with non-zero failover version is a global namespace
54 > // This can be overridden by WithGlobalFlag mutation if needed
55 > isGlobal := detail.FailoverVersion != 0
56 > return &defaultReplicationResolver{
57 > replicationConfig: detail.ReplicationConfig,
58 > isGlobalNamespace: isGlobal,
59 > failoverVersion: detail.FailoverVersion,
60 > failoverNotificationVersion: detail.FailoverNotificationVersion,
61 > }
62 > }
63 }
64
112 }
113
114 > func (r *defaultReplicationResolver) SetGlobalFlag(isGlobal bool) { replication_resolver.go
115 > r.isGlobalNamespace = isGlobal
116 > }
117
118 func (r *defaultReplicationResolver) SetActiveCluster(clusterName string) {
go.temporal.io/server/common/persistence/visibility/store/sql/query_converter_util_legacy.go 15 covered LOC · 3 ranges

Open complete file

68 }
69
70 > func newColName(name string) *colName { query_converter_util_legacy.go
71 > return &colName{Name: name}
72 > }
73
74 func newSAColName(
77 fieldName string,
78 valueType enumspb.IndexedValueType,
79 > ) *saColName { query_converter_util_legacy.go
80 > return &saColName{
81 > dbColName: newColName(dbColName),
82 > alias: alias,
83 > fieldName: fieldName,
84 > valueType: valueType,
85 > }
86 > }
87
88 func newFuncExpr(name string, exprs ...sqlparser.Expr) *sqlparser.FuncExpr {
105 }
106
107 > func getMaxDatetimeValue() time.Time { query_converter_util_legacy.go
108 > t, _ := time.Parse(time.RFC3339, "9999-12-31T23:59:59Z")
109 > return t
110 > }
111
112 // formatComparisonExprStringForError formats comparison expression after
go.temporal.io/server/common/testing/testhooks/test_impl.go 15 covered LOC · 4 ranges

Open complete file

37 //
38 // TestHooks should be used sparingly, see comment on TestHooks.
39 > func Get[T any, S any](th TestHooks, key Key[T, S], scope S) (T, bool) { test_impl.go
40 > var zero T
41 > if th.data == nil {
42 > // This means TestHooks wasn't created via NewTestHooks. Ignore. test_impl.go
43 > return zero, false
44 > }
45 if val, ok := th.data.Load(hookKey{key.id, scope}); ok {
46 return val.(T), true //nolint:revive
89 var keyCounter atomic.Int64
90
91 > func newKey[T any, S any]() Key[T, S] { test_impl.go
92 > var zero S
93 > var s ScopeType
94 > switch any(zero).(type) {
95 > case namespace.ID, namespace.Name:
96 > s = ScopeNamespace
97 > case global:
98 > s = ScopeGlobal
99 default:
100 panic("testhooks: unknown scope type")
101 }
102 > return Key[T, S]{id: keyCounter.Add(1), scopeType: s} test_impl.go
103 }
go.temporal.io/server/common/build/build.go 14 covered LOC · 2 ranges

Open complete file

27 )
28
29 > func init() { build.go
30 > buildInfo, ok := debug.ReadBuildInfo()
31 > if !ok {
32 return
33 }
34
35 > InfoData.Available = true build.go
36 > InfoData.GoVersion = buildInfo.GoVersion
37 >
38 > for _, setting := range buildInfo.Settings {
39 > switch setting.Key {
40 > case "GOARCH":
41 > InfoData.GoArch = setting.Value
42 > case "GOOS":
43 > InfoData.GoOs = setting.Value
44 > case "CGO_ENABLED":
45 > InfoData.CgoEnabled = setting.Value == "1"
46 case "vcs.revision":
47 InfoData.GitRevision = setting.Value
go.temporal.io/server/common/dynamicconfig/gradual_change.go 14 covered LOC · 3 ranges

Open complete file

25 // StaticGradualChange returns a GradualChange whose Value always returns def and whose When
26 // always returns a time in the past.
27 > func StaticGradualChange[T any](def T) GradualChange[T] { gradual_change.go
28 > return GradualChange[T]{New: def}
29 > }
30
31 // Value returns the value for the given key at the given time.
56 // of type GradualChange into a GradualChange.
57 // nolint:revive // cognitive-complexity // this looks complicated but each case is fairly simple
58 > func ConvertGradualChange[T any](def T) func(v any) (GradualChange[T], error) { gradual_change.go
59 > changeConverter := ConvertStructure(StaticGradualChange(def))
60 >
61 > // Call this once so that if it's going to panic, it panics at static init time.
62 > _, _ = changeConverter(nil)
63 >
64 > switch reflect.TypeFor[T]() {
65 > case reflect.TypeFor[bool]():
66 > return func(v any) (GradualChange[T], error) {
67 if b, err := convertBool(v); err == nil {
68 var change GradualChange[T]
72 return changeConverter(v)
73 }
74 > case reflect.TypeFor[int](): gradual_change.go
75 > return func(v any) (GradualChange[T], error) {
76 if i, err := convertInt(v); err == nil {
77 var change GradualChange[T]
go.temporal.io/server/common/persistence/sql/common.go 14 covered LOC · 5 ranges

Open complete file

25 }
26
27 > func NewSQLStore(db sqlplugin.DB, logger log.Logger, serializer serialization.Serializer) SqlStore { common.go
28 > return SqlStore{
29 > DB: db,
30 > logger: logger,
31 > serializer: serializer,
32 > }
33 > }
34
35 func (m *SqlStore) GetName() string {
50 }
51
52 > func (m *SqlStore) txExecute(ctx context.Context, operation string, f func(tx sqlplugin.Tx) error) error { common.go
53 > tx, err := m.DB.BeginTx(ctx)
54 > if err != nil {
55 return serviceerror.NewUnavailablef("%s failed. Failed to start transaction. Error: %v", operation, err)
56 }
57 > err = f(tx) common.go
58 > if err != nil {
59 rollBackErr := tx.Rollback()
60 if rollBackErr != nil {
75 }
76 }
77 > if err := tx.Commit(); err != nil { common.go
78 return serviceerror.NewUnavailablef("%s operation failed. Failed to commit transaction. Error: %v", operation, err)
79 }
80 > return nil common.go
81 }
82
go.temporal.io/server/temporal/environment/env.go 14 covered LOC · 5 ranges

Open complete file

39 )
40
41 > func lookupLocalhostIP(domain string) string { env.go
42 > // lookup localhost and favor the first ipv4 address
43 > // unless there are only ipv6 addresses available
44 > ips, err := net.LookupIP(domain)
45 > if err != nil || len(ips) == 0 {
46 // fallback to default instead of error
47 return localhostIPDefault
48 }
49 > for _, ip := range ips { env.go
50 > if ip4 := ip.To4(); ip4 != nil {
51 > return ip4.String() env.go
52 > }
53 }
54 return ips[len(ips)-1].String()
56
57 // GetLocalhostIP returns the ip address of the localhost domain
58 > func GetLocalhostIP() string { env.go
59 > localhostIP := os.Getenv(localhostIPEnv)
60 > ip := net.ParseIP(localhostIP)
61 > if ip != nil {
62 // if localhost is an ip return it
63 return ip.String()
64 }
65 // otherwise, ignore the value and lookup `localhost`
66 > return lookupLocalhostIP("localhost") env.go
67 }
68
go.temporal.io/server/service/history/tasks/category.go 13 covered LOC · 3 ranges

Open complete file

88 )
89
90 > func NewCategory(id int, cType CategoryType, name string) Category { category.go
91 > return Category{
92 > id: id,
93 > cType: cType,
94 > name: name,
95 > }
96 > }
97
98 > func (c Category) ID() int { category.go
99 > return c.id
100 > }
101
102 > func (c Category) Name() string { category.go
103 > return c.name
104 > }
105
106 func (c Category) Type() CategoryType {
go.temporal.io/server/api/persistence/v1/queues.go-helpers.pb.go 12 covered LOC · 4 ranges

Open complete file

192
193 // Marshal an object of type ReadQueueMessagesNextPageToken to the protobuf v3 wire format
194 > func (val *ReadQueueMessagesNextPageToken) Marshal() ([]byte, error) { queues.go-helpers.pb.go
195 > return proto.Marshal(val)
196 > }
197
198 // Unmarshal an object of type ReadQueueMessagesNextPageToken from the protobuf v3 wire format
266
267 // Marshal an object of type HistoryTask to the protobuf v3 wire format
268 > func (val *HistoryTask) Marshal() ([]byte, error) { queues.go-helpers.pb.go
269 > return proto.Marshal(val)
270 > }
271
272 // Unmarshal an object of type HistoryTask from the protobuf v3 wire format
340
341 // Marshal an object of type Queue to the protobuf v3 wire format
342 > func (val *Queue) Marshal() ([]byte, error) { queues.go-helpers.pb.go
343 > return proto.Marshal(val)
344 > }
345
346 // Unmarshal an object of type Queue from the protobuf v3 wire format
347 > func (val *Queue) Unmarshal(buf []byte) error { queues.go-helpers.pb.go
348 > return proto.Unmarshal(buf, val)
349 > }
350
351 // Size returns the size of the object, in bytes, once serialized
go.temporal.io/server/common/persistence/visibility/store/elasticsearch/visibility_store.go 12 covered LOC · 3 ranges

Open complete file

101 }
102
103 > defaultSorter = func() []elastic.Sorter { visibility_store.go
104 > ret := make([]elastic.Sorter, 0, len(defaultSorterFields))
105 > for _, item := range defaultSorterFields {
106 > fs := elastic.NewFieldSort(item.name)
107 > if item.desc {
108 > fs.Desc()
109 > }
110 > if item.missing_first {
111 > fs.Missing("_first")
112 > } else {
113 fs.Missing("_last")
114 }
115 > ret = append(ret, fs) visibility_store.go
116 }
117 > return ret visibility_store.go
118 }()
119
go.temporal.io/server/common/persistence/serialization/serializer.go 11 covered LOC · 4 ranges

Open complete file

139 )
140
141 > func NewSerializer() Serializer { serializer.go
142 > return &serializerImpl{encodingType: encodingTypeFromEnv()}
143 > }
144
145 func (t *serializerImpl) EncodingType() enumspb.EncodingType {
149 func (t *serializerImpl) SerializeTask(
150 task tasks.Task,
151 > ) (*commonpb.DataBlob, error) { serializer.go
152 > category := task.GetCategory()
153 > switch category.ID() {
154 > case tasks.CategoryIDTransfer: serializer.go
155 > return serializeTransferTask(t, task)
156 case tasks.CategoryIDTimer:
157 return serializeTimerTask(t, task)
615 }
616
617 > func (t *serializerImpl) TransferTaskInfoToBlob(info *persistencespb.TransferTaskInfo) (*commonpb.DataBlob, error) { serializer.go
618 > return encodeBlob(info, t.encodingType)
619 > }
620
621 func (t *serializerImpl) TransferTaskInfoFromBlob(data *commonpb.DataBlob) (*persistencespb.TransferTaskInfo, error) {
go.temporal.io/server/common/log/tag/zap_tag.go 10 covered LOC · 2 ranges

Open complete file

44 }
45
46 > func NewStringTag(key string, value string) ZapTag { zap_tag.go
47 > return ZapTag{
48 > field: zap.String(key, value),
49 > }
50 > }
51
52 func NewStringsTag(key string, value []string) ZapTag {
118 }
119
120 > func NewBoolTag(key string, value bool) ZapTag { zap_tag.go
121 > return ZapTag{
122 > field: zap.Bool(key, value),
123 > }
124 > }
125
126 func NewErrorTag(key string, value error) ZapTag {
go.temporal.io/server/common/metrics/defs_base.go 10 covered LOC · 1 range

Open complete file

10 }
11
12 > func newMetricDefinition(name string, opts ...Option) metricDefinition { defs_base.go
13 > d := metricDefinition{
14 > name: name,
15 > description: "",
16 > unit: "",
17 > }
18 > for _, opt := range opts {
19 > opt.apply(&d)
20 > }
21 > return d
22 }
23
go.temporal.io/server/common/persistence/sql/sqlplugin/postgresql/plugin.go 10 covered LOC · 1 range

Open complete file

36 var _ sqlplugin.Plugin = (*plugin)(nil)
37
38 > func init() { plugin.go
39 > sql.RegisterPlugin(PluginName, &plugin{
40 > driver: &driver.PQDriver{},
41 > queryConverter: &queryConverter{},
42 > })
43 > sql.RegisterPlugin(PluginNamePGX, &plugin{
44 > driver: &driver.PGXDriver{},
45 > queryConverter: &queryConverter{},
46 > })
47 > }
48
49 func (p *plugin) GetVisibilityQueryConverter() sqlplugin.VisibilityQueryConverter {
go.temporal.io/server/common/persistence/sql/sqlplugin/postgresql/visibility.go 10 covered LOC · 1 range

Open complete file

40 )
41
42 > func buildOnDuplicateKeyUpdate(fields ...string) string { visibility.go
43 > items := make([]string, len(fields))
44 > for i, field := range fields {
45 > items[i] = fmt.Sprintf("%s = excluded.%s", field, field)
46 > }
47 > return fmt.Sprintf(
48 > // The WHERE clause ensures that no update occurs if the version is behind the saved version.
49 > "ON CONFLICT (namespace_id, run_id) DO UPDATE SET %s WHERE executions_visibility.%s < EXCLUDED.%s",
50 > strings.Join(items, ", "), sqlplugin.VersionColumnName, sqlplugin.VersionColumnName,
51 > )
52 }
53
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/visibility.go 10 covered LOC · 1 range

Open complete file

42 )
43
44 > func buildOnDuplicateKeyUpdate(fields ...string) string { visibility.go
45 > items := make([]string, len(fields))
46 > for i, field := range fields {
47 > items[i] = fmt.Sprintf("%s = excluded.%s", field, field)
48 > }
49 > return fmt.Sprintf(
50 > // The WHERE clause ensures that no update occurs if the version is behind the saved version.
51 > "ON CONFLICT (namespace_id, run_id) DO UPDATE SET %s WHERE executions_visibility.%s < EXCLUDED.%s",
52 > strings.Join(items, ", "), sqlplugin.VersionColumnName, sqlplugin.VersionColumnName,
53 > )
54 }
55
go.temporal.io/server/common/persistence/sql/sqlplugin/visibility.go 10 covered LOC · 2 ranges

Open complete file

219 }
220
221 > func getDbFields() []string { visibility.go
222 > t := reflect.TypeFor[VisibilityRow]()
223 > dbFields := make([]string, t.NumField())
224 > for i := 0; i < t.NumField(); i++ {
225 > f := t.Field(i)
226 > dbFields[i] = f.Tag.Get("db")
227 > if dbFields[i] == "" {
228 > dbFields[i] = strcase.ToSnake(f.Name)
229 > }
230 }
231 > return dbFields visibility.go
232 }
233
go.temporal.io/server/common/persistence/visibility/store/query/util.go 10 covered LOC · 2 ranges

Open complete file

70 }
71
72 > func NewUnsafeSQLString(val string) *UnsafeSQLString { util.go
73 > return &UnsafeSQLString{Val: val}
74 > }
75
76 func NewColName(name string) *ColumnName {
78 }
79
80 > func NewSAColumn(alias string, fieldName string, valueType enumspb.IndexedValueType) *SAColumn { util.go
81 > return &SAColumn{
82 > Alias: alias,
83 > FieldName: fieldName,
84 > ValueType: valueType,
85 > }
86 > }
87
88 func NamespaceDivisionSAColumn() *SAColumn {
go.temporal.io/server/common/dynamicconfig/static_client.go 9 covered LOC · 4 ranges

Open complete file

10 )
11
12 > func (s StaticClient) GetValue(key Key) []ConstrainedValue { static_client.go
13 > if v, ok := s[key]; ok {
14 if cvs, ok := v.([]ConstrainedValue); ok {
15 return cvs
17 return []ConstrainedValue{{Value: v}}
18 }
19 > return nil static_client.go
20 }
21
22 // NewNoopClient returns a Client that has no keys (a Collection using it will always return
23 // default values).
24 > func NewNoopClient() Client { static_client.go
25 > return StaticClient(nil)
26 > }
27
28 // NewNoopCollection creates a new noop collection.
29 > func NewNoopCollection() *Collection { static_client.go
30 > return NewCollection(NewNoopClient(), log.NewNoopLogger())
31 > }
go.temporal.io/server/common/persistence/sql/sqlplugin/util.go 9 covered LOC · 2 ranges

Open complete file

5 )
6
7 > func appendPrefix(prefix string, fields []string) []string { util.go
8 > out := make([]string, len(fields))
9 > for i, field := range fields {
10 > out[i] = prefix + field
11 > }
12 > return out
13 }
14
15 > func BuildNamedPlaceholder(fields ...string) string { util.go
16 > return strings.Join(appendPrefix(":", fields), ", ")
17 > }
go.temporal.io/server/common/primitives/timestamp/duration.go 9 covered LOC · 3 ranges

Open complete file

26 }
27
28 > func DurationPtr(td time.Duration) *durationpb.Duration { duration.go
29 > return durationpb.New(td)
30 > }
31
32 func MinDurationPtr(d1 *durationpb.Duration, d2 *durationpb.Duration) *durationpb.Duration {
47 }
48
49 > func DurationFromDays(d int32) *durationpb.Duration { duration.go
50 > return durationMultipleOf(int64(d), time.Hour*24)
51 > }
52
53 > func durationMultipleOf(amt int64, mult time.Duration) *durationpb.Duration { duration.go
54 > return DurationPtr(time.Duration(amt) * mult)
55 > }
56
57 // ValidateAndCapProtoDuration validates protobuf durations for two conditions:
go.temporal.io/server/service/history/handler.go 9 covered LOC · 4 ranges

Open complete file

2053 ctx context.Context,
2054 request *historyservice.GetDLQTasksRequest,
2055 > ) (*historyservice.GetDLQTasksResponse, error) { handler.go
2056 > return getdlqtasks.Invoke(ctx, h.taskQueueManager, h.taskCategoryRegistry, request)
2057 > }
2058
2059 func (h *Handler) DeleteDLQTasks(
2060 ctx context.Context,
2061 request *historyservice.DeleteDLQTasksRequest,
2062 > ) (*historyservice.DeleteDLQTasksResponse, error) { handler.go
2063 > if hook, ok := testhooks.Get(h.testHooks, testhooks.HistoryDLQTaskDeleteInterceptor, testhooks.GlobalScope); ok {
2064 return hook(ctx, request, h.deleteDLQTasks)
2065 }
2066 > return h.deleteDLQTasks(ctx, request) handler.go
2067 }
2068
2070 ctx context.Context,
2071 request *historyservice.DeleteDLQTasksRequest,
2072 > ) (*historyservice.DeleteDLQTasksResponse, error) { handler.go
2073 > return deletedlqtasks.Invoke(ctx, h.taskQueueManager, request, h.taskCategoryRegistry)
2074 > }
2075
2076 // AddTasks calls the [addtasks.Invoke] API with a [shard.Context] for the given shardID.
go.temporal.io/server/common/namespace/mutate.go 8 covered LOC · 2 ranges

Open complete file

8 type mutationFunc func(*Namespace)
9
10 > func (f mutationFunc) apply(ns *Namespace) { mutate.go
11 > f(ns)
12 > }
13
14 // WithActiveCluster assigns the active cluster to a Namespace during a Clone
43
44 // WithGlobalFlag sets whether or not this Namespace is global.
45 > func WithGlobalFlag(b bool) Mutation { mutate.go
46 > return mutationFunc(
47 > func(ns *Namespace) {
48 > ns.replicationResolver.SetGlobalFlag(b)
49 > })
50 }
51
go.temporal.io/server/common/persistence/sql/sqlplugin/mysql/visibility.go 8 covered LOC · 1 range

Open complete file

73 )
74
75 > func buildOnDuplicateKeyUpdate(fields ...string) string { visibility.go
76 > items := make([]string, len(fields))
77 > for i, field := range fields {
78 > // This line is to ensure that no update occurs (for any column) if the version is behind the saved version.
79 > items[i] = fmt.Sprintf("%v = IF(%v < VALUES(%v), VALUES(%v), %v)",
80 > field, sqlplugin.VersionColumnName, sqlplugin.VersionColumnName, field, field)
81 > }
82 > return fmt.Sprintf("ON DUPLICATE KEY UPDATE %s", strings.Join(items, ", "))
83 }
84
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/admin.go 8 covered LOC · 2 ranges

Open complete file

63
64 // Exec executes a sql statement
65 > func (mdb *db) Exec(stmt string, args ...any) error { admin.go
66 > _, err := mdb.db.Exec(stmt, args...)
67 > return err
68 > }
69
70 // ListTables returns a list of tables in this database
95
96 // CreateDatabase creates a database if it doesn't exist
97 > func (mdb *db) CreateDatabase(name string) error { admin.go
98 > // SQLite does not need to create database
99 > return nil
100 > }
101
102 // DropDatabase drops a database
go.temporal.io/server/common/tasks/priority.go 8 covered LOC · 2 ranges

Open complete file

59 )
60
61 > func (p Priority) String() string { priority.go
62 > s, ok := PriorityName[p]
63 > if ok {
64 > return s
65 > }
66 return strconv.Itoa(int(p))
67 }
77 func getPriority(
78 class, subClass Priority,
79 > ) Priority { priority.go
80 > return class | subClass
81 > }
go.temporal.io/server/chasm/statemachine.go 7 covered LOC · 1 range

Open complete file

34 // The apply function is called after verifying the transition is possible but before setting the destination state,
35 // so it can inspect the current (source) state.
36 > func NewTransition[S comparable, SM StateMachine[S], E any](src []S, dst S, apply func(SM, MutableContext, E) error) Transition[S, SM, E] { statemachine.go
37 > return Transition[S, SM, E]{
38 > Sources: src,
39 > Destination: dst,
40 > apply: apply,
41 > }
42 > }
43
44 // Possible returns a boolean indicating whether the transition is possible for the current state.
go.temporal.io/server/common/definition/workflow_key.go 7 covered LOC · 1 range

Open complete file

19 workflowID string,
20 runID string,
21 > ) WorkflowKey { workflow_key.go
22 > return WorkflowKey{
23 > NamespaceID: namespaceID,
24 > WorkflowID: workflowID,
25 > RunID: runID,
26 > }
27 > }
28
29 func (k *WorkflowKey) GetNamespaceID() string {
go.temporal.io/server/common/dynamicconfig/registry.go 7 covered LOC · 3 ranges

Open complete file

17 )
18
19 > func register(s GenericSetting) { registry.go
20 > if globalRegistry.queried.Load() {
21 panic("dynamicconfig.New*Setting must only be called from static initializers")
22 }
23 > if globalRegistry.settings == nil { registry.go
24 > globalRegistry.settings = make(map[Key]GenericSetting)
25 > }
26 > if globalRegistry.settings[s.Key()] != nil {
27 // nolint:forbidigo // only called during static initialization
28 panic(fmt.Sprintf("duplicate registration of dynamic config key: %q", s.Key().String()))
29 }
30 > globalRegistry.settings[s.Key()] = s registry.go
31 }
32
go.temporal.io/server/common/membership/grpc_resolver.go 7 covered LOC · 2 ranges

Open complete file

53 )
54
55 > func init() { grpc_resolver.go
56 > // This must be called in init to avoid race conditions.
57 > resolver.Register(&globalGrpcBuilder)
58 > }
59
60 // Most code should not use this, this is only exposed for code that has to recognize and use a
80 }
81
82 > func (m *grpcBuilder) Scheme() string { grpc_resolver.go
83 > return grpcResolverScheme
84 > }
85
86 func (m *grpcBuilder) getServiceResolver(u *url.URL) (ServiceResolver, error) {
go.temporal.io/server/common/testing/fakedata/fakedata.go 7 covered LOC · 1 range

Open complete file

9 )
10
11 > func init() { fakedata.go
12 > // We need this option to prevent faker.FakeData from returning an error for any struct that has an interface{} field.
13 > faker.SetIgnoreInterface(true)
14 > // We need this option to prevent faker from taking a long time while generating random data for structs that have
15 > // map or slice fields. This is especially relevant for persistence.ShardInfo, which takes about 1s without this
16 > // option, but only ~100µs with it.
17 > if err := faker.SetRandomMapAndSliceMaxSize(2); err != nil {
18 panic(err)
19 }
go.temporal.io/server/service/history/hsm/sm.go 7 covered LOC · 1 range

Open complete file

41 // NewTransition creates a new [Transition] from the given source states to a destination state for a given event.
42 // The apply function is called after verifying the transition is possible and setting the destination state.
43 > func NewTransition[S comparable, SM StateMachine[S], E any](src []S, dst S, apply func(SM, E) (TransitionOutput, error)) Transition[S, SM, E] { sm.go
44 > return Transition[S, SM, E]{
45 > Sources: src,
46 > Destination: dst,
47 > apply: apply,
48 > }
49 > }
50
51 // Possible returns a boolean indicating whether the transition is possible for the current state.
go.temporal.io/server/service/history/workflow/task_generator_provider.go 7 covered LOC · 2 ranges

Open complete file

23 )
24
25 > func init() { task_generator_provider.go
26 > var defaultProvider TaskGeneratorProvider = new(taskGeneratorProviderImpl)
27 > populateTaskGeneratorProvider(defaultProvider)
28 > }
29
30 > func populateTaskGeneratorProvider(provider TaskGeneratorProvider) { task_generator_provider.go
31 > _taskGeneratorProvider.Store(&provider)
32 > }
33
34 func GetTaskGeneratorProvider() TaskGeneratorProvider {
go.temporal.io/server/common/convert/convert.go 6 covered LOC · 2 ranges

Open complete file

24 }
25
26 > func Int64ToString(v int64) string { convert.go
27 > return strconv.FormatInt(v, 10)
28 > }
29
30 > func Int32ToString(v int32) string { convert.go
31 > return Int64ToString(int64(v))
32 > }
33
34 func Uint16ToString(v uint16) string {
go.temporal.io/server/common/membership/hostinfo.go 6 covered LOC · 2 ranges

Open complete file

12
13 // NewHostInfoFromAddress creates a new HostInfo instance from a socket address.
14 > func NewHostInfoFromAddress(address string) HostInfo { hostinfo.go
15 > return hostAddress(address)
16 > }
17
18 // hostAddress is a HostInfo implementation that uses a string as the address and identity.
20
21 // GetAddress returns the value of the hostAddress.
22 > func (a hostAddress) GetAddress() string { hostinfo.go
23 > return string(a)
24 > }
25
26 // Identity returns the value of the hostAddress.
go.temporal.io/server/common/metrics/option.go 6 covered LOC · 2 ranges

Open complete file

10 type WithDescription string
11
12 > func (h WithDescription) apply(m *metricDefinition) { option.go
13 > m.description = string(h)
14 > }
15
16 // WithUnit sets the unit of a metric. See NewBytesHistogramDef for an example.
17 type WithUnit MetricUnit
18
19 > func (h WithUnit) apply(m *metricDefinition) { option.go
20 > m.unit = MetricUnit(h)
21 > }
go.temporal.io/server/common/persistence/data_interfaces.go 6 covered LOC · 3 ranges

Open complete file

1408 // UnixMilliseconds returns t as a Unix time, the number of milliseconds elapsed since January 1, 1970 UTC.
1409 // It should be used for all CQL timestamp.
1410 > func UnixMilliseconds(t time.Time) int64 { data_interfaces.go
1411 > // Handling zero time separately because UnixNano is undefined for zero times.
1412 > if t.IsZero() {
1413 return 0
1414 }
1415
1416 > unixNano := t.UnixNano() data_interfaces.go
1417 > if unixNano < 0 {
1418 // Time is before January 1, 1970 UTC
1419 return 0
1420 }
1421 > return unixNano / int64(time.Millisecond) data_interfaces.go
1422 }
1423
go.temporal.io/server/common/persistence/nosql/nosqlplugin/cassandra/translator/fixed_address_translator.go 6 covered LOC · 2 ranges

Open complete file

15 )
16
17 > func init() { fixed_address_translator.go
18 > RegisterTranslator(fixedTranslatorName, NewFixedAddressTranslatorPlugin())
19 > }
20
21 type FixedAddressTranslatorPlugin struct {
22 }
23
24 > func NewFixedAddressTranslatorPlugin() TranslatorPlugin { fixed_address_translator.go
25 > return &FixedAddressTranslatorPlugin{}
26 > }
27
28 // GetTranslator What gocql driver does is that it will connect to the first node in the list in configuration
go.temporal.io/server/service/history/configs/task.go 6 covered LOC · 1 range

Open complete file

26 func ConvertWeightsToDynamicConfigValue(
27 weights map[tasks.Priority]int,
28 > ) map[string]any { task.go
29 > weightsForDC := make(map[string]any)
30 > for priority, weight := range weights {
31 > weightsForDC[priority.String()] = weight
32 > }
33 > return weightsForDC
34 }
35
go.temporal.io/server/service/history/tasks/key.go 6 covered LOC · 1 range

Open complete file

35 }
36
37 > func NewKey(fireTime time.Time, taskID int64) Key { key.go
38 > return Key{
39 > FireTime: fireTime,
40 > TaskID: taskID,
41 > }
42 > }
43
44 func ValidateKey(key Key) error {
go.temporal.io/server/chasm/lib/nexusoperation/config.go 5 covered LOC · 1 range

Open complete file

160 }
161
162 > func (cfg RetryPolicyConfig) build() backoff.RetryPolicy { config.go
163 > return backoff.NewExponentialRetryPolicy(cfg.InitialInterval).
164 > WithMaximumInterval(cfg.MaxInterval).
165 > WithExpirationInterval(backoff.NoInterval)
166 > }
167
168 var defaultRetryPolicyConfig = RetryPolicyConfig{
go.temporal.io/server/chasm/lib/scheduler/util.go 5 covered LOC · 1 range

Open complete file

26
27 // serializeConflictToken serializes a conflict token as a byte slice.
28 > func serializeConflictToken(conflictToken int64) []byte { util.go
29 > token := make([]byte, 8)
30 > binary.LittleEndian.PutUint64(token, uint64(conflictToken))
31 > return token
32 > }
33
34 // newTaggedLogger returns a logger tagged with the Scheduler's attributes.
go.temporal.io/server/chasm/nexus_operation_processor.go 5 covered LOC · 1 range

Open complete file

165
166 // NewNexusEndpointProcessor creates a new NexusEndpointProcessor.
167 > func NewNexusEndpointProcessor() *NexusEndpointProcessor { nexus_operation_processor.go
168 > return &NexusEndpointProcessor{
169 > serviceProcessors: make(map[string]*NexusServiceProcessor),
170 > }
171 > }
172
173 // RegisterServiceProcessor adds a service-level processor to the endpoint keyed by its name.
go.temporal.io/server/common/metrics/registry.go 5 covered LOC · 1 range

Open complete file

43
44 // register adds a metric definition to the list of pending metric definitions. This method is thread-safe.
45 > func (c *registry) register(d metricDefinition) { registry.go
46 > c.Lock()
47 > defer c.Unlock()
48 > c.definitions = append(c.definitions, d)
49 > }
50
51 // buildCatalog builds a catalog from the list of pending metric definitions. It is safe to call this method multiple
go.temporal.io/server/common/persistence/persistence-tests/persistence_test_base.go 5 covered LOC · 1 range

Open complete file

437 }
438
439 > func GenerateRandomDBName() string { persistence_test_base.go
440 > uuidPart := strings.ReplaceAll(uuid.NewString(), "-", "")
441 > // Keep generated DB names short enough for Cassandra keyspaces after XDC tests append cluster suffixes.
442 > return "test_" + uuidPart[:24]
443 > }
444
445 func timeComparator(t1, t2 time.Time, timeTolerance time.Duration) bool {
go.temporal.io/server/common/persistence/sql/sqlplugin/mysql/plugin.go 5 covered LOC · 1 range

Open complete file

24 var _ sqlplugin.Plugin = (*plugin)(nil)
25
26 > func init() { plugin.go
27 > sql.RegisterPlugin(PluginName, &plugin{
28 > queryConverter: &queryConverter{},
29 > })
30 > }
31
32 func (p *plugin) GetVisibilityQueryConverter() sqlplugin.VisibilityQueryConverter {
go.temporal.io/server/common/persistence/sql/sqlplugin/mysql/typeconv.go 4 covered LOC · 2 ranges

Open complete file

33 }
34
35 > func getMinMySQLDateTime() time.Time { typeconv.go
36 > t, err := time.Parse(time.RFC3339, "1000-01-01T00:00:00Z")
37 > if err != nil {
38 return time.Unix(0, 0).UTC()
39 }
40 > return t.UTC() typeconv.go
41 }
go.temporal.io/server/common/persistence/sql/sqlplugin/postgresql/typeconv.go 4 covered LOC · 2 ranges

Open complete file

35 }
36
37 > func getMinPostgreSQLDateTime() time.Time { typeconv.go
38 > t, err := time.Parse(time.RFC3339, "1000-01-01T00:00:00Z")
39 > if err != nil {
40 return time.Unix(0, 0).UTC()
41 }
42 > return t.UTC() typeconv.go
43 }
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/driver.go 4 covered LOC · 2 ranges

Open complete file

17 var sqlTableExistsRegex = regexp.MustCompile(sqlTableExistsPattern)
18
19 > func (*db) IsDupEntryError(err error) bool { driver.go
20 > var sqlErr *sqlite.Error
21 > if errors.As(err, &sqlErr) {
22 return sqlErr.Code()&sqlConstraintCodes != 0
23 }
24
25 > return false driver.go
26 }
27
go.temporal.io/server/common/persistence/sql/sqlplugin/sqlite/typeconv.go 4 covered LOC · 2 ranges

Open complete file

33 }
34
35 > func getMinSQLiteDateTime() time.Time { typeconv.go
36 > t, err := time.Parse(time.RFC3339, "1000-01-01T00:00:00Z")
37 > if err != nil {
38 return time.Unix(0, 0).UTC()
39 }
40 > return t.UTC() typeconv.go
41 }
go.temporal.io/server/common/util/util.go 4 covered LOC · 1 range

Open complete file

68
69 // InverseMap creates the inverse map, ie., for a key-value map, it builds the value-key map.
70 > func InverseMap[M ~map[K]V, K, V comparable](m M) map[V]K { util.go
71 > if m == nil {
72 > return nil
73 > }
74 invm := make(map[V]K, len(m))
75 for k, v := range m {
go.temporal.io/server/service/history/api/task_category.go 4 covered LOC · 2 ranges

Open complete file

8 )
9
10 > func GetTaskCategory(categoryID int, registry tasks.TaskCategoryRegistry) (tasks.Category, error) { task_category.go
11 > category, ok := registry.GetCategoryByID(categoryID)
12 > if !ok {
13 return tasks.Category{}, serviceerror.NewInvalidArgument(
14 fmt.Sprintf("Invalid task category id: %v", categoryID),
15 )
16 }
17 > return category, nil task_category.go
18 }
go.temporal.io/server/api/persistence/v1/predicates.go-helpers.pb.go 3 covered LOC · 1 range

Open complete file

17
18 // Size returns the size of the object, in bytes, once serialized
19 > func (val *Predicate) Size() int { predicates.go-helpers.pb.go
20 > return proto.Size(val)
21 > }
22
23 // Equal returns whether two Predicate values are equivalent by recursively
go.temporal.io/server/chasm/library.go 3 covered LOC · 1 range

Open complete file

56 // tasks within the CHASM framework.
57 // The format of the returned FQN is: "libName.name"
58 > func FullyQualifiedName(libName, name string) string { library.go
59 > return libName + "." + name
60 > }
go.temporal.io/server/chasm/registrable_component.go 3 covered LOC · 1 range

Open complete file

203 // The generated ID is used to uniquely identify components and tasks within the CHASM framework. The same FQN will
204 // always produce the same ID.
205 > func GenerateTypeID(fqn string) uint32 { registrable_component.go
206 > return farm.Fingerprint32([]byte(fqn))
207 > }
208
209 // hasBusinessIDAlias returns true if the component has a businessID alias configured
go.temporal.io/server/common/dynamicconfig/key.go 3 covered LOC · 1 range

Open complete file

13 )
14
15 > func MakeKey(s string) Key { key.go
16 > return Key{handle: unique.Make(strings.ToLower(s))}
17 > }
18
19 func (k Key) String() string {
go.temporal.io/server/common/log/noop_logger.go 3 covered LOC · 1 range

Open complete file

10
11 // NewNoopLogger return a noopLogger
12 > func NewNoopLogger() *noopLogger { noop_logger.go
13 > return &noopLogger{}
14 > }
15
16 func (n *noopLogger) Debug(string, ...tag.Tag) {}
go.temporal.io/server/common/payload/payload.go 3 covered LOC · 1 range

Open complete file

30 }
31
32 > func Encode(value any) (*commonpb.Payload, error) { payload.go
33 > return defaultDataConverter.ToPayload(value)
34 > }
35
36 func Decode(p *commonpb.Payload, valuePtr any) error {
go.temporal.io/server/common/persistence/nosql/nosqlplugin/cassandra/translator/translator_plugin.go 3 covered LOC · 1 range

Open complete file

22 // RegisterPlugin adds an auth plugin to the plugin registry
23 // it is only safe to use from a package init function
24 > func RegisterTranslator(name string, plugin TranslatorPlugin) { translator_plugin.go
25 > translators[name] = plugin
26 > }
27
28 func LookupTranslator(name string) (TranslatorPlugin, error) {
go.temporal.io/server/common/persistence/persistence_rate_limited_clients.go 3 covered LOC · 1 range

Open complete file

go.temporal.io/server/common/resolver/noop_resolver.go 3 covered LOC · 1 range

Open complete file

6 )
7
8 > func NewNoopResolver() *NoopResolver { noop_resolver.go
9 > return &NoopResolver{}
10 > }
11
12 func (c *NoopResolver) Resolve(service string) []string {
go.temporal.io/server/common/tasktoken/serializer.go 3 covered LOC · 1 range

Open complete file

9
10 // NewSerializer creates a new instance of Serializer
11 > func NewSerializer() *Serializer { serializer.go
12 > return &Serializer{}
13 > }
14
15 func (s *Serializer) Serialize(taskToken *tokenspb.Task) ([]byte, error) {
go.temporal.io/server/service/history/queues/errors/errors.go 3 covered LOC · 1 range

Open complete file

39
40 // NewUnprocessableTaskError returns a new UnprocessableTaskError from given message.
41 > func NewUnprocessableTaskError(message string) *UnprocessableTaskError { errors.go
42 > return &UnprocessableTaskError{Message: message}
43 > }
44
45 func (e UnprocessableTaskError) Error() string {
go.temporal.io/server/service/history/tasks/workflow_task.go 3 covered LOC · 1 range

Open complete file

51 }
52
53 > func (d *WorkflowTask) GetCategory() Category { workflow_task.go
54 > return CategoryTransfer
55 > }
56
57 func (d *WorkflowTask) GetType() enumsspb.TaskType {
go.temporal.io/server/common/persistence/client/fx.go 2 covered LOC · 1 range

Open complete file

224 }
225
226 > func managerProvider[T persistence.Closeable](newManagerFn func(Factory) (T, error)) func(Factory, fx.Lifecycle) (T, error) { fx.go
227 > return func(f Factory, lc fx.Lifecycle) (T, error) {
228 manager, err := newManagerFn(f) // passing receiver (Factory) as first argument.
229 if err != nil {
go.temporal.io/server/common/aggregate/noop_moving_window_average.go 1 covered LOC · 1 range

Open complete file

7 )
8
9 > func newNoopMovingWindowAverage() *noopMovingWindowAverage { return &noopMovingWindowAverage{} } noop_moving_window_average.go
10
11 func (a *noopMovingWindowAverage) Record(_ int64) {}
go.temporal.io/server/common/metrics/noop_impl.go 1 covered LOC · 1 range

Open complete file

15 )
16
17 > func newNoopMetricsHandler() *noopMetricsHandler { return &noopMetricsHandler{} } noop_impl.go
18
19 // WithTags creates a new MetricProvder with provided []Tag
go.temporal.io/server/common/persistence/noop_health_signal_aggregator.go 1 covered LOC · 1 range

Open complete file

11 )
12
13 > func newNoopSignalAggregator() *noopSignalAggregator { return &noopSignalAggregator{} } noop_health_signal_aggregator.go
14
15 func (a *noopSignalAggregator) Start() {}