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