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.