lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cam Bazz" <camb...@gmail.com>
Subject Re: IndexWriter commit
Date Mon, 15 Sep 2008 20:03:33 GMT
Hello Dipen,

I think what he meant is that if power is off the last transaction is
trashed, but your index is not.

Best.

On Mon, Sep 15, 2008 at 10:55 PM, Dipen <dipench@gmail.com> wrote:
> hi michael,
>  this is rather hard for me to understand, if a system loses power
> (electricity), how can it be ensured that fsync() call will happen at all,
> this commit function relies on fsync() but what if OS doesnt have time or
> power in this case to actually call fsync() and synchronize. I read about
> fsync() long time bacck and had this same question.
>
> Is there anything like ultimate transaction preservation procedure as a
> state of no power is almost unpedictable and unplannable. This is rather
> silly question I know, but just coz you mentioned and I happened to read, I
> wouldn loose this opportunity to ask this :)
>
> thanks
>
> On Tue, Sep 16, 2008 at 12:18 AM, Michael McCandless <
> lucene@mikemccandless.com> wrote:
>
>>
>> There is no difference, unless your computer/OS crashes or loses power
>> shortly after you had call the method.
>>
>> In that case, there's a big difference: commit() guarantees your index will
>> be intact (assuming the storage system holding your index was not damaged)
>> but with flush(), which doesn't sync() the index files it writes, it's
>> entirely possible that the index will become corrupt because some files were
>> still in the OS's write cache when it crashed.
>>
>> But the guarantee only holds if the underlying storage system is "honest"
>> about fsync(), ie, it truly flushes all written bytes for that file to disk
>> before returning.
>>
>> Mike
>>
>>
>> Cam Bazz wrote:
>>
>>  Hello,
>>>
>>> What is the difference between flush in <2.4 and commit?
>>>
>>> Also I have been looking over docs, and they mention commit(long) but
>>> there is no commit(long) method but only commit()
>>>
>>> Best.
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>

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


Mime
View raw message