From: Jeff C. <jef...@av...> - 2003-01-14 21:44:59
|
Hello all. My name is Jeff and I work with Glenn Shute at Altavista. He suggested I drop a note here about something I've been looking at in WebMacro. We're running WM 1.0.1 still, so maybe this is already fixed or a warning has been put out already. I observed during some tests (memory profiling) that some templates were being parsed repeatedly when they should have already been cached. I checked my cache timeout settings in WebMacro.defaults. They are: SMapCacheManager.*.ExpireTime: 600000 SMapCacheManager.*.ReloadOnChange: false So, I would expect that once a template was acquired successfully, it should be cached for 10 minutes. Looking more deeply, it appears that the TimeLoop class that is responsible for purging the template cache of stale templates has 600 periods of 1000ms each (again, 10 minutes). Setting LogLevel.resource to DEBUG, I observed that the template would be aquired, cached and subsequently deleted from the cache almost right away. It appears that when the period to run the task in is being computed in my particular case, it is possible that the period in question is the one that is about to run right at that moment. This would only happen in the case where the periods corresponded to the ExpireTime, due to modulo arithmetic. Eventually, if I continue reloading the page, all the templates get cached successfully. This kind of error is a subtle timing issue, so the results are different every time. In our case, we can change the ExpireTime to 599000 and that seems to fix it. I understand that this isn't really a bug. Just thought you might be interested. Regards, Jeff Cowan Altavista Company email: jeff <d o t> cowan <a t> av <d o t> com |