Benjamin,
We were using Sun JDK 1.4.2_12 right after upgrading to 4.1.1 however we
were getting out of memory errors. When we were running 4.0.3 in the
past, we had similar issues with Sun VM (I think it was 1.3) and
upgraded to JRocket and the problems went away. So we followed that plan
again, upgraded to JRocket 1.4 and the memory errors went away.
I'm going to turn on the logging and see if you are getting a bunch of
field definition saves. I anxiously await 4.2.
Daryl
Benjamin Papez wrote:
Hi Daryl,
2007/2/21, Daryl Gerlach [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>:
The client was recently upgraded from 4.0.3 to 4.1.1 however, we
did not change any of our templates from 4.0.3. So if I understand
you correctly the *JahiaFieldBaseService.saveFieldDefinition *is
probably not being called very often.
As far as I remember, the field definitions are set on a per template
basis. When a template is used for the first time, the field
definitions are saved to the database, and then only in case there is
a change in the field definition. So if the saveFieldDefinition is
called often, you either for instance have two fields with the same
name, which both have a different definition, so always one overwrites
the other and you lose performance and provoke locks. Another mistake
would for instance be, that you have a dynamic default value, like the
current date or the current user, and thus the field definition will
also be changed compared to the saved value in the database.
_Questions:_
A question about turning on debug for
*JahiaFieldDefinitionsRegistry *where and how would I do that?
In log4j.xml you add
<category name="org.jahia.registries.JahiaFieldDefinitionsRegistry">
<priority value="debug"/>
</category>
This can also be done during runtime without needing to restart the
server, you only need to wait some time until the changeis recognized.
You also have to go sure that if there is a Threshold defined in that
file for the Console or the File output, it should be also DEBUG.
e.g.
<param name="Threshold" value="DEBUG" />
When is 4.2 going to be available?
Don't know yet, but we are on the home stretch.
We are getting ready to go live with a 5.0.1 site for the same
customer any day now (it was supposed to be Monday but it has been
delayed for a few days). Does 5.0.1 have the same issues or has it
already been refactored?
The code base is quite different in Jahia 5 and most of those
synchronized methods have been refactored. But the field definition
setting stayed the same, so also there it could happen that too many
calls to saveFieldDefinition will cause problems.
We do have some memory that we could add to the Java heap for this
process would that help at all?
Yes, for sure. Are you using JDK 1.4? Then you should also configure
your garbage collection policy, as the default one is no good.
We're running MySQL 5.0 on the back end, would increasing the
query cache be of any help?
Not for this particular problem - that could occur also with a larger
query cache, but if it helps to improve your overall performance, go
for it.
Regards,
Benjamin
--
Daryl Gerlach
Consultant
Collective Intelligence, Inc.
Phone: 717-545-9234
Fax: 717-545-9232
Cell: 717-649-3499