lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@lucene.com>
Subject Re: File timestamps
Date Thu, 16 Oct 2003 20:29:32 GMT
I think I'm okay with this one now.  +1

Why 1500 and not 1000?

Doug

Hani Suleiman wrote:
> Hrm, my attachment got chewed up, so I'm putting it inline:
> 
> Index: src/java/org/apache/lucene/index/IndexWriter.java
> ===================================================================
> RCS file: 
> /home/cvspublic/jakarta-lucene/src/java/org/apache/lucene/index/IndexW
> riter.java,v
> retrieving revision 1.16
> diff -u -r1.16 IndexWriter.java
> --- src/java/org/apache/lucene/index/IndexWriter.java   25 Sep 2003 
> 22:01:51 -00
> 00      1.16
> +++ src/java/org/apache/lucene/index/IndexWriter.java   6 Oct 2003 
> 05:19:47 -000
> 0
> @@ -296,7 +296,8 @@
>                segmentInfos.info(0).dir != directory))) {
>        int minSegment = segmentInfos.size() - mergeFactor;
>        mergeSegments(minSegment < 0 ? 0 : minSegment);
> -    }
> +    }
> +    directory.touchFile("segments");
>    }
> 
>    /** Merges all segments from an array of indexes into this index.
> Index: src/java/org/apache/lucene/store/FSDirectory.java
> ===================================================================
> RCS file: 
> /home/cvspublic/jakarta-lucene/src/java/org/apache/lucene/store/FSDire
> ctory.java,v
> retrieving revision 1.21
> diff -u -r1.21 FSDirectory.java
> --- src/java/org/apache/lucene/store/FSDirectory.java   25 Sep 2003 
> 21:50:11 -00
> 00      1.21
> +++ src/java/org/apache/lucene/store/FSDirectory.java   6 Oct 2003 
> 05:19:47 -000
> 0
> @@ -205,7 +205,10 @@
>    /** Set the modified time of an existing file to now. */
>    public void touchFile(String name) throws IOException {
>      File file = new File(directory, name);
> -    file.setLastModified(System.currentTimeMillis());
> +    long oldModified = file.lastModified();
> +    long now = System.currentTimeMillis();
> +    long latest = oldModified > now ? oldModified : now;
> +    file.setLastModified(latest + 1500);
>    }
> 
>    /** Returns the length in bytes of a file in the directory. */
> 
> On Monday, October 6, 2003, at 01:21 AM, Hani Suleiman wrote:
> 
>> This conversation seems to have stalled a bit. So for those having the 
>> problem, my proposed patch is included. Please do test and let me know 
>> you still have problems with lock files not going away or any other 
>> reader/writer conflicts.
>>
>> This handles the situation by always incrementing the timestamp, with 
>> the disadvantage that you might end up with files (the segments file, 
>> in practice) sometimes having a timestamp in the future. The testsuite 
>> on OSX consistently passes with this patch applied.
>>
>> What's the verdict on this being committed?
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Mime
View raw message