Skip to content

Event Stream API: Dysfunctional "queue" Parameter  #9957

@oxzi

Description

@oxzi

Describe the bug

The Icinga 2 API Event Stream documentation states that the required queue parameter used to subscribe to the Event Stream must have an "[u]nique queue name [and] [m]ultiple HTTP clients can use the same queue as long as they use the same event types and filter".

However, currently there is no functionality bound to the queue parameter next to a check for its presence.

String queueName = HttpUtility::GetLastParameter(params, "queue");
if (queueName.IsEmpty()) {
HttpUtility::SendJsonError(response, params, 400, "'queue' query parameter is required.");
return true;
}

It seems like it's logic was removed in #7088, especially 81713d0. Within this PR, the change regarding queue was noted, but no further decisions were made.

To Reproduce

n/a

Expected behavior

I would expect the documentation to match the actual logic.

As I recently started using the Event Stream API a lot, I relied on the documented behavior, but, fortunately, did not ran in any errors - or at least non I know of. Thus, if the uniqueness constraint is not enforced anyway, maybe drop the whole parameter or change the code again to match the documented restrictions. As I myself do not know Icinga 2's internal well enough, I cannot say what would be best.

Screenshots

n/a

Your Environment

n/a

Additional context

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions