hi

my roller site pops an error message like

org.apache.velocity.exception.MethodInvocationException: Invocation of
method 'g
etTodaysReferers' in  class
org.apache.roller.presentation.velocity.PageModel th
rew exception class java.lang.OutOfMemoryError : null

and i found there is an post before

http://www.nabble.com/Referer%27s-problems-tf1312047s12275.html#a3498051

i found there is more than 10000 spam referer too in my site.

after tracing the code, i think the problem is here

referer.vm

#macro( showReferers $max $maxWidth )
   <p>$text.get( "macro.referer.todaysHits" ) $pageModel.getDayHits()</p>
   #set( $refs = $pageModel.getTodaysReferers() )
   <ul class="rReferersList">
   #foreach( $ref in $refs )
       #if ($velocityCount <= $max)
       <li class="rReferersListItem">#refererDisplayUrl( $ref $maxWidth
true)</li>
       #end
   #end
   </ul>
#end

looks like it fetches all the referes then limit the size,
and if there are so many refere will cause the problem.

my roller version is 2.3.

koji

Reply via email to