-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
mnesia crashes when the number of rooms increases #4314
Comments
Latest version is 24.10 fyi |
@licaon-kter |
Do you mean you have a cluster of two erlang nodes? What happens if you use just 1 erlang node?
What do you mean by "copy"? How do you "copy" rooms to the database? Can you provide an example |
@badlop yes we have a of 2 pods. In case of 1 pod it works better but also crashes after increase the muc amout. The sql query we tried is:
The reason we did it because we found out that in some cases after we have a lot of rooms (4000~), the pod fell and couldn't recover |
Unfortunately, looking that the error messages, I am not able to determine what exactly the problem is in your case. For that I reason I wanted to reproduce your crash in a controlled test environment. I start a container running ecs:23.01, setup mysql database, create 9000 rooms (default options: persistent:true), restart the container, and ejabberd starts correctly. Your other configured options should not have any effect in the problem. Whatever the problem you have, you did not yet provide enough information to reproduce it. Maybe the problem is not in the raw number of rooms, but in the number of rooms and something that each room does. If you isolate the ejabberd container from the network, so no client can connect to it, does it still crash at startup?
This does not create the rooms, right? This only modifies your existing rooms. I can only test with very simple and small rooms that I create myself. Maybe the problem is triggered by rooms with more content stored, like the ones you have?
Max 5000 users in a room? and a user in 5000 different rooms? You are not using MUC for humans chatting, right? You are using MUC for clients interchanging information, right? I wonder what unexpected behaviours those clients may perform in MUC. |
I saw that for muc rooms with a few members affiliated, I could add about 26000 rooms in the DB. Regardin the following paragraph:
When I add a new row in the Rgarding the 5000 users in the rooms, most of out rooms are with 100-200 members but there are a few special rooms that hosting thousands of members. @badlop I hope that the explanation was clear enough to understand the situation. |
Environment
Configuration (only if needed): grep -Ev '^$|^\s*#' ejabberd.yml
Errors from ejabberd.log
Bug description
We have an ejabberd server running in a Kubernetes cluster with two pods (4 CPUs, 8GB RAM each). The server crashes when processing a large number of rooms, either with long subjects or no subjects. These rooms were created by copying existing rooms with different names in the MySQL database.
Steps to Reproduce:
Is there any idea what is this bug related to or how to solve it?
The text was updated successfully, but these errors were encountered: