ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arun Patidar <arun.pati...@hotwax.co>
Subject Re: OFBiz OutOfMemory and stucked JobPoller issue
Date Fri, 21 Sep 2018 12:12:49 GMT
Managing of Visits and serverHit data in separate DB is very easy and will
be faster to delete old records without affecting the main DB.

A dedicated server only for processing jobs performs well as per my
experience.

Apart from this, root cause should be identified and fixed as Taher
mentioned.



Kind Regards,

Arun Patidar
Director of Information Systems

*HotWax CommerceReal OmniChannel. Real Results.*
m: +91 9827353082



On Fri, Sep 21, 2018 at 4:07 PM Giulio Speri - MpStyle Srl <
giulio.speri@mpstyle.it> wrote:

> Hi everyone,
>
> first of all, I'd like to thank you very much, for the quick response and
> the suggestions you gave me.
> We are absolutely convinced to investigate deeper into this issue and find
> the root cause, because we strongly believe in the OFBiz framework and for
> us it's becoming a core part of our business.
>
> To answer to @Arun:
> regarding the large tables sizes: at the moment we're using the Visit table
> (along with other tables) for Business Intelligence purposes, so what we
> did and what we will do, in accordance with the customer, is to keep those
> tables smaller, keeping record for the last XX days only and deleting
> everything is older than that number of days (with a scheduled weekly
> service, for example); this should keep the dimensions of those tables,
> acceptable and at the same time give good data for BI analysis.
>
> Regarding the split service configuration, instead, we have our
> installation setup in a very similar mode; we have front1 (ofbiz1 instance)
> where the JobPoller is enabled and a second front where it is disabled
> (ofbiz2 instance). Web requests, are however, served by both instances.
> Indeed the problems we're having, are limited to front1 only (but we did
> not test if, enabling the JobPoller on the front2, we obtain the same
> behaviour).
>
> @Taher We gladly accept your help proposal, so should I proceed with the
> creation of a Jira task?
>
>
> Thank you very much,
>
> Giulio
>
> Il giorno ven 21 set 2018 alle ore 11:16 Ingo Wolfmayr <
> ingo.wolfmayr@wolfix.at> ha scritto:
>
> > The root cause on my side was using a groovy service that was called
> > thousends of times with the caching of groovy scripts disabled. If you
> to a
> > heap cache analyzis check the count of groovy instances. It was fixed by
> > change the caching of groovy scripts. Maybe that saves you some time.
> >
> >
> >
> > Gesendet von meinem Windows 10-Gerät.
> >
> >
> >
> > Von: Taher Alkhateeb<mailto:slidingfilaments@gmail.com>
> > Gesendet: Freitag, 21. September 2018 11:01
> > An: OFBiz user mailing list<mailto:user@ofbiz.apache.org>
> > Betreff: Re: OFBiz OutOfMemory and stucked JobPoller issue
> >
> >
> >
> > I think it would be much better if we can find a root-cause fix instead
> of
> > altering settings. I would be interested in helping out digging out
> > whatever is causing the memory leak if Guilio is interested in opening a
> > JIRA for this and investigating further.
> >
> > On Fri, Sep 21, 2018, 11:48 AM Ingo Wolfmayr <ingo.wolfmayr@wolfix.at>
> > wrote:
> >
> > > Hallo Guilio,
> > >
> > > I had a similar issue some time ago. My fix was to enable caching for
> > > groovy scripts etc.
> > >
> > > framework/base/config/cache.properties.
> > >
> > > There is a part that starts says:  # Development Mode - comment these
> out
> > > to better cache groovy scripts, etc
> > >
> > > After checking the heat cache analysis I found that for every groovy
> > > script call a new instance of that class was created. Caching fixed it
> > > completely. Maybe it will work for you too. You will then have to clear
> > the
> > > cache in ofbiz if you change something in your groovy scripts.
> > >
> > > Best regards
> > > Ingo
> > >
> > >
> > > -----Urspr√ľngliche Nachricht-----
> > > Von: Giulio Speri - MpStyle Srl <giulio.speri@mpstyle.it>
> > > Gesendet: Donnerstag, 20. September 2018 18:43
> > > An: user@ofbiz.apache.org
> > > Betreff: OFBiz OutOfMemory and stucked JobPoller issue
> > >
> > > Hello everyone,
> > >
> > > hope you're doing good.
> > > I am writing, because I am struggling with a quite strange problem,
> over
> > > an ofbiz installation, for one of our customers.
> > > This installation is composed by two instances of OFBiz (v13.07.03),
> > > served via an Apache Tomcat webserver, along with a load balancer.
> > > The database server is MariaDB.
> > >
> > > We had the first problems, about 3 weeks ago, when suddenly, the front1
> > > (ofbiz instance 1), stopped serving web requests; front2, instead, was
> > > still working correctly.
> > >
> > > Obviously we checked the log files, and we saw that async services were
> > > failing; the failure was accompanied by this error line:
> > >
> > > *Thread "AsyncAppender-async" java.lang.OutOfMemoryError: GC overhead
> > limit
> > > exceeded*
> > >
> > > We analyzed the situation with our system specialists, and they told us
> > > that the application was highly stressing machine resources (cpu always
> > at
> > > or near 100%, RAM usage rapidly increasing), until the jvm run out of
> > > memory.
> > > This "resource-high-consumption situation", occurred only when ofbiz1
> > > instance was started with the JobPoller enabled; if the JobPoller was
> not
> > > enabled, ofbiz run with low resource usage.
> > >
> > > We then focused on the db, to check first of all the dimensions; the
> > > result was disconcerting; 45GB, mainly divided on four tables:
> SERVER_HIT
> > > (about
> > > 18 GB), VISIT (about 15 GB), ENTITY_SYNC_REMOVE (about 8 GB), VISITOR
> > > (about 2 GB).
> > > All the other tables had a size in the order of few MB each.
> > >
> > > The first thing we did, was to clear all those tables, reducing
> > > considerably the db size.
> > > After the cleaning, we tried to start ofbiz1 again, with the JobPoller
> > > component enabled; this caused a lot of old scheduled/queued jobs, to
> > > execute.
> > > Except than for the start-up time, the resource usage of the machine,
> > > stabilized around normal to low values (cpu 1-10%).
> > > Ofbiz seemed to work (web request was served), but we noticed taht the
> > > JobPoller did not schedule or run jobs, anymore.
> > > The number of job in "Pending" state in the JobSandbox entity was small
> > > (about 20); no Queued, no Failed, no jobs in other states.
> > > In addition to this, unfortunately, after few hours, jvm run out of
> > memory
> > > again.
> > >
> > > Our jvm has an heap maximum size of 20GB ( we have 32GB on the
> machine),
> > > so it's not so small, I think.
> > > The next step we're going to do is set-up locally the application over
> > the
> > > same production db to see what happens.
> > >
> > > Now that I explained the situation, I am going to ask if, in your
> > > opinion/experience:
> > >
> > > Could the JobPoller component be the root (and only) cause of the
> > > OutOfMemory of the jvm?
> > >
> > > Could this issue be related to this
> > > https://issues.apache.org/jira/browse/OFBIZ-5710?
> > >
> > > Dumping and analyzing the heap of the jvm could help in some way to
> > > understand what or who fills the memory or is this operation a waste of
> > > time?
> > >
> > > Is there something that we did not considered or missed during the
> whole
> > > process of problem analysis?
> > >
> > >
> > > I really thank you all for your attention and your help; any suggestion
> > or
> > > advice would really be greatly appreciated.
> > >
> > > Kind regards,
> > > Giulio
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Giulio Speri
> > >
> > >
> > > *Mp Styl**e Srl*
> > > via Antonio Meucci, 37
> > > 41019 Limidi di Soliera (MO)
> > > T 059/684916
> > > M 334/3779851
> > >
> > > www.mpstyle.it<http://www.mpstyle.it>
> > >
> >
>
>
> --
> Giulio Speri
>
>
> *Mp Styl**e Srl*
> via Antonio Meucci, 37
> 41019 Limidi di Soliera (MO)
> T 059/684916
> M 334/3779851
>
> www.mpstyle.it
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message