Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flood of duplicate GetBreakoutJoinURL requests when breakouts are started #8234

Closed
capilkey opened this issue Oct 22, 2019 · 1 comment · Fixed by #8245
Closed

Flood of duplicate GetBreakoutJoinURL requests when breakouts are started #8234

capilkey opened this issue Oct 22, 2019 · 1 comment · Fixed by #8245
Assignees

Comments

@capilkey
Copy link
Contributor

We've seen a few times now that a server can be put under very heavy load when breakouts are started with 30+ users in a meeting. Going through the akka-apps logs shows multiple (12+) requests to get a breakout join URL for the same user and same breakout room. One meeting can generate thousands of requests and flood the server with messages to process. At the moment it's unclear if it's the server or the client causing the flood.

Two of the cases we've seen have been when the breakout rooms are configured to be "free join" and that might be a trigger to the problem, but at the moment it's unconfirmed.

We need to ensure that there is only one request made to get the join URL.

@capilkey
Copy link
Contributor Author

The culprit is this code

export default withTracker(({ breakout, mountModal, breakoutName }) => {
const isFreeJoin = breakout.freeJoin;
const { breakoutId } = breakout;
const url = getURL(breakoutId);
if (isFreeJoin && !url) {
requestJoinURL(breakoutId);
}

Because the request to get the join URL is in the Tracker it is going to run whenever and if the server is behind in messages the client will request over and over again for the same thing.

There's also a secondary issue in the component where it will request a join URL whenever the select box changes, no matter if the request was previously just made or not.

I think what we need is to only request the join URL once the user has actually selected to join the room. There's no point in requesting it early this.

@capilkey capilkey self-assigned this Oct 24, 2019
@ffdixon ffdixon changed the title There's a flood of duplicate GetBreakoutJoinURL requests when breakouts are started Flood of duplicate GetBreakoutJoinURL requests when breakouts are started Oct 24, 2019
@antobinary antobinary added this to In Review in HTML5 dev v2.2 Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
HTML5 dev v2.2
  
In Review
Development

Successfully merging a pull request may close this issue.

1 participant