0.9->0.10 upgrade rebuilds views rather than just updating headers
------------------------------------------------------------------

                 Key: COUCHDB-616
                 URL: https://issues.apache.org/jira/browse/COUCHDB-616
             Project: CouchDB
          Issue Type: Bug
          Components: Database Core
    Affects Versions: 0.10.1
         Environment: Linux melkjug-xen 2.6.30.1-pv #1 SMP Thu Jul 9 08:12:56 
EDT 2009 x86_64 Intel(R) Xeon(R) CPU E5430 @ 2.66GHz GenuineIntel GNU/Linux
Erlang (BEAM) emulator version 5.6.5 [source] [64-bit] [smp:2] 
[async-threads:0] [hipe]
            Reporter: Joshua Bronson


It looks like there is code that is supposed to upgrade the headers of 0.9 
views to 0.10 style when a 0.10 couch reads a 0.9 view to avoid having to 
rebuild them (see 
http://github.com/halorgium/couchdb/blob/v0.10.1/src/couchdb/couch_view_group.erl#L379).
 However, they are indeed getting rebuilt.

I have a test environment set up where I can trigger this behavior. I've added 
the debug output at http://paste.pocoo.org/show/163023/ and here is what's 
getting printed:

before upgrade_old_header
after upgrade_old_header
Pos: 0
Error: {'EXIT',{{badmatch,eof},
                [{couch_file,load_header,2},
                 {couch_file,find_header,2},
                 {couch_file,handle_call,3},
                 {gen_server,handle_msg,5},
                 {proc_lib,init_p_do_apply,3}]}}
read_header: no_valid_header
calling reset_file
truncating

For some reason the file:position(Fd, eof) call is return 0, indicating a 
0-length file, but the view file in question is 188M.

I spent a while debugging this with Jan in #couchdb today but we couldn't find 
the fix.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to