Critical Memory heap size issue

47 views
Skip to first unread message

Yogesh Patel

unread,
Apr 7, 2012, 2:04:40 PM4/7/12
to GWTEventService
We are using GWTEventService 1.1.1, its working great. But currently
we are facing critical issue, the heap usage fluctuates 200 - 400MB
every 2 - 3 seconds and drops with each minor GC before pulsing back
up, indicating that there is some retention of data in the heap.

We tried to debug it to find root cause of it. We found the event
object we are pushing by addEvent() add this object in queue for all
users (sessions). But we are not sure why its keeping it in queue, and
it causes critical production issue.

Is there any issue in our event service configuration, here is it:

----------------------------------------------
# Configuration for GWTEventService

# Time to wait at maximum (canceled when an event occurred)
time.waiting.max=1860000

# Time to wait at minimum (even when events have already occurred)
time.waiting.min=0

# Time till timeout (when the time is reached, the user will be
removed from listening for events)
time.timeout=1800000
---------------------------------------------------

Please help us, its very critical for our app.



Nova

unread,
Apr 14, 2012, 1:29:42 PM4/14/12
to GWTEventService
Hi,

The event is hold in a queue for every user of the according domain,
but the event should be automatically removed from the queue when the
user receives the event. This is an atomic operation. The queue is
required to keep all unreceived events also when a connection cycle
occurs.

Example:
1.) The user/client receives an event
2.) The event is returned with the response of the connection
(connection cycle starts)
3.) Re-schedule the connection (connection cycle ends)

When an event occurred while the connection cycle is executed (between
step 2 and 3) the event would get lost without a queue.

A possible reason could be that the listeners are not removed
correctly when the domain gets unimportant or a user leaves your
application, but actually the inactive users and queues should be
removed every 30 minutes when there is no activity (time.timeout).

Is it possible to provide some data about your application (amount of
users and amount of events per day)? That could help to locate the
error.

Regards,

Sven S.
Reply all
Reply to author
Forward
0 new messages