couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <>
Subject Re: Custom file driver for OS X and Windows Re: CouchDB 0.9 and 1.0
Date Thu, 03 Jul 2008 08:07:15 GMT

On Jul 2, 2008, at 19:01, Damien Katz wrote:

> So erlang still has some file driver troubles. The old issue of a  
> 2gig limit is long gone, however two other issues remain:
> Erlangs built-in file api for disk sync/flush doesn't work on all  
> platforms. The main two that I know where it doesn't work are  
> windows (at least it didn't when a looked over a year ago) and OS X  
> (perhaps other BSDs?). On OS X, the fix seems to be as simple as  
> passing the F_FULLFSYNC flag to fcntl. Without this disk sync, there  
> is no way CouchDB can safely store data. This means we either need  
> the Erlang folks to fix their drivers, or create our own file driver  
> for the problem platforms. Blech.
> Windows has the same fsync problem, plus it also doesn't pass the  
> flags to sallow the renaming of our own open files, needed during  
> file compaction. Again there can be fixed in core Erlang, or our own  
> drivers.

I have forwarded this to the Erlang folks to get their insight on this  
I feel the only sensible way to fix this is to fix the file driver.


On a related note: At the Erlang eXchange last week I talked to Klacke
Wikström (the author of (d)ets, mnesia, the IO system and a lot of more
parts of core Erlang) and he mentioned a product of his where they
bypass the Erlang file driver for speed reasons completely. I don't
think this is relevant for us now, but we might want to keep in mind
that want to do the same eventually.


> On Jul 2, 2008, at 3:08 AM, Jan Lehnardt wrote:
>> Hello everybody,
>> this thread is meant to collect missing work items (features and
>> bugs) for for our 1.0 release and a discussion about how to split
>> them up between 0.9 and 1.0.
>> Take it away: Damien.
>> Cheers
>> Jan
>> --

View raw message