Skip to content

[1.x] Batch requests fully fail even if one of the feed ids is not valid / non-existing #3284

Open
@petarminchev

Description

@petarminchev

When somebody joins a video conference or doing paging, we do a batch subscribe/unsubscribe to a list of feed id / mids.
This is more efficient than doing separate subscription request for each feed and mid.

But there is a caveat/race condition, that one of the publishers can leave the room while the batch subscription is initiated / in-progress. That causes Janus to reject the whole batch subscription with a no such feed id error.

https://github.com/meetecho/janus-gateway/blob/master/src/plugins/janus_videoroom.c#L10338

In our opinion Janus should still subscribe / unsubscribe to/from the valid feed ids, and for the invalid ones the error could still be thrown separately, but they shouldn't block the valid ones. Using "continue" instead of "goto error".

Without that change the only workaround possible on the client side is to retry without the invalid feed id again when Janus returns the error. It could get a little annoying if there are 3-4 such feed ids, cause we would need to retry 3 or 4 times, since Janus returns only the first invalid id.

What do you think?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions