Possible Memory Issue when connecting and disconnecting frequently
------------------------------------------------------------------
Key: CDV-490
URL: https://jira.terracotta.org/jira//browse/CDV-490
Project: Community Development
Issue Type: Bug
Reporter: Taylor Gautier
Assignee: Issue Review Board
My name is James Heanly and I work as a Senior Developer at Shine Technologies
in Melbourne, Australia.
You may be aware that we are currently doing some work with Terracotta, using
it with one of our applications to provide
improved scalability / throughput of some data processing.
I have been very impressed with Terracotta, and we have big hopes and plans for
its future use in our organisation.
We currently only have one client using the application of which Terracotta
forms a core component. Recently, they have
been experiencing some memory problems with the Terracotta server JVM. The
problem appears to be that for some reason,
the Terracotta server JVM is not freeing memory, until the point that the JVM
exceeds its available memory and the
server crashes (all currently running clients therefore lose their connection
to the server).
Now, I'm not entirely sure whether you are the right person to help me, or
whether I should be posting my issue on the
Terracotta forum (please let me know if there is a more correct mechanism for
having my queries answered).
I have attached a document that shows the memory usage (via JConsole) for the
Terracotta server JVM. In my simple test
case, I have the Terracotta server running along with only one client. Now, the
client is not permanently connected to
the server. We have a shell script that starts the client (via cron) every
minute. The client connects to the Terracotta
server via access to the root defined in the tc-config.xml file. It then checks
a database table to see if it has any
work to do (which in my test case it doesn't) and completes (the client JVM
terminates).
I ran this test scenario for approximately one hour, over which time the memory
usage of the Terracotta server steadily
grew. I then stopped any further execution of the client, but for some reason
the servers memory usage continued to grow.
This is where my problem lies. I was expecting the memory usage of the server
to at least plateau, or preferably, return
to a level somewhere around the usage at the startup of the server. What I am
doing wrong? Do I need to tune the
Terracotta server garbage collection? Is there some means of more cleanly
disconnecting a client from the server (ie in
our case, the server does not need to check for reconnecting clients - each
client that runs is effectively treated as a
new client)?
Any help you can provide would be greatly appreciated.
By the way, my test case was run against the latest version of Terracotta
(2.4.5). I can supply source code if required.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.terracotta.org/jira//secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev