You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Matthew Schmidt <ma...@dzone.com> on 2007/07/25 16:23:58 UTC

JRoller Blows up with Roller 3.1

Hi guys.  Since our upgrade to Roller 3.1, things have not been good in 
the land of JRoller.  The system will occasionally run for a few hours 
and then suddenly add nearly a gig of objects to the heap, all of which 
are instanly pushed to the old gen space and cannot be garbage 
collected.  Restarting the application server does not correct this 
problem, as it often comes right back immediately.  We can see nothing 
in the access logs that are different from when its running fine and 
then its suddenly not.  The search is currenly disabled, so that's not 
causing it. The referer processing is also disabled and our caches in 
Roller are not too large.  We've upgraded both Velocity and Hibernate to 
their latest released versions and that had no effect.  Looking into the 
heap dump, it seems that most of the space is in Strings, probably 
related to Velocity.  We've disabled velocity caching completely right 
now so see if that is the cause. 

Has anyone else seen anything like this?  We're running in a 1.5G heap 
and it just runs normally for a while then flakes out and then won't 
even operate normally after a restart for a while.  Eventually, enough 
restarts get is back into regular operation.  I'd appreciate any help 
you guys can give as without something, JRoller will likely plunge even 
further into dispair.

Thanks,
Matt

Re: Delete Entry have null value in entry title and entry id

Posted by he...@gsa.gov.
Yes, Dave. This is in the 3.1 code base.

-hc





"Dave" <sn...@gmail.com> 
07/26/2007 11:01 AM
Please respond to
dev@roller.apache.org


To
dev@roller.apache.org
cc

Subject
Re: Delete Entry have null value in entry title and entry id






On 7/25/07, henry.chang@gsa.gov <he...@gsa.gov> wrote:
> Bug: When deleting an entry, the "Entry Title" and "Entry ID" are
> displayed as null value.
>
> The reason is web\WEB-INF\jsps\authoring\WeblogEntryRemove.jsp loads the
> form with session scope. Change the scope to request fixes the problem. 
I
> check the bug list and could not find anybody reported this bug. Do you
> know about this bug?

I wasn't aware of that. This is in 3.1 code base?

- Dave



Re: Delete Entry have null value in entry title and entry id

Posted by Dave <sn...@gmail.com>.
On 7/25/07, henry.chang@gsa.gov <he...@gsa.gov> wrote:
> Bug: When deleting an entry, the "Entry Title" and "Entry ID" are
> displayed as null value.
>
> The reason is web\WEB-INF\jsps\authoring\WeblogEntryRemove.jsp loads the
> form with session scope. Change the scope to request fixes the problem. I
> check the bug list and could not find anybody reported this bug. Do you
> know about this bug?

I wasn't aware of that. This is in 3.1 code base?

- Dave

Re: JRoller Blows up with Roller 3.1

Posted by Matthew Schmidt <ma...@dzone.com>.
Sorry, I meant to say Allen's instructions :)

-Matt

Matthew Schmidt wrote:
> Ohh, and I think we disabled the referer processing completely as per 
> your instructions earlier off list.
>
> Anil Gangolli wrote:
>> Can you get a heap image at a point when things have gone sour?
>>
>> Do you have async referrer processing enabled?
>>
>> If you are capturing access logs, can you see if there is an increase in
>> any bot/crawler activity at the times when the heap grows?
>>
>> --a.
>>
>> Matthew Schmidt wrote:
>>> Hi guys.  Since our upgrade to Roller 3.1, things have not been good 
>>> in the land of JRoller.  The system will occasionally run for a few 
>>> hours and then suddenly add nearly a gig of objects to the heap, all 
>>> of which are instanly pushed to the old gen space and cannot be 
>>> garbage collected.  Restarting the application server does not 
>>> correct this problem, as it often comes right back immediately.  We 
>>> can see nothing in the access logs that are different from when its 
>>> running fine and then its suddenly not.  The search is currenly 
>>> disabled, so that's not causing it. The referer processing is also 
>>> disabled and our caches in Roller are not too large.  We've upgraded 
>>> both Velocity and Hibernate to their latest released versions and 
>>> that had no effect.  Looking into the heap dump, it seems that most 
>>> of the space is in Strings, probably related to Velocity.  We've 
>>> disabled velocity caching completely right now so see if that is the 
>>> cause.
>>> Has anyone else seen anything like this?  We're running in a 1.5G 
>>> heap and it just runs normally for a while then flakes out and then 
>>> won't even operate normally after a restart for a while.  
>>> Eventually, enough restarts get is back into regular operation.  I'd 
>>> appreciate any help you guys can give as without something, JRoller 
>>> will likely plunge even further into dispair.
>>>
>>> Thanks,
>>> Matt
>>
>>

Delete Entry have null value in entry title and entry id

Posted by he...@gsa.gov.
Bug: When deleting an entry, the "Entry Title" and "Entry ID" are 
displayed as null value.

The reason is web\WEB-INF\jsps\authoring\WeblogEntryRemove.jsp loads the 
form with session scope. Change the scope to request fixes the problem. I 
check the bug list and could not find anybody reported this bug. Do you 
know about this bug?

- hc

Re: JRoller Blows up with Roller 3.1

Posted by Matthew Schmidt <ma...@dzone.com>.
Ohh, and I think we disabled the referer processing completely as per 
your instructions earlier off list.

Anil Gangolli wrote:
> Can you get a heap image at a point when things have gone sour?
>
> Do you have async referrer processing enabled?
>
> If you are capturing access logs, can you see if there is an increase in
> any bot/crawler activity at the times when the heap grows?
>
> --a.
>
> Matthew Schmidt wrote:
>> Hi guys.  Since our upgrade to Roller 3.1, things have not been good 
>> in the land of JRoller.  The system will occasionally run for a few 
>> hours and then suddenly add nearly a gig of objects to the heap, all 
>> of which are instanly pushed to the old gen space and cannot be 
>> garbage collected.  Restarting the application server does not 
>> correct this problem, as it often comes right back immediately.  We 
>> can see nothing in the access logs that are different from when its 
>> running fine and then its suddenly not.  The search is currenly 
>> disabled, so that's not causing it. The referer processing is also 
>> disabled and our caches in Roller are not too large.  We've upgraded 
>> both Velocity and Hibernate to their latest released versions and 
>> that had no effect.  Looking into the heap dump, it seems that most 
>> of the space is in Strings, probably related to Velocity.  We've 
>> disabled velocity caching completely right now so see if that is the 
>> cause.
>> Has anyone else seen anything like this?  We're running in a 1.5G 
>> heap and it just runs normally for a while then flakes out and then 
>> won't even operate normally after a restart for a while.  Eventually, 
>> enough restarts get is back into regular operation.  I'd appreciate 
>> any help you guys can give as without something, JRoller will likely 
>> plunge even further into dispair.
>>
>> Thanks,
>> Matt
>
>

Re: JRoller Blows up with Roller 3.1

Posted by Allen Gilliland <al...@sun.com>.

Dave wrote:
> On 7/25/07, Allen Gilliland <al...@sun.com> wrote:
>> Without some information about what kind of traffic you are trying to
>> handle it is very tough to make recommendations.  I have experience with
>> our traffic for blogs.sun.com, but if you are getting more traffic then
>> us then any advice I can give is obviously less proven.
>>
>> IMHO you need more RAM for caching and possibly a full hardware refresh
>> including a second machine.  You said yourself that the heap fills up
>> with Strings, likely related to velocity and hence the rendering system.
>>   If this is the case then you need more RAM both for rendering and for
>> caching.  We can run BSC fine on a single machine (SunFire T2000) even
>> when restarting everything from scratch (we actually tested this
>> yesterday :( ), but we have a 3.6G jvm heap and 6G of additional memory
>> allocated to memcached for caching, so that could be the differentiating
>> factor here.
> 
> I agree that JRoller.com is probably light on hardware, RAM, number of
> Matts, etc. but what I'd like to understand is why this problem occurs
> with Roller 3.1 but was not happening with Roller 2.0. As I understand
> the situation, JRoller.com was running OK but not great before 3.1 and
> now is blowing up every X number of hours. I believe Matt is running
> with the very same hardware configuration, same database w/same
> content, same Servlet container, etc.
> 
> I wonder what has changed to cause this problem. Since the profiler
> seems to implicate Velocity, I looked at the way we used Velocity in
> 2.0 and the way we use it now and though we no longer use the
> VelocityServlet, we do use the same Velocity property settings, the
> same ResourceLoaders, etc. I can't see any significant difference.


That is definitely a good question, but a pretty large number of things 
changed between 2.x and 3.x, especially in the rendering code, so it's 
going to be hard to say exactly what changed to cause the problem.

It's also entirely possible that this was just the straw that broke the 
camel's back and this outcome was inevitable even without the upgrade. 
You said that the site was already suffering a bit before the upgrade, 
so that's already not a great sign.  We actually had a scenario like 
this happen to us on BSC for a day or two where all of a sudden one 
afternoon the site seemed to slow to a grinding halt.  It turned out 
that the problem was a mix of poor database queries by Roller and some 
inadequate database configuration work which resulted in a bunch of our 
queries becoming painfully slow once the data set had reached a certain 
size.

I don't have any answers though, it's a tough situation because you are 
mixing a lot of variables.  I still think hardware is the best place to 
start.

-- Allen


> 
> - Dave

Re: JRoller Blows up with Roller 3.1

Posted by Dave <sn...@gmail.com>.
On 7/25/07, Allen Gilliland <al...@sun.com> wrote:
> Without some information about what kind of traffic you are trying to
> handle it is very tough to make recommendations.  I have experience with
> our traffic for blogs.sun.com, but if you are getting more traffic then
> us then any advice I can give is obviously less proven.
>
> IMHO you need more RAM for caching and possibly a full hardware refresh
> including a second machine.  You said yourself that the heap fills up
> with Strings, likely related to velocity and hence the rendering system.
>   If this is the case then you need more RAM both for rendering and for
> caching.  We can run BSC fine on a single machine (SunFire T2000) even
> when restarting everything from scratch (we actually tested this
> yesterday :( ), but we have a 3.6G jvm heap and 6G of additional memory
> allocated to memcached for caching, so that could be the differentiating
> factor here.

I agree that JRoller.com is probably light on hardware, RAM, number of
Matts, etc. but what I'd like to understand is why this problem occurs
with Roller 3.1 but was not happening with Roller 2.0. As I understand
the situation, JRoller.com was running OK but not great before 3.1 and
now is blowing up every X number of hours. I believe Matt is running
with the very same hardware configuration, same database w/same
content, same Servlet container, etc.

I wonder what has changed to cause this problem. Since the profiler
seems to implicate Velocity, I looked at the way we used Velocity in
2.0 and the way we use it now and though we no longer use the
VelocityServlet, we do use the same Velocity property settings, the
same ResourceLoaders, etc. I can't see any significant difference.

- Dave

Re: JRoller Blows up with Roller 3.1

Posted by Allen Gilliland <al...@sun.com>.
Without some information about what kind of traffic you are trying to 
handle it is very tough to make recommendations.  I have experience with 
our traffic for blogs.sun.com, but if you are getting more traffic then 
us then any advice I can give is obviously less proven.

IMHO you need more RAM for caching and possibly a full hardware refresh 
including a second machine.  You said yourself that the heap fills up 
with Strings, likely related to velocity and hence the rendering system. 
  If this is the case then you need more RAM both for rendering and for 
caching.  We can run BSC fine on a single machine (SunFire T2000) even 
when restarting everything from scratch (we actually tested this 
yesterday :( ), but we have a 3.6G jvm heap and 6G of additional memory 
allocated to memcached for caching, so that could be the differentiating 
factor here.

One other thing to note which may be part of your memory problems.  The 
rendering system in Roller is designed to cache whole pages, and the 
only way to do that is to buffer the entire page while rendering 
happens.  This means that if you get a lot of traffic causing rendering 
at the same time then your heap can fill up with buffered output content 
(both pages & feeds).  So again, the reality here is that if you are 
running a large site then you need more than 1.5G of RAM, period.  I 
would be the first person to say that it's unrealistic to run a Roller 
site with 10K blogs on a single machine with only a 1.5G heap.

If you want you can completely disable the rendering caches by setting 
these properties in your config, although you're likely to run your cpu 
a bit crazy and still run out of memory ...

cache.sitewide.enabled=false
cache.weblogpage.enabled=false
cache.weblogfeed.enabled=false

-- Allen


Matthew Schmidt wrote:
> We have heap dumps both before and after it goes sour.  The primarily 
> point to a large increase in strings, with many references to velocity 
> tokens.  We didn't really notice any significant change in the traffic 
> when it happened.  It happens so fast that the system is quickly 
> non-responsive.
> 
> -Matt
> 
> Anil Gangolli wrote:
>> Can you get a heap image at a point when things have gone sour?
>>
>> Do you have async referrer processing enabled?
>>
>> If you are capturing access logs, can you see if there is an increase in
>> any bot/crawler activity at the times when the heap grows?
>>
>> --a.
>>
>> Matthew Schmidt wrote:
>>> Hi guys.  Since our upgrade to Roller 3.1, things have not been good 
>>> in the land of JRoller.  The system will occasionally run for a few 
>>> hours and then suddenly add nearly a gig of objects to the heap, all 
>>> of which are instanly pushed to the old gen space and cannot be 
>>> garbage collected.  Restarting the application server does not 
>>> correct this problem, as it often comes right back immediately.  We 
>>> can see nothing in the access logs that are different from when its 
>>> running fine and then its suddenly not.  The search is currenly 
>>> disabled, so that's not causing it. The referer processing is also 
>>> disabled and our caches in Roller are not too large.  We've upgraded 
>>> both Velocity and Hibernate to their latest released versions and 
>>> that had no effect.  Looking into the heap dump, it seems that most 
>>> of the space is in Strings, probably related to Velocity.  We've 
>>> disabled velocity caching completely right now so see if that is the 
>>> cause.
>>> Has anyone else seen anything like this?  We're running in a 1.5G 
>>> heap and it just runs normally for a while then flakes out and then 
>>> won't even operate normally after a restart for a while.  Eventually, 
>>> enough restarts get is back into regular operation.  I'd appreciate 
>>> any help you guys can give as without something, JRoller will likely 
>>> plunge even further into dispair.
>>>
>>> Thanks,
>>> Matt
>>
>>

Re: JRoller Blows up with Roller 3.1

Posted by Matthew Schmidt <ma...@dzone.com>.
We have heap dumps both before and after it goes sour.  The primarily 
point to a large increase in strings, with many references to velocity 
tokens.  We didn't really notice any significant change in the traffic 
when it happened.  It happens so fast that the system is quickly 
non-responsive.

-Matt

Anil Gangolli wrote:
> Can you get a heap image at a point when things have gone sour?
>
> Do you have async referrer processing enabled?
>
> If you are capturing access logs, can you see if there is an increase in
> any bot/crawler activity at the times when the heap grows?
>
> --a.
>
> Matthew Schmidt wrote:
>> Hi guys.  Since our upgrade to Roller 3.1, things have not been good 
>> in the land of JRoller.  The system will occasionally run for a few 
>> hours and then suddenly add nearly a gig of objects to the heap, all 
>> of which are instanly pushed to the old gen space and cannot be 
>> garbage collected.  Restarting the application server does not 
>> correct this problem, as it often comes right back immediately.  We 
>> can see nothing in the access logs that are different from when its 
>> running fine and then its suddenly not.  The search is currenly 
>> disabled, so that's not causing it. The referer processing is also 
>> disabled and our caches in Roller are not too large.  We've upgraded 
>> both Velocity and Hibernate to their latest released versions and 
>> that had no effect.  Looking into the heap dump, it seems that most 
>> of the space is in Strings, probably related to Velocity.  We've 
>> disabled velocity caching completely right now so see if that is the 
>> cause.
>> Has anyone else seen anything like this?  We're running in a 1.5G 
>> heap and it just runs normally for a while then flakes out and then 
>> won't even operate normally after a restart for a while.  Eventually, 
>> enough restarts get is back into regular operation.  I'd appreciate 
>> any help you guys can give as without something, JRoller will likely 
>> plunge even further into dispair.
>>
>> Thanks,
>> Matt
>
>

Re: JRoller Blows up with Roller 3.1

Posted by Anil Gangolli <an...@busybuddha.org>.
Can you get a heap image at a point when things have gone sour?

Do you have async referrer processing enabled?

If you are capturing access logs, can you see if there is an increase in
any bot/crawler activity at the times when the heap grows?

--a.

Matthew Schmidt wrote:
> Hi guys.  Since our upgrade to Roller 3.1, things have not been good 
> in the land of JRoller.  The system will occasionally run for a few 
> hours and then suddenly add nearly a gig of objects to the heap, all 
> of which are instanly pushed to the old gen space and cannot be 
> garbage collected.  Restarting the application server does not correct 
> this problem, as it often comes right back immediately.  We can see 
> nothing in the access logs that are different from when its running 
> fine and then its suddenly not.  The search is currenly disabled, so 
> that's not causing it. The referer processing is also disabled and our 
> caches in Roller are not too large.  We've upgraded both Velocity and 
> Hibernate to their latest released versions and that had no effect.  
> Looking into the heap dump, it seems that most of the space is in 
> Strings, probably related to Velocity.  We've disabled velocity 
> caching completely right now so see if that is the cause.
> Has anyone else seen anything like this?  We're running in a 1.5G heap 
> and it just runs normally for a while then flakes out and then won't 
> even operate normally after a restart for a while.  Eventually, enough 
> restarts get is back into regular operation.  I'd appreciate any help 
> you guys can give as without something, JRoller will likely plunge 
> even further into dispair.
>
> Thanks,
> Matt