diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/couchdb/couch_db_updater.erl | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/src/couchdb/couch_db_updater.erl b/src/couchdb/couch_db_updater.erl index bd404c64..633ae230 100644 --- a/src/couchdb/couch_db_updater.erl +++ b/src/couchdb/couch_db_updater.erl @@ -869,7 +869,12 @@ start_copy_compact(#db{name=Name,filepath=Filepath}=Db) ->      {ok, Fd} ->          couch_task_status:add_task(<<"Database Compaction">>, <<Name/binary, " retry">>, <<"Starting">>),          Retry = true, -        {ok, Header} = couch_file:read_header(Fd); +        case couch_file:read_header(Fd) of +        {ok, Header} -> +            ok; +        no_valid_header -> +            ok = couch_file:write_header(Fd, Header=#db_header{}) +        end;      {error, enoent} ->          couch_task_status:add_task(<<"Database Compaction">>, Name, <<"Starting">>),          {ok, Fd} = couch_file:open(CompactFile, [create]), | 
