temporalio/temporal · error
expected events [%v-%v] but got events [%v-%v] of length %v:
Error message
expected events [%v-%v] but got events [%v-%v] of length %v: isFirstPage=%v,isLastPage=%v,pageSize=%v
What it means
Error "expected events [%v-%v] but got events [%v-%v] of length %v: isFirstPage=%v,isLastPage=%v,pageSize=%v" thrown in temporalio/temporal.
Source
Thrown at service/history/api/get_history_util.go:505
}
if !isLastPage {
// estimate lastEventID based on pageSize. This is a lower bound
// since the persistence layer counts "batch of events" as a single page
expectedLastEventID = expectedFirstEventID + int64(pageSize) - 1
}
nExpectedEvents := expectedLastEventID - expectedFirstEventID + 1
if firstEvent.GetEventId() == expectedFirstEventID &&
((isLastPage && lastEvent.GetEventId() == expectedLastEventID && int64(eventCount) == nExpectedEvents) ||
(!isLastPage && lastEvent.GetEventId() >= expectedLastEventID && int64(eventCount) >= nExpectedEvents)) {
return nil
}
return softassert.UnexpectedDataLoss(logger,
"Incomplete history",
fmt.Errorf("expected events [%v-%v] but got events [%v-%v] of length %v: isFirstPage=%v,isLastPage=%v,pageSize=%v",
expectedFirstEventID,
expectedLastEventID,
firstEvent.GetEventId(),
lastEvent.GetEventId(),
eventCount,
isFirstPage,
isLastPage,
pageSize))
}
// ProcessInternalRawHistory processes history in the field response.History.
// History service can send history events in response.History.Events. In that case, process the events and move them
// to response.Response.History. Usually this is done by history service but when history.sendRawHistoryBetweenInternalServices
// is enabled, history service sends raw history events to frontend without any processing.
func ProcessInternalRawHistory(
requestContext context.Context,
saProvider searchattribute.Provider,
saMapperProvider searchattribute.MapperProvider,View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at service/history/api/get_history_util.go:505 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/8855c051f225ba50.
Report an issue: GitHub.