couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hammond <>
Subject Re: 1.0 Vote
Date Sun, 27 Jun 2010 06:10:56 GMT
On 27/06/2010 12:01 PM, Damien Katz wrote:
> Mark, looks like it's the file:sync calls. Can you try this patch?
> Index: src/couchdb/couch_file.erl
> ===================================================================
> --- src/couchdb/couch_file.erl	(revision 957790)
> +++ src/couchdb/couch_file.erl	(working copy)
> @@ -148,7 +148,7 @@
>   %%----------------------------------------------------------------------
>   sync(Filepath) when is_list(Filepath) ->
> -    {ok, Fd} = file:open(Filepath, [read, raw]),
> +    {ok, Fd} = file:open(Filepath, [write, raw]),
>       try file:sync(Fd) after file:close(Fd) end;
>   sync(Fd) ->
>       gen_server:call(Fd, sync, infinity).

I made that patch and it looked good for a while.  The 'all_docs' test 
passes, but the 'basics' test fails with the traceback at  As you will see at the end, couch itself 
stopped, so no other requests could be made.

Attempting to restart couch then failed with a similar traceback at it 
comes up -  My reading of it is that the 
DB is somehow corrupted (it can't find a valid header).  If I stop 
couch, delete all .couch files from the file-system and restart, it 
starts up fine again and re-attempting the 'basics' test does exactly 
the same thing again.

Note that all the above was after re-enabling the auth database, but I 
don't think the problem is related to that specifically.


View raw message