temporalio/temporal · error

task key ID must >= 0, got %v

Error message

task key ID must >= 0, got %v

What it means

Error "task key ID must >= 0, got %v" thrown in temporalio/temporal.

Source

Thrown at service/history/tasks/key.go:50

		FireTime: DefaultFireTime,
		TaskID:   taskID,
	}
}

func NewKey(fireTime time.Time, taskID int64) Key {
	return Key{
		FireTime: fireTime,
		TaskID:   taskID,
	}
}

func ValidateKey(key Key) error {
	if key.FireTime.UnixNano() < defaultFireTimeUnixNano {
		return fmt.Errorf("task key fire time must have unix nano value >= 0, got %v", key.FireTime.UnixNano())
	}

	if key.TaskID < 0 {
		return fmt.Errorf("task key ID must >= 0, got %v", key.TaskID)
	}

	return nil
}

func (left Key) CompareTo(right Key) int {
	if left.FireTime.Before(right.FireTime) {
		return -1
	} else if left.FireTime.After(right.FireTime) {
		return 1
	}

	if left.TaskID < right.TaskID {
		return -1
	} else if left.TaskID > right.TaskID {
		return 1
	}
	return 0

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at service/history/tasks/key.go:50 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01). Data as JSON: /api/errors/c523284e3f8dfb29. Report an issue: GitHub.