lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Carpenter <stcarpen...@gmail.com>
Subject Re: [jira] Commented: (LUCENENET-216) FSDirectory.Sync Fix to Ensure Flush to Disk
Date Tue, 10 Nov 2009 16:05:11 GMT
That may be possible in 3.0 (or whenever strict conversion from the
Java source is no longer necessary) but until then it would be nice if
2.9 ran on Mono.

Sean Carpenter

On Tue, Nov 10, 2009 at 10:59 AM, Nicholas Paldino [.NET/C# MVP]
<casperOne@caspershouse.com> wrote:
>        I disagree, since compile time switches seem to be unfavorable
> moving forward (based on the comments), the alternative that would satisfy
> both concerns is to have a setting which indicates the Type which implements
> an interface which will perform the flush on a FileStream instance.  If the
> setting is null, have a default implementation which resorts to the native
> API call.
>
>        Then the Mono crowd can then write their own hook for this
> functionality and set the setting in the config file.
>
>                - nick
>
> -----Original Message-----
> From: Sean Carpenter [mailto:stcarpenter@gmail.com]
> Sent: Tuesday, November 10, 2009 10:27 AM
> To: lucene-net-dev@incubator.apache.org
> Subject: Re: [jira] Commented: (LUCENENET-216) FSDirectory.Sync Fix to
> Ensure Flush to Disk
>
> I think conditional compilation will be the solution for anything that
> requires P/Invokes (at least for now).
>
> Sean Carpenter
>
> On Tue, Nov 10, 2009 at 10:07 AM, Ben Martz <benmartz@gmail.com> wrote:
>> P/invokes are unsupported in mono because the target platform dll only
>> exists on Windows so there's nothing to thunk to on Linux, Mac OS X and
> the
>> iPhone OS. :(
>>
>> Sent from my iPhone
>>
>> On Nov 10, 2009, at 5:11, "George Aroush" <george@aroush.net> wrote:
>>
>>> This is good to know.  How about code like this:
>>>
>>>   [System.Runtime.InteropServices.DllImport("kernel32")]
>>>   public static extern int
>>> FlushFileBuffers(Microsoft.Win32.SafeHandles.SafeFileHandle
>>> SafeFileHandle);
>>>
>>> Will this work with Mono?
>>>
>>> -- George
>>>
>>> -----Original Message-----
>>> From: Sean Carpenter [mailto:stcarpenter@gmail.com]
>>> Sent: Tuesday, November 10, 2009 7:26 AM
>>> To: lucene-net-dev@incubator.apache.org
>>> Subject: Re: [jira] Commented: (LUCENENET-216) FSDirectory.Sync Fix to
>>> Ensure Flush to Disk
>>>
>>> I've done some work with Lucene.Net on Mono, so keeping it running
>>> there is important to me.  As for issues related to the future move to
>>> .Net 3.5, Mono has support for 3.5 including LINQ, so that shouldn't
>>> be a concern.  The P/Invokes are the biggest concern to me.
>>>
>>> Sean Carpenter
>>>
>>> On Tue, Nov 10, 2009 at 12:44 AM, Michael Garski (JIRA) <jira@apache.org>
>>> wrote:
>>>>
>>>>   [
>>>
>>>
>>>
> https://issues.apache.org/jira/browse/LUCENENET-216?page=com.atlassian.jira.
>>>
>>>
> plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775305#acti
>>> on_12775305 ]
>>>>
>>>> Michael Garski commented on LUCENENET-216:
>>>> ------------------------------------------
>>>>
>>>> Sounds like a good course of action for now.  Hopefully some of the Mono
>>>
>>> Lucene.Net users will see this thread and chime in.
>>>>
>>>> I'll create a new patch with conditional compilation and with Nick's
>>>
>>> suggestion on the mailing list earlier regarding security.
>>>>
>>>>> FSDirectory.Sync Fix to Ensure Flush to Disk
>>>>> --------------------------------------------
>>>>>
>>>>>                Key: LUCENENET-216
>>>>>                URL: https://issues.apache.org/jira/browse/LUCENENET-216
>>>>>            Project: Lucene.Net
>>>>>         Issue Type: Bug
>>>>>           Reporter: Michael Garski
>>>>>        Attachments: FSDirectory.Sync.patch
>>>>>
>>>>>
>>>>> DIGY and Doug discussed this issue during the 2.9 port, and this is a
>>>
>>> patch to give 2.9 the expected behavior of actually ensuring the OS
>>> flushes
>>> it's buffers to disk.  DIGY suggested using the kernel32 method
>>> FlushFileBuffers, and after investigation he was correct!
>>>  FileStream.Flush
>>> doesn't do that - the OS could still be caching it.
>>>>
>>>> --
>>>> This message is automatically generated by JIRA.
>>>> -
>>>> You can reply to this email to add a comment to the issue online.
>>>>
>>>>
>>>
>>
>

Mime
View raw message