Fix #25800: Agent status not showing true last 5 runs#26206
Conversation
...tadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java
Show resolved
Hide resolved
|
|
||
| /* Get the status of the external application by converting the configuration so that it can be | ||
| * served like an App configuration */ | ||
| public ResultList<PipelineStatus> listExternalAppStatus( |
There was a problem hiding this comment.
⚠️ Bug: App runs endpoint silently limited to 5 when no time range given
listExternalAppStatus delegates to the 3-arg listPipelineStatus(fqn, startTs, endTs), which now passes limit=null to the 4-arg overload. When startTs and endTs are both null (a valid API call), resolvePipelineStatusLimit returns DEFAULT_RECENT_RUN_LIMIT = 5, silently capping the external app run history.
This is an unintended behavioral regression for the /api/v1/apps/name/{name}/runs endpoint — callers that omit time range params previously received all runs but will now get at most 5.
The fix is to either have listExternalAppStatus call the 4-arg overload with an explicit null limit that bypasses the default, or adjust resolvePipelineStatusLimit so it's only applied at the ingestion pipeline status endpoint level (in the resource layer or via a dedicated flag).
Suggested fix:
public ResultList<PipelineStatus> listExternalAppStatus(
String ingestionPipelineFQN, Long startTs, Long endTs) {
// Pass Integer.MAX_VALUE to bypass the default 5-run limit
return listPipelineStatus(ingestionPipelineFQN, startTs, endTs, startTs == null && endTs == null ? null : null)
.map(...)
}
Was this helpful? React with 👍 / 👎 | Reply gitar fix to apply this suggestion
🔍 CI failure analysis for 8bedc64: The `playwright-ci-postgresql (6, 6)` CI failure consists of 1 hard failure and 4 flaky tests, all unrelated to this PR's ingestion pipeline status changes. Previous runs also showed similar unrelated flaky failures across multiple jobs.IssueThe Current Failure:
|
| Auto-apply | Compact |
|
|
Was this helpful? React with 👍 / 👎 | Gitar
|
.../components/Settings/Services/Ingestion/IngestionRecentRun/IngestionRecentRuns.component.tsx
Show resolved
Hide resolved
|



Describe your changes:
Fixes #25800
I worked on ... because ...
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
listBetweenTimestampsByOrderWithLimit()method toEntityTimeSeriesDAOfor fetching limited time-series resultsgetLatestExtensionBatch()to fetch latest statuses for multiple pipelines in single querylistPipelineStatus()to return 5 latest runs by default when no time range providedIngestionPipelineRepositoryto batch-fetch pipeline statuses for improved performancelimit=5parameter in ingestion pipeline status callsIngestionListTable,IngestionRecentRuns, and test utilities to use new limit-based APIServiceIngestion.spec.tsTestSuiteSummaryWidgetThis will update automatically on new commits.