Andre Pang | 7 Jun 2006 08:35
Picon

Re: eheap memory allocation crashes

On 26/05/2006, at 10:10 PM, Mickael Remond wrote:

> * Andre Pang <ozone <at> algorithm.com.au> [2006-05-25 10:43:31 +1000]:
>
>> Hi all,
>>
>> I'm getting crashes with ejabberd/Erlang with the following error
>> message:
>>
>>   Slogan: eheap_alloc: Cannot allocate 153052320 bytes of memory (of
>> type "heap").
>
> Did you install the Erlang supervisor patch ?
> https://support.process-one.net/doc/display/CONTRIBS/Supervisor+- 
> +Performance+improvement+for+dynamic+workers
>
> I have seen this error happen without this patch.

Hi all, just to follow up on this thread: I think we've managed to  
solve the crashing issues.  Stupidly enough, we just added more RAM  
to the machine and increased the swap space, and now it's been  
humming away perfectly.  The cause of it was that Erlang was using an  
absolute ton of memory for some processes' message queues, because  
our stress testing clients were spamming the server with a massive  
number of messages per second.  The peak memory usage goes through  
the roof for a few seconds, but quickly comes back down as the  
processes recover and start dealing with the incoming messages properly.

--

-- 
% Andre Pang : trust.in.love.to.save  <http://www.algorithm.com.au/>
(Continue reading)

Christopher Zorn | 8 Jun 2006 17:07
Picon

ejabberd_service

Hello,

I am working on switching a server from jabberd2 to ejabberd. Most
things have gone well. I ran into one problem. The problem is with
component connections. It seems I can not connect multiple components
to one port. Why is this? I really would like to be able to do this.
If you have a lot of different components then the ejabberd
configuration gets messy. This is a real negative for people wanting
to use ejabberd for more than an instant message server.

If it is possible to connect more than one component to a single port
then please let me know. I can not seem to find it on the website or
with google.

Thanks.
Magnus Henoch | 8 Jun 2006 21:58
Picon
Favicon

Re: ejabberd_service

"Christopher Zorn" <christopher.zorn <at> gmail.com> writes:

> Hello,
>
> I am working on switching a server from jabberd2 to ejabberd. Most
> things have gone well. I ran into one problem. The problem is with
> component connections. It seems I can not connect multiple components
> to one port. Why is this? I really would like to be able to do this.
> If you have a lot of different components then the ejabberd
> configuration gets messy. This is a real negative for people wanting
> to use ejabberd for more than an instant message server.
>
> If it is possible to connect more than one component to a single port
> then please let me know. I can not seem to find it on the website or
> with google.
>
> Thanks.

One advantage with the way ejabberd is doing it is that a component
can use several hostnames without needing one connection per
hostname.  Whether that usage is compliant with JEP-0114, I'm not
sure; it certainly isn't compatible with jabberd2.

It seems that it wouldn't be very hard to let the "to" attribute on
the stream header dictate the hostname used, as in jabberd2.  Here is
a completely untested patch that does that; the inclined may test it
and clean it up a bit:

Attachment (ejabberd_service.patch): text/x-patch, 1517 bytes
(Continue reading)

Christopher Zorn | 8 Jun 2006 22:28
Picon

Re: Re: ejabberd_service

On 6/8/06, Magnus Henoch <mange <at> freemail.hu> wrote:
> "Christopher Zorn" <christopher.zorn <at> gmail.com> writes:
>
> > Hello,
> >
> > I am working on switching a server from jabberd2 to ejabberd. Most
> > things have gone well. I ran into one problem. The problem is with
> > component connections. It seems I can not connect multiple components
> > to one port. Why is this? I really would like to be able to do this.
> > If you have a lot of different components then the ejabberd
> > configuration gets messy. This is a real negative for people wanting
> > to use ejabberd for more than an instant message server.
> >
> > If it is possible to connect more than one component to a single port
> > then please let me know. I can not seem to find it on the website or
> > with google.
> >
> > Thanks.
>
> One advantage with the way ejabberd is doing it is that a component
> can use several hostnames without needing one connection per
> hostname.  Whether that usage is compliant with JEP-0114, I'm not
> sure; it certainly isn't compatible with jabberd2.
>
> It seems that it wouldn't be very hard to let the "to" attribute on
> the stream header dictate the hostname used, as in jabberd2.  Here is
> a completely untested patch that does that; the inclined may test it
> and clean it up a bit:
>

(Continue reading)

Andrew Salnikov | 9 Jun 2006 02:18
Picon

mod_statsdx

I have:
FreeBSD 6.0
ejabberd 1.1.1+mod_statsdx+mod_stats2file

in ejabberd.cfg

{mod_stats2file, [{interval, 4}, {type, txt}, {basefilename, 
"/usr/local/www/data-dist/inc/jabber"}]},

The file jabber.txt has been created at start Ejabberd, but it is not updated 
more

any ideas?
Bryan Barnes | 9 Jun 2006 16:24

RE: mod_statsdx

Andrew,
	I had problems with this as well.  Badlop was able to help me
out with it, I've included his response to my problem.  Without knowing
what error you're getting I can't tell you for sure if this will help,
but hopefully this puts you on the right track.

Ah, the structure of 'sessions' table changed slightly on ejabberd
1.1.x. It's simple to fix, just edit mod_statsdx.erl and replace the
only occurrence of:
  -record(session, {usr, us, pid}).
with:
  -record(session, {sid, usr, us, priority}).

Bryan

-----Original Message-----
From: ejabberd-bounces <at> jabber.ru [mailto:ejabberd-bounces <at> jabber.ru] On
Behalf Of Andrew Salnikov
Sent: Thursday, June 08, 2006 7:19 PM
To: ejabberd <at> jabber.ru
Subject: [ejabberd] mod_statsdx

I have:
FreeBSD 6.0
ejabberd 1.1.1+mod_statsdx+mod_stats2file

in ejabberd.cfg

{mod_stats2file, [{interval, 4}, {type, txt}, {basefilename, 
"/usr/local/www/data-dist/inc/jabber"}]},
(Continue reading)

s.devrieze | 9 Jun 2006 19:09
Picon

Re: Re: ejabberd_service

>"Christopher Zorn" <christopher.zorn <at> gmail.com> writes:
>
> If it is possible to connect more than one component to a single port
> then please let me know. I can not seem to find it on the website or
> with google.

AFAIR, the method that jabberd2 is no official JEP. So, I guess it is very unlikily if support for this will be
included in the main branch until that protocol is converted to an official JEP. Maybe someone can point
this out on standards-jig?
Magnus Henoch | 9 Jun 2006 23:25
Picon
Favicon

Re: ejabberd_service

s.devrieze <at> pandora.be writes:

> AFAIR, the method that jabberd2 is no official JEP. So, I guess it
> is very unlikily if support for this will be included in the main
> branch until that protocol is converted to an official JEP. Maybe
> someone can point this out on standards-jig?

Nor is the ejabberd method an official JEP.  JEP-0114 doesn't specify
how connections from a component to a server are to be made (which
port, which component JID, whether all components can use the same
port, etc), so those things are up to the implementation.  ejabberd
implements one behaviour, and jabberd2 implements another;
compatibility between server implementations traditionally hasn't been
a goal of the standards JIG.

On to the topic; I'll compare the two methods.

ejabberd method:
 + You know in advance which JIDs the components can claim.
 + You can configure a separate password for each component.
 + You can do load balancing by connecting several component instances
   to the same port (useful for JUDs, not for transports and other
   components requiring sessions)
 +/- The component can use several JIDs at once (but JEP-0114 doesn't
   specify how to do that)
 - ejabberd doesn't check the JID claimed in the stream header.
 - You can't connect several components to a single port.
 - You have to specify component JIDs in two places - ejabberd
   configuration and component configuration.

(Continue reading)

Sander Devrieze | 10 Jun 2006 00:52
Picon

Re: Re: ejabberd_service

Op vrijdag 9 juni 2006 23:25, schreef Magnus Henoch:
> s.devrieze <at> pandora.be writes:
> > AFAIR, the method that jabberd2 is no official JEP. So, I guess it
> > is very unlikily if support for this will be included in the main
> > branch until that protocol is converted to an official JEP. Maybe
> > someone can point this out on standards-jig?
>
> Nor is the ejabberd method an official JEP.

I didn't knew that.

<snip>

> It seems to me that the best solution would be to keep the existing
> behaviour, but add two new features:
>
>  - If the "hosts" configuration directive has the value "any", use the
>    jabberd2 method instead.
>  - If it doesn't, reject connections trying to bind a non-permitted
>    JID, to ease debugging of component configurations.

Other feature suggestion:
- To also allow load balancing with components that require sessions: remember 
the IPs of the component node for each session and automagically forward to 
the right IP.

--

-- 
Mvg, Sander Devrieze.
xmpp:sander <at> devrieze.dyndns.org

(Continue reading)

Heiner Wolf | 13 Jun 2006 20:08
Picon

Sending a message/iq from a web-app

Hi,

I would like to send an iq request or a message from a PHP based web
application. I would like to avoid creating a client connection
including authentication for each message and a persistant client has
karma limits.

Is there any way to send an HTTP request to an ejabberd component,
which turns around and sends the message via xmpp? Is there such a
component? Can it be done with the HTTP polling thing?

If the answer is 'no', then: is there a guid how to write extenal
components (for ejabberd).

Regards,
hw

Gmane