> 
> I suggest that we don't register them at StoreJanitor by 
> default anymore but 
> make it configureable for users who rely on it in their custom Store 
> implementations/configurations.

+1

> 
> AFAIU, StoreJanitor only runs if at least one store is 
> registered so we don't 
> have to remove it.
> 
> >>   - fix EventRegistry
> > 

</snip>

> 
> I have to learn more about the EventRegistry in order to 
> comment on your 
> suggestions.

I will mail tonight or tomorrow morning all ins and outs, pros and cons (I know 
of at least) of the current
eventRegistry and my suggested (implemented) fix (though we have to discuss 
wether I can get it to work for EHCache and wether it needs to be 
diskpersistent between JVM restarts)

> 
> > 4) you have a memory leak in some custom component (a 
> little vague yes :-) )
> > ....etc
> 
> hehe, if we can implement an algorithm that can provide such 
> analysis reliably, 
> why not ;-)

I think this is extremely hard. Not for the pipeline caches because they store 
the response in byte[], but for continuations, internal component maps (for 
example i18n resource bundles I think, compiled jx), memory stores which 
contain any complex non serializable objects, I think it is impossible to know 
the amount of memory. I test these things the most dumb possible way you can 
imagine: I crawl my site, and look in status page what happens. I have
many stores in my status page. I have a clear link for each seperate store, and 
I look at the memory which gets
freed when clearing one store. This gives me a heuristic measurement of how 
large my stores are and should be configured

> 
> Are you suggesting some kind of online monitor? I think 
> having a seperate 
> component would be better than merging it into StoreJanitor. 
> This component 
> could also be made available as MBean.

See above, very complex I think...and if we fix the standard things that it is 
harder for users to 
get bugged by the StoreJanitor, and they want to take it to the next level, 
there are always things
like yourkit profiler. But, perhaps I am not ambitious enough now :-) 
> 

> 
> yes please, I would be interested in more comments too! Are 

more comments like in wiki or in the cocoon.xconf more comment for different 
configurations? 
I can try to write extended documentation on what IMO is best for 
configuration, and "tricks" to 
avoid the StoreJanitor mechanism

> Ard and I right that 
> we shouldn't register EHDefaultStore and MRUMemoryStore at 
> StoreJanitor anymore 
> by default and make it configureable instead?

In principle, you could see the StoreJanitor as a real last resort (but IMO, it 
will never actually help). 
The StoreJanitor might still run, and give proper warnings when low on memory. 
Configuring your stores correctly
(and making sure no binary files of many Mb's end up in it), and certainly 
having the maxdiskelements 
configured should do the trick! Not running the StoreJanitor when JVM is low, 
will result in a little faster OOM,
but in my opinion, it differs not much. I also think, the maxdiskelements 
should have a sensible default, which
should be less then indefinitely (something like 30.000-50.000 should cover I 
think almost everybodies apps)

> 
> > Ard
> > 

> 
> the formatting is okay now, but it seems that your mails 
> still don't set the 
> in-reply-to header correctly.

Hmmm, I will start using Thunderbird on short notice (not yet today :-) )

> 
> -- 
> Reinhard Pötz           Independent Consultant, Trainer & (IT)-Coach 
> 
> {Software Engineering, Open Source, Web Applications, Apache Cocoon}
> 
>                                         web(log): http://www.poetz.cc
> --------------------------------------------------------------------
> 

Reply via email to