MCPcopy Create free account
hub / github.com/temporalio/temporal / validateTaskRange

Function validateTaskRange

common/persistence/execution_manager.go:1326–1356  ·  view source on GitHub ↗
(
	taskCategoryType tasks.CategoryType,
	minTaskKey tasks.Key,
	maxTaskKey tasks.Key,
)

Source from the content-addressed store, hash-verified

1324}
1325
1326func validateTaskRange(
1327 taskCategoryType tasks.CategoryType,
1328 minTaskKey tasks.Key,
1329 maxTaskKey tasks.Key,
1330) error {
1331 minTaskIDSpecified := minTaskKey.TaskID != 0
1332 minFireTimeSpecified := !minTaskKey.FireTime.IsZero() && !minTaskKey.FireTime.Equal(tasks.DefaultFireTime)
1333 maxTaskIDSpecified := maxTaskKey.TaskID != 0
1334 maxFireTimeSpecified := !maxTaskKey.FireTime.IsZero() && !maxTaskKey.FireTime.Equal(tasks.DefaultFireTime)
1335
1336 switch taskCategoryType {
1337 case tasks.CategoryTypeImmediate:
1338 if !maxTaskIDSpecified {
1339 return serviceerror.NewInvalidArgument("invalid task range, max taskID must be specified for immediate task category")
1340 }
1341 if minFireTimeSpecified || maxFireTimeSpecified {
1342 return serviceerror.NewInvalidArgument("invalid task range, fireTime must be empty for immediate task category")
1343 }
1344 case tasks.CategoryTypeScheduled:
1345 if !maxFireTimeSpecified {
1346 return serviceerror.NewInvalidArgument("invalid task range, max fire time must be specified for scheduled task category")
1347 }
1348 if minTaskIDSpecified || maxTaskIDSpecified {
1349 return serviceerror.NewInvalidArgument("invalid task range, taskID must be empty for scheduled task category")
1350 }
1351 default:
1352 return serviceerror.NewInvalidArgumentf("invalid task category type: %v", taskCategoryType)
1353 }
1354
1355 return nil
1356}
1357
1358func (m *executionManagerImpl) makeInternalChasmNodeMap(
1359 nodes map[string]*persistencespb.ChasmNode,

Callers 2

GetHistoryTasksMethod · 0.85

Calls 1

EqualMethod · 0.65

Tested by

no test coverage detected