Arne Claassen | 2 Nov 2008 22:29

Error during DB backup

I'm currently getting this when running backup on ejabberd:

  {error,
    {"Tab copier iteration failed",
         {error,
             {{bad_object,
                    eval_work_list},
                         "/getnotifyd/data/ejabberd/mnesia/ 
ejabberd <at> localhost/vcard.DAT"}}}}

Any suggestion for fixing this? Especially suggestions for fixing it  
without taking down the node

thanks
arne
Kevin Crosbie | 4 Nov 2008 11:45

Late unavailable presence can knock a newer session out of a chatroom

Hi,

I posted a forum message: http://www.ejabberd.im/node/3261 a few days
ago about some trouble I'm having when I get network connectivity
outages and am trying to aggressively maintain presence in muc rooms.

I just wanted to know if anybody else had any thoughts on this.

Thanks.
Jesse Thompson | 4 Nov 2008 17:07
Picon

Re: None of my Ejabberd server are able to talk to Gmail

Lionel Dricot wrote:
> Also, I would like to explain the problem to my hosting provider. But
> what does gmail do that would prevent it to connect where other servers
> don't have any problem ? Is there special ports or something ?

Google likes to pretend that it owns other domains.  You need to email
xmpp <at> google.com to have them manually configure the Google servers to
use federation for your domains.

Jesse
Attachment (smime.p7s): application/x-pkcs7-signature, 3353 bytes
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Lionel Dricot | 4 Nov 2008 17:16
Picon
Gravatar

Re: None of my Ejabberd server are able to talk to Gmail

Thanks for the information,

I've never see this information anywhere else, I wonder why it is needed. I've sent my email, I hope it will solve the problem.

But does this mean that I will have to send an email each time I add a new domain or I change a domain from one IP to another ?

Lionel, crossing his fingers...

On Tue, Nov 4, 2008 at 5:07 PM, Jesse Thompson <jesse.thompson <at> doit.wisc.edu> wrote:
Lionel Dricot wrote:
> Also, I would like to explain the problem to my hosting provider. But
> what does gmail do that would prevent it to connect where other servers
> don't have any problem ? Is there special ports or something ?

Google likes to pretend that it owns other domains.  You need to email
xmpp <at> google.com to have them manually configure the Google servers to
use federation for your domains.

Jesse

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd


_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Kevin Crosbie | 4 Nov 2008 18:53

Re: Late unavailable presence can knock a newer session out of a chatroom

Hi,

Does anybody have any feedback on this?
How does one normally follow up on something like this?   Would it be
appropriate for me to create a JIra issue?

Thanks.

Kevin Crosbie wrote:
> Hi,
>
> I posted a forum message: http://www.ejabberd.im/node/3261 a few days
> ago about some trouble I'm having when I get network connectivity
> outages and am trying to aggressively maintain presence in muc rooms.
>
> I just wanted to know if anybody else had any thoughts on this.
>
> Thanks.
> _______________________________________________
> ejabberd mailing list
> ejabberd <at> jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd
>
>   
Arne Claassen | 4 Nov 2008 19:01

Help: DB backup issue

Never saw this come through on my end, so i'm reposting it:

I'm currently getting this when running backup on ejabberd:

{error,
   {"Tab copier iteration failed",
        {error,
            {{bad_object,
                   eval_work_list},
                        "/getnotifyd/data/ejabberd/mnesia/ 
ejabberd <at> localhost/vcard.DAT"}}}}

Any suggestion for fixing this? Especially suggestions for fixing it  
without taking down the node

thanks
arne
Peter Saint-Andre | 4 Nov 2008 21:09
Favicon

Re: Late unavailable presence can knock a newer session out of a chatroom

> Kevin Crosbie wrote:
>> Hi,
>>
>> I posted a forum message: http://www.ejabberd.im/node/3261 a few days
>> ago about some trouble I'm having when I get network connectivity
>> outages and am trying to aggressively maintain presence in muc rooms.
>>
>> I just wanted to know if anybody else had any thoughts on this.

Do you want the server to be smart about knowing which rooms the old
resource was in? AFAIK ejabberd doesn't do that now, and it seems like
an odd feature to me. Is there a reason why you're logging in with the
same resource all the time? Perhaps I don't understand your scenario.

Peter

--

-- 
Peter Saint-Andre
https://stpeter.im/
Kevin Crosbie | 5 Nov 2008 09:55

Re: Late unavailable presence can knock a newer session out of a chatroom

Peter Saint-Andre wrote:
> Do you want the server to be smart about knowing which rooms the old
> resource was in? AFAIK ejabberd doesn't do that now, and it seems like
> an odd feature to me. Is there a reason why you're logging in with the
> same resource all the time? Perhaps I don't understand your scenario.
>
> Peter

Hi Peter,

Here's a scenario and the reason why I'm running into this problem.

I have a custom client that's supposed to be constantly logged into a room.
The client is aggressive about reconnecting, so it does its best to
check that it is really connected to the server by sending presence
periodically.
If there is a connectivity issue at some point, the client sees that it
can't communicate.   It does not know anything about where the socket is
broken, so it closes the old XMPP stream and socket and tries to
reconnect periodically.

When the network connection becomes active again, the client is able to
log back in.   At this point ejabberd doesn't know anything about the
old socket having been closed yet, so I guess it tries to terminate it
gracefully.   The client logs into the room as before and some time
later, ejabberd times out trying to terminate the old session, cleans up
the old session's rooms and the new session receives unavailable
presence from the room.

In http://xmpp.org/rfcs/rfc3921.html#session the protocol gives a
scenario where a session already exists for a resource and (assuming
case #1) sends a conflict stream:error to the old session, after which
it returns success to the new session.   It's not really clear what
happens to any rooms the old session was in but it appears that
terminating the old session can take time.   In ejabberd I'm finding
that after this time an unavailable presence is sent from the room for
the old session which may cause the new session to lose presence.

This doesn't seem right to me... I guess it could be solved as you said,
by making ejabberd aware of the rooms a session was in.   The other way
is to make the protocol for replacing a session be:
1. New session authenticates.
2. Any cleanup on the old session is done.   Unavailable presence is
sent to any rooms for the old session.
3. Old session is terminated gracefully.
4. Possibly in parallel to step 3 or before step 3 returns, return
success to the new session.

Kevin
Martin Langhoff | 5 Nov 2008 19:49
Picon
Gravatar

[Server-devel] Custom roster behaviour without writing your own mod_roster

Hi all!

For the OLPC School Server we are using ejabberd extensively -- so let
me preface this with a heartfelt *thanks* to all the dev team and
contributors for a fantastic piece of software.

One of the things ejabberd is doing for us is roster and presence
mgmt, which right now boils down to everyone having ' <at> all <at> '. In other
words, no roster mgmt. For many reasons, we need to start doing
something smarter. The key ones are:

 - We're starting to plan installations in very large schools (3K to 5K users)
 - We now have a group / course mgmt tool on the school server (which
can feed roster info to ejabberd).

So I'd like to start driving the rosters that ejabberd publishes for
its users. My initial problem is that I don't have erlang or ejabberd
internals knowledge. So the obvious answer (write a custom mod_roster)
falls in the very hard basket.

My immedate alternatives seem to be

 - Use mod_roster_odbc with a PostgreSQL backend (as we're using Pg
already). Does it work well? Does it scale well? How many queries to
the DB an I expect it to make? Does it behave well if an external tool
updates its tables?

 - Keep using mod_roster, and write minimal erlang to write to the
mnesia tables that mod_roster uses. Is this feasible? Advisable?

Do we have other alternatives? I am very keen on understanding
ejabberd better, and I've been reading my new Erlang book -- but at
this stage I could very well be missing something big and obvious.

RTFM pointers welcome too :-)

cheers,

martin
--
 martin.langhoff <at> gmail.com
 martin <at> laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
Mickaël Rémond | 6 Nov 2008 11:14
Favicon
Gravatar

Re: Custom roster behaviour without writing your own mod_roster

Hello Martin,

Using mod_roster_odbc should work very well in your case. I would use that approach.

Le 5 nov. 08 à 19:49, Martin Langhoff a écrit :

Hi all!

For the OLPC School Server we are using ejabberd extensively -- so let
me preface this with a heartfelt *thanks* to all the dev team and
contributors for a fantastic piece of software.

One of the things ejabberd is doing for us is roster and presence
mgmt, which right now boils down to everyone having ' <at> all <at> '. In other
words, no roster mgmt. For many reasons, we need to start doing
something smarter. The key ones are:

- We're starting to plan installations in very large schools (3K to 5K users)
- We now have a group / course mgmt tool on the school server (which
can feed roster info to ejabberd).

So I'd like to start driving the rosters that ejabberd publishes for
its users. My initial problem is that I don't have erlang or ejabberd
internals knowledge. So the obvious answer (write a custom mod_roster)
falls in the very hard basket.

My immedate alternatives seem to be

- Use mod_roster_odbc with a PostgreSQL backend (as we're using Pg
already). Does it work well? Does it scale well? How many queries to
the DB an I expect it to make? Does it behave well if an external tool
updates its tables?

- Keep using mod_roster, and write minimal erlang to write to the
mnesia tables that mod_roster uses. Is this feasible? Advisable?

Do we have other alternatives? I am very keen on understanding
ejabberd better, and I've been reading my new Erlang book -- but at
this stage I could very well be missing something big and obvious.

RTFM pointers welcome too :-)

cheers,


martin
--
martin.langhoff <at> gmail.com
martin <at> laptop.org -- School Server Architect
- ask interesting questions
- don't get distracted with shiny stuff  - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd


-- 
Mickaël Rémond



_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd

Gmane