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 issue.
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.

Cheers
Jan
--



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
--



Reply via email to