Graylog2 / Graylog2/graylog2-server
Surface skipped entities in content pack install result
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## Background
Since #26581, an unresolvable optional stream reference during content pack install or upgrade (for example a `stream_title` pointing at a stream that does not exist on the target system) is skipped with a warning instead of aborting the whole install. As an interim measure the skip is logged at `INFO` in `ContentPackService`, but it is not surfaced anywhere else: `ContentPackInstallation` has no `skippedEntities` field, so the REST API and the install UI report a plain success with no indication that references were dropped.
## Proposal
`ContentPackUninstallation` already carries `skippedEntities`/`failedEntities`. Add an analogous `skippedEntities` field to `ContentPackInstallation`:
- Populate it in `ContentPackService.installContentPack` and `upgradeContentPack`, where the `SkippableEntityException` is currently caught.
- Persist it and include it in the install REST response.
- Surface it in the content pack install UI so admins can see which references were skipped.
## Related
- #26581 (introduced the skip behavior)
- #26584 (export bug that produces the dangling references)
Contributor guide
Research direction
Start with ContentPackService.installContentPack and upgradeContentPack, where SkippableEntityException is caught, and compare the skippedEntities handling in ContentPackUninstallation. Trace ContentPackInstallation through persistence, the install REST response, and the content pack install UI. Done means skipped references are retained and visible in both the API result and UI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100