Graylog2 / Graylog2/graylog2-server

Surface skipped entities in content pack install result

Open
#26,774 0 comments 0 reactions 0 assignees View on GitHub
improvement triaged
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.