esl / MongooseIM

MongooseIM is Erlang Solutions' robust, scalable and efficient XMPP server, aimed at large installations. Specifically designed for enterprise purposes, it is fault-tolerant and can utilise the resources of multiple clustered machines.
Other
1.67k stars 427 forks source link

MUCLight - Discover groups not working #1089

Closed vickydhas closed 7 years ago

vickydhas commented 7 years ago

MongooseIM version: 2.0.0 Installed from: gitHub Erlang/OTP version: 18

Describe the issue.

I am trying to discover groups in local machine I do get the list when smaller number of groups.

If I try to return the same thing for solution deployed over AWS I get empty list.

SEND: <iq type="get" to="muclight.chat.server.com" id="fetchgroups-123" from="+6512345678@chat.server.com">
    <query
        xmlns="http://jabber.org/protocol/disco#items"/>
    </iq>

RECV: <iq
        xmlns="jabber:client" from="muclight.chat.server.com" to="+6512345678@chat.server.com/ios" id="fetchgroups-123" type="result">
        <query
            xmlns="http://jabber.org/protocol/disco#items"/>
        </iq>

Any guidance please.

fenek commented 7 years ago

MUC Light items disco query will return only groups the querying user is in. Does +6512345678@chat.server.com occupy any of the rooms in the server?

vickydhas commented 7 years ago

Hello Fenek,

As I checked using mongoose debug console for mnesia with command mnesia:dirty_all_keys(muc_light_room). I figured out that there were no rooms there so I was getting the response NULL.

But this is very strange that My rooms that were created after the cleaning of this using clear_table have also lost.

I am quite surprised if this table can get erased due to any scenario. Is there any such usecase where this table can be cleaned.

Also can you let me know as this groups can migrate to mysql as there is no provision at this moment as mentioned in MongooseIM MUCLight docs as defined.

Thanks for your kind reply.

fenek commented 7 years ago

Under normal circumstances room entries are removed only when affiliation list for a room becomes empty. There is a debug function mod_muc_light_db_mnesia:force_clear() but it's not called anywhere outside unit/integration tests.

SQL backend for MUC Light is currently under development.

vickydhas commented 7 years ago

Ok thats a great news for SQL support, I am okay for closing this issue as currently the groups remain in mnesia and are able to fetch after server restart as well.