[ 
http://issues.apache.org/jira/browse/COCOON-1681?page=comments#action_12365255 
] 

Jean-Baptiste Quenot commented on COCOON-1681:
----------------------------------------------

Apparently, what is causing the two isValid() invocations is that you use 
<map:aggregate> along with a cocoon: URL.  The latter is handled by 
SitemapSource which is known to call the pipeline twice, one time for getting 
the validity, and another time for retrieving pipeline result.

So yes, we need to have a consistent way of handling isValid() in 
DirectoryGenerator.  Checking lastModified() twice is not a big problem 
provided that this check is only performed when all of the following conditions 
are met:

1) the expiry time has been reached
2) a file was removed or modified

> Generator "directory": Caching too much
> ---------------------------------------
>
>          Key: COCOON-1681
>          URL: http://issues.apache.org/jira/browse/COCOON-1681
>      Project: Cocoon
>         Type: Bug
>   Components: * Cocoon Core
>     Versions: 2.1.8, 2.1.7
>     Reporter: Antonio Fiol
>     Assignee: Jean-Baptiste Quenot
>  Attachments: DirectoryGenerator.java.patch, stack1, stack2, stack3
>
> In some cases, an update to the directory is not detected by the 
> DirectoryGenerator.
> Debugging the issue, I discovered that isValid() is called twice on the same 
> DirValidity, but it returns different values (-1 the first time, 1 the second 
> time).
> Apparently, the reason for the inconsistency would be solved by removing the 
> first of the two lines that update the expiry time in the isValid() method in 
> DirValidity, but I am not sure whether this could cause problems in other 
> places.
> A possibility would be that a DirValidity stores the fact that it already 
> detected it is invalid, and is changed so that it always return -1. But... 
> Are DirValidity objects reused? Could this change cause problems? I have not 
> tested, so I don't know.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira