You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Guby <gu...@gmail.com> on 2008/04/08 23:59:18 UTC
Cryptic view errors popping up
I am running CouchDB 0.7.2
I love CouchDB when it is working! And it is really powerful all the
stuff one can do with the views, but:
Every so often, more often lately, views that have worked perfectly
start returning errors... and really cryptic errors too!
If I remove the view and add it again it might work for a little
while, and then the error comes back again.
I can't really make anything out of this error message, but if any of
you do, please let me know if you understand what might be wrong!
Best regards
Sebastian
[error] [emulator] Error in process <0.10595.0> with exit value:
{function_clause,[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
{6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
{1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
[{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
{"class","Feed"},{"attributes",{obj,[{"title"...
=ERROR REPORT==== 8-Apr-2008::18:53:44 ===
Error in process <0.10595.0> with exit value: {function_clause,
[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
{6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
{1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
[{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
{"class","Feed"},{"attributes",{obj,[{"title"...
[info] [<0.10594.0>] HTTP Error (code 500): {obj,
[{error,"function_clause"},
{reason,"[{couch_btree,modify_kpnode,
\n [{btree,<0.8093.0>,\n {6790526,7},
\n #Fun<couch_view_group.11.87050650>},
\n [],\n [{insert,
{1207692728,\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
\n {obj,[{\"_id\",
\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},\n
{\"_rev\",\"346516073\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",
\n \"The Unofficial Apple Weblog
(TUAW)\"},\n {\"feed_url\",
\n \"http://www.tuaw.com/rss.xml
\"},\n {\"url\",\"http://www.tuaw.com
\"},\n {\"feed_id\",\"http://www.tuaw.com/rss.xml
\"},\n {\"description\",
\n \"The Unofficial Apple Weblog
(TUAW)\"},\n {\"last_updated
\",null},\n {\"copyright\",
\n \"Copyright 2008 Weblogs, Inc.
The contents of this feed are available for non-commercial use only.
\"},\n {\"being_checked\",false},
\n {\"generator\",
\n \"Blogsmith http://www.blogsmith.com/
\"},\n {\"image\",
\n \"http://www.tuaw.com/media/feedlogo.gif
\"},\n {\"next_check\",1207692728},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}},
\n {insert,
{1207692749,\"595F9051C34C7A0C2C383620E724813C\"},
\n {obj,[{\"_id\",
\"595F9051C34C7A0C2C383620E724813C\"},\n
{\"_rev\",\"964772635\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",\"Dagbladet.no -
kultur\"},\n {\"feed_url\",
\n \"http://www.dagbladet.no/rss/kultur/
\"},\n {\"url\",
\n \"http://www.dagbladet.no/kultur//
\"},\n {\"feed_id\",
\n \"http://www.dagbladet.no/rss/kultur/
\"},\n {\"description\",
\n \"Dagbladet.no - kultur -
export\"},\n {\"last_updated
\",null},\n {\"copyright\",null},
\n {\"being_checked\",false},
\n {\"generator\",null},
\n {\"image\",
\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
\"},\n {\"next_check\",1207692749},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}},
\n {insert,
{1207692750,\"F61BD4576778E9A2F7F6B95DD357FA66\"},
\n {obj,[{\"_id\",
\"F61BD4576778E9A2F7F6B95DD357FA66\"},\n
{\"_rev\",\"2170658173\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",\"Dagbladet.no -
sport\"},\n {\"feed_url\",
\n \"http://www.dagbladet.no/rss/sport/
\"},\n {\"url\",\"http://www.dagbladet.no/sport//
\"},\n {\"feed_id\",
\n \"http://www.dagbladet.no/rss/sport/
\"},\n {\"description\",
\n \"Dagbladet.no - sport - export
\"},\n {\"last_updated\",null},
\n {\"copyright\",null},
\n {\"being_checked\",false},
\n {\"generator\",null},
\n {\"image\",
\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
\"},\n {\"next_check\",1207692750},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}},
\n {insert,
{1207692751,\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
\n {obj,[{\"_id\",
\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},\n
{\"_rev\",\"1822787569\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",\"Dagbladet.no -
spill\"},\n {\"feed_url\",
\n \"http://www.dagbladet.no/rss/spill/
\"},\n {\"url\",\"http://www.dagbladet.no/spill//
\"},\n {\"feed_id\",
\n \"http://www.dagbladet.no/rss/spill/
\"},\n {\"description\",
\n \"Dagbladet.no - spill - export
\"},\n {\"last_updated\",null},
\n {\"copyright\",null},
\n {\"being_checked\",false},
\n {\"generator\",null},
\n {\"image\",
\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
\"},\n {\"next_check\",1207692751},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}},
\n {insert,
{1207692752,\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
\n {obj,[{\"_id\",
\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},\n
{\"_rev\",\"2346335936\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",\"Dagbladet.no\"},
\n {\"feed_url\",
\n \"http://www.dagbladet.no/rss/forsiden/
\"},\n {\"url\",\"http://www.dagbladet.no/
\"},\n {\"feed_id\",
\n \"http://www.dagbladet.no/rss/forsiden/
\"},\n {\"description\",
\"Dagbladet.no - export\"},\n
{\"last_updated\",null},\n
{\"copyright\",null},\n
{\"being_checked\",false},\n
{\"generator\",null},\n {\"image\",
\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
\"},\n {\"next_check\",1207692752},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}},
\n {insert,
{1207692753,\"214F131E43C6EA407F6C03FFF8384A56\"},
\n {obj,[{\"_id\",
\"214F131E43C6EA407F6C03FFF8384A56\"},\n
{\"_rev\",\"3771929290\"},\n {\"class\",
\"Feed\"},\n {\"attributes\",
\n {obj,[{\"title\",\"Dagbladet.no -
reise\"},\n {\"feed_url\",
\n \"http://www.dagbladet.no/rss/reise/
\"},\n {\"url\",\"http://www.dagbladet.no/reise//
\"},\n {\"feed_id\",
\n \"http://www.dagbladet.no/rss/reise/
\"},\n {\"description\",
\n \"Dagbladet.no - reise - export
\"},\n {\"last_updated\",null},
\n {\"copyright\",null},
\n {\"being_checked\",false},
\n {\"generator\",null},
\n {\"image\",
\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
\"},\n {\"next_check\",1207692753},
\n {\"was_scheduled_for_check\",
\n 1207691521}]}}]}}],
\n [],[]]},\n {couch_btree,modify_node,4},\n
{couch_btree,query_modify,4},\n {couch_btree,add_remove,3},\n
{couch_view_group,'-write_changes/4-lc$^3/1-3-',2},\n
{couch_view_group,write_changes,4},\n {couch_view_group,update_int,
2}]"}]}
Re: Cryptic view errors popping up
Posted by Guby <gu...@gmail.com>.
Thanks for the fast answers guys!
I'll try running on the trunk version locally and I'll probably apply
the patch on my server.
>Anyway, please file a bug report including the full error report:
> <https://issues.apache.org/jira/browse/COUCHDB>
> Other helpful information includes the size of your database and
the number of views you have.
Since Damien already found the error I wont be filing a bug, but I'll
happily answer the other questions.
The database is really small right now since I am recreating it all
the time.
I am currently using 9 different views, but it'll will probably be 12
or 13 be the time I am in production.
And I'll hopefully be storing a LOT of data (for me anyway...
gigabytes), if people use my system that is :)
Thanks again
Best regards
Seb
On Apr 8, 2008, at 10:12 PM, Damien Katz wrote:
> Guby, Thank you for posting this. From the stack trace you posted
> I've found the problem, the fix is now checked into the trunk.
>
> The database should be fine and after upgrading everything *should*
> work. If you don't want to upgrade to the trunk (it's more
> unstable), we can create a 0.7.3.
>
> In the meantime you can manually apply this patch:
>
> Index: couch_btree.erl
> ===================================================================
> --- couch_btree.erl (revision 646162)
> +++ couch_btree.erl (working copy)
> @@ -289,17 +289,20 @@
> ],
> {ok, ResultList, Bt}.
>
> +
> modify_kpnode(Bt, KPs, [], ResultNode, QueryOutput) ->
> % processed all queries for the current tree
> {ok, lists:reverse(ResultNode, KPs), QueryOutput, Bt};
>
> +modify_kpnode(Bt, [], Actions, [], QueryOutput) ->
> + modify_node(Bt, nil, Actions, QueryOutput);
> +
> modify_kpnode(Bt, [], Actions, [{_Key, PointerInfo} | ResultNode],
> QueryOutput) ->
> {ok, ChildKPs, QueryOutput2, Bt2} = modify_node(Bt, PointerInfo,
> Actions, QueryOutput),
> {ok, lists:reverse(ResultNode, ChildKPs), QueryOutput2, Bt2};
>
> modify_kpnode(Bt, [{Key,PointerInfo} | RestKPs], Actions,
> ResultNode, QueryOutput) ->
> - % Split the actions into two lists, queries of values less
> - % than equals, and greater than the current key
> + % Split the actions into two lists, queries of values <= and >
> than the current key
> SplitFun = fun({_ActionType, ActionKey, _ActionValue}) ->
> not less(Bt, Key, ActionKey)
> end,
>
>
>
> On Apr 8, 2008, at 6:07 PM, Guby wrote:
>> Some additional info if that might help you:
>>
>> The three views that are causing me trouble today look like this.
>> It has worked perfectly
>>
>> function(doc) {
>> if (doc.class == "Feed"){
>> map(doc.attributes.feed_id, doc);
>> }
>> }
>>
>> function(doc) {
>> if (doc.class == "Feed" && doc.attributes.being_checked == false) {
>> map(doc.attributes.next_check, doc);
>> }
>> }
>>
>> function(doc) {
>> if (doc.class == "Feed" && doc.attributes.being_checked == true) {
>> map(doc.attributes.next_check, doc);
>> }
>> }
>>
>> A typical document with class == "Feed" would look like this:
>>
>> {
>> "_id":"57FE8B5DDF5FA55537D76EEB7C4F7C62",
>> "_rev":"346516073",
>> "class":"Feed",
>> "attributes":
>> {
>> "title":"The Unofficial Apple Weblog (TUAW)",
>> "feed_url":"http:\/\/www.tuaw.com\/rss.xml",
>> "url":"http:\/\/www.tuaw.com",
>> "feed_id":"http:\/\/www.tuaw.com\/rss.xml",
>> "description":"The Unofficial Apple Weblog (TUAW)",
>> "last_updated":null,
>> "copyright":"Copyright 2008 Weblogs, Inc. The contents of this
>> feed are available for non-commercial use only.",
>> "being_checked":false,
>> "generator":"Blogsmith http:\/\/www.blogsmith.com\/",
>> "image":"http:\/\/www.tuaw.com\/media\/feedlogo.gif",
>> "next_check":1207692728,
>> "was_scheduled_for_check":1207691521
>> }
>> }
>>
>>
>> Best regards
>> Sebastian
>>
>>
>>
>> On Apr 8, 2008, at 6:59 PM, Guby wrote:
>>
>>> I am running CouchDB 0.7.2
>>> I love CouchDB when it is working! And it is really powerful all
>>> the stuff one can do with the views, but:
>>> Every so often, more often lately, views that have worked
>>> perfectly start returning errors... and really cryptic errors too!
>>> If I remove the view and add it again it might work for a little
>>> while, and then the error comes back again.
>>> I can't really make anything out of this error message, but if any
>>> of you do, please let me know if you understand what might be wrong!
>>>
>>> Best regards
>>> Sebastian
>>>
>>>
>>> [error] [emulator] Error in process <0.10595.0> with exit value:
>>> {function_clause,[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>>
>>>
>>>
>>> =ERROR REPORT==== 8-Apr-2008::18:53:44 ===
>>> Error in process <0.10595.0> with exit value: {function_clause,
>>> [{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>>
>>> [info] [<0.10594.0>] HTTP Error (code 500): {obj,
>>> [{error,"function_clause"},
>>> {reason,"[{couch_btree,modify_kpnode,
>>> \n [{btree,<0.8093.0>,\n
>>> {6790526,7},\n #Fun<couch_view_group.
>>> 11.87050650>},\n [],\n [{insert,
>>> {1207692728,\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>>> \n {obj,[{\"_id\",
>>> \"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>>> \n {\"_rev\",\"346516073\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",
>>> \n \"The Unofficial Apple
>>> Weblog (TUAW)\"},\n {\"feed_url
>>> \",\n \"http://www.tuaw.com/rss.xml
>>> \"},\n {\"url\",\"http://www.tuaw.com
>>> \"},\n {\"feed_id\",\"http://www.tuaw.com/rss.xml
>>> \"},\n {\"description\",
>>> \n \"The Unofficial Apple
>>> Weblog (TUAW)\"},\n
>>> {\"last_updated\",null},\n
>>> {\"copyright\",\n \"Copyright
>>> 2008 Weblogs, Inc. The contents of this feed are available for non-
>>> commercial use only.\"},\n
>>> {\"being_checked\",false},\n
>>> {\"generator\",\n \"Blogsmith http://www.blogsmith.com/
>>> \"},\n {\"image\",
>>> \n \"http://www.tuaw.com/media/feedlogo.gif
>>> \"},\n {\"next_check\",
>>> 1207692728},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692749,\"595F9051C34C7A0C2C383620E724813C\"},
>>> \n {obj,[{\"_id\",
>>> \"595F9051C34C7A0C2C383620E724813C\"},
>>> \n {\"_rev\",\"964772635\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> kultur\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/kultur/
>>> \"},\n {\"url\",
>>> \n \"http://www.dagbladet.no/kultur//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/kultur/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - kultur -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692749},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692750,\"F61BD4576778E9A2F7F6B95DD357FA66\"},
>>> \n {obj,[{\"_id\",
>>> \"F61BD4576778E9A2F7F6B95DD357FA66\"},
>>> \n {\"_rev\",\"2170658173\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> sport\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/sport/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/sport//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/sport/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - sport -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692750},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692751,\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>>> \n {obj,[{\"_id\",
>>> \"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>>> \n {\"_rev\",\"1822787569\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> spill\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/spill/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/spill//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/spill/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - spill -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692751},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692752,\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>>> \n {obj,[{\"_id\",
>>> \"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>>> \n {\"_rev\",\"2346335936\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no
>>> \"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/forsiden/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/forsiden/
>>> \"},\n {\"description\",
>>> \"Dagbladet.no - export\"},\n
>>> {\"last_updated\",null},\n
>>> {\"copyright\",null},\n
>>> {\"being_checked\",false},\n
>>> {\"generator\",null},\n
>>> {\"image\",\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692752},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692753,\"214F131E43C6EA407F6C03FFF8384A56\"},
>>> \n {obj,[{\"_id\",
>>> \"214F131E43C6EA407F6C03FFF8384A56\"},
>>> \n {\"_rev\",\"3771929290\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> reise\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/reise/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/reise//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/reise/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - reise -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692753},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}}],
>>> \n [],[]]},\n {couch_btree,modify_node,4},\n
>>> {couch_btree,query_modify,4},\n {couch_btree,add_remove,3},\n
>>> {couch_view_group,'-write_changes/4-lc$^3/1-3-',2},\n
>>> {couch_view_group,write_changes,4},\n {couch_view_group,update_int,
>>> 2}]"}]}
>>>
>>
>
Re: Cryptic view errors popping up
Posted by Guby <gu...@gmail.com>.
On a side note:
I didn't notice that you had gotten a new website before now! It looks
really good!
Seb
On Apr 8, 2008, at 10:12 PM, Damien Katz wrote:
> Guby, Thank you for posting this. From the stack trace you posted
> I've found the problem, the fix is now checked into the trunk.
>
> The database should be fine and after upgrading everything *should*
> work. If you don't want to upgrade to the trunk (it's more
> unstable), we can create a 0.7.3.
>
> In the meantime you can manually apply this patch:
>
> Index: couch_btree.erl
> ===================================================================
> --- couch_btree.erl (revision 646162)
> +++ couch_btree.erl (working copy)
> @@ -289,17 +289,20 @@
> ],
> {ok, ResultList, Bt}.
>
> +
> modify_kpnode(Bt, KPs, [], ResultNode, QueryOutput) ->
> % processed all queries for the current tree
> {ok, lists:reverse(ResultNode, KPs), QueryOutput, Bt};
>
> +modify_kpnode(Bt, [], Actions, [], QueryOutput) ->
> + modify_node(Bt, nil, Actions, QueryOutput);
> +
> modify_kpnode(Bt, [], Actions, [{_Key, PointerInfo} | ResultNode],
> QueryOutput) ->
> {ok, ChildKPs, QueryOutput2, Bt2} = modify_node(Bt, PointerInfo,
> Actions, QueryOutput),
> {ok, lists:reverse(ResultNode, ChildKPs), QueryOutput2, Bt2};
>
> modify_kpnode(Bt, [{Key,PointerInfo} | RestKPs], Actions,
> ResultNode, QueryOutput) ->
> - % Split the actions into two lists, queries of values less
> - % than equals, and greater than the current key
> + % Split the actions into two lists, queries of values <= and >
> than the current key
> SplitFun = fun({_ActionType, ActionKey, _ActionValue}) ->
> not less(Bt, Key, ActionKey)
> end,
>
>
>
> On Apr 8, 2008, at 6:07 PM, Guby wrote:
>> Some additional info if that might help you:
>>
>> The three views that are causing me trouble today look like this.
>> It has worked perfectly
>>
>> function(doc) {
>> if (doc.class == "Feed"){
>> map(doc.attributes.feed_id, doc);
>> }
>> }
>>
>> function(doc) {
>> if (doc.class == "Feed" && doc.attributes.being_checked == false) {
>> map(doc.attributes.next_check, doc);
>> }
>> }
>>
>> function(doc) {
>> if (doc.class == "Feed" && doc.attributes.being_checked == true) {
>> map(doc.attributes.next_check, doc);
>> }
>> }
>>
>> A typical document with class == "Feed" would look like this:
>>
>> {
>> "_id":"57FE8B5DDF5FA55537D76EEB7C4F7C62",
>> "_rev":"346516073",
>> "class":"Feed",
>> "attributes":
>> {
>> "title":"The Unofficial Apple Weblog (TUAW)",
>> "feed_url":"http:\/\/www.tuaw.com\/rss.xml",
>> "url":"http:\/\/www.tuaw.com",
>> "feed_id":"http:\/\/www.tuaw.com\/rss.xml",
>> "description":"The Unofficial Apple Weblog (TUAW)",
>> "last_updated":null,
>> "copyright":"Copyright 2008 Weblogs, Inc. The contents of this
>> feed are available for non-commercial use only.",
>> "being_checked":false,
>> "generator":"Blogsmith http:\/\/www.blogsmith.com\/",
>> "image":"http:\/\/www.tuaw.com\/media\/feedlogo.gif",
>> "next_check":1207692728,
>> "was_scheduled_for_check":1207691521
>> }
>> }
>>
>>
>> Best regards
>> Sebastian
>>
>>
>>
>> On Apr 8, 2008, at 6:59 PM, Guby wrote:
>>
>>> I am running CouchDB 0.7.2
>>> I love CouchDB when it is working! And it is really powerful all
>>> the stuff one can do with the views, but:
>>> Every so often, more often lately, views that have worked
>>> perfectly start returning errors... and really cryptic errors too!
>>> If I remove the view and add it again it might work for a little
>>> while, and then the error comes back again.
>>> I can't really make anything out of this error message, but if any
>>> of you do, please let me know if you understand what might be wrong!
>>>
>>> Best regards
>>> Sebastian
>>>
>>>
>>> [error] [emulator] Error in process <0.10595.0> with exit value:
>>> {function_clause,[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>>
>>>
>>>
>>> =ERROR REPORT==== 8-Apr-2008::18:53:44 ===
>>> Error in process <0.10595.0> with exit value: {function_clause,
>>> [{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>>
>>> [info] [<0.10594.0>] HTTP Error (code 500): {obj,
>>> [{error,"function_clause"},
>>> {reason,"[{couch_btree,modify_kpnode,
>>> \n [{btree,<0.8093.0>,\n
>>> {6790526,7},\n #Fun<couch_view_group.
>>> 11.87050650>},\n [],\n [{insert,
>>> {1207692728,\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>>> \n {obj,[{\"_id\",
>>> \"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>>> \n {\"_rev\",\"346516073\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",
>>> \n \"The Unofficial Apple
>>> Weblog (TUAW)\"},\n {\"feed_url
>>> \",\n \"http://www.tuaw.com/rss.xml
>>> \"},\n {\"url\",\"http://www.tuaw.com
>>> \"},\n {\"feed_id\",\"http://www.tuaw.com/rss.xml
>>> \"},\n {\"description\",
>>> \n \"The Unofficial Apple
>>> Weblog (TUAW)\"},\n
>>> {\"last_updated\",null},\n
>>> {\"copyright\",\n \"Copyright
>>> 2008 Weblogs, Inc. The contents of this feed are available for non-
>>> commercial use only.\"},\n
>>> {\"being_checked\",false},\n
>>> {\"generator\",\n \"Blogsmith http://www.blogsmith.com/
>>> \"},\n {\"image\",
>>> \n \"http://www.tuaw.com/media/feedlogo.gif
>>> \"},\n {\"next_check\",
>>> 1207692728},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692749,\"595F9051C34C7A0C2C383620E724813C\"},
>>> \n {obj,[{\"_id\",
>>> \"595F9051C34C7A0C2C383620E724813C\"},
>>> \n {\"_rev\",\"964772635\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> kultur\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/kultur/
>>> \"},\n {\"url\",
>>> \n \"http://www.dagbladet.no/kultur//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/kultur/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - kultur -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692749},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692750,\"F61BD4576778E9A2F7F6B95DD357FA66\"},
>>> \n {obj,[{\"_id\",
>>> \"F61BD4576778E9A2F7F6B95DD357FA66\"},
>>> \n {\"_rev\",\"2170658173\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> sport\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/sport/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/sport//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/sport/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - sport -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692750},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692751,\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>>> \n {obj,[{\"_id\",
>>> \"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>>> \n {\"_rev\",\"1822787569\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> spill\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/spill/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/spill//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/spill/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - spill -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692751},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692752,\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>>> \n {obj,[{\"_id\",
>>> \"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>>> \n {\"_rev\",\"2346335936\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no
>>> \"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/forsiden/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/forsiden/
>>> \"},\n {\"description\",
>>> \"Dagbladet.no - export\"},\n
>>> {\"last_updated\",null},\n
>>> {\"copyright\",null},\n
>>> {\"being_checked\",false},\n
>>> {\"generator\",null},\n
>>> {\"image\",\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692752},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}},
>>> \n {insert,
>>> {1207692753,\"214F131E43C6EA407F6C03FFF8384A56\"},
>>> \n {obj,[{\"_id\",
>>> \"214F131E43C6EA407F6C03FFF8384A56\"},
>>> \n {\"_rev\",\"3771929290\"},
>>> \n {\"class\",\"Feed\"},
>>> \n {\"attributes\",
>>> \n {obj,[{\"title\",\"Dagbladet.no -
>>> reise\"},\n {\"feed_url\",
>>> \n \"http://www.dagbladet.no/rss/reise/
>>> \"},\n {\"url\",\"http://www.dagbladet.no/reise//
>>> \"},\n {\"feed_id\",
>>> \n \"http://www.dagbladet.no/rss/reise/
>>> \"},\n {\"description\",
>>> \n \"Dagbladet.no - reise -
>>> export\"},\n {\"last_updated
>>> \",null},\n {\"copyright
>>> \",null},\n {\"being_checked
>>> \",false},\n {\"generator
>>> \",null},\n {\"image\",
>>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>>> \"},\n {\"next_check\",
>>> 1207692753},\n
>>> {\"was_scheduled_for_check\",
>>> \n 1207691521}]}}]}}],
>>> \n [],[]]},\n {couch_btree,modify_node,4},\n
>>> {couch_btree,query_modify,4},\n {couch_btree,add_remove,3},\n
>>> {couch_view_group,'-write_changes/4-lc$^3/1-3-',2},\n
>>> {couch_view_group,write_changes,4},\n {couch_view_group,update_int,
>>> 2}]"}]}
>>>
>>
>
Re: Cryptic view errors popping up
Posted by Damien Katz <da...@gmail.com>.
Guby, Thank you for posting this. From the stack trace you posted
I've found the problem, the fix is now checked into the trunk.
The database should be fine and after upgrading everything *should*
work. If you don't want to upgrade to the trunk (it's more unstable),
we can create a 0.7.3.
In the meantime you can manually apply this patch:
Index: couch_btree.erl
===================================================================
--- couch_btree.erl (revision 646162)
+++ couch_btree.erl (working copy)
@@ -289,17 +289,20 @@
],
{ok, ResultList, Bt}.
+
modify_kpnode(Bt, KPs, [], ResultNode, QueryOutput) ->
% processed all queries for the current tree
{ok, lists:reverse(ResultNode, KPs), QueryOutput, Bt};
+modify_kpnode(Bt, [], Actions, [], QueryOutput) ->
+ modify_node(Bt, nil, Actions, QueryOutput);
+
modify_kpnode(Bt, [], Actions, [{_Key, PointerInfo} | ResultNode],
QueryOutput) ->
{ok, ChildKPs, QueryOutput2, Bt2} = modify_node(Bt, PointerInfo,
Actions, QueryOutput),
{ok, lists:reverse(ResultNode, ChildKPs), QueryOutput2, Bt2};
modify_kpnode(Bt, [{Key,PointerInfo} | RestKPs], Actions,
ResultNode, QueryOutput) ->
- % Split the actions into two lists, queries of values less
- % than equals, and greater than the current key
+ % Split the actions into two lists, queries of values <= and >
than the current key
SplitFun = fun({_ActionType, ActionKey, _ActionValue}) ->
not less(Bt, Key, ActionKey)
end,
On Apr 8, 2008, at 6:07 PM, Guby wrote:
> Some additional info if that might help you:
>
> The three views that are causing me trouble today look like this. It
> has worked perfectly
>
> function(doc) {
> if (doc.class == "Feed"){
> map(doc.attributes.feed_id, doc);
> }
> }
>
> function(doc) {
> if (doc.class == "Feed" && doc.attributes.being_checked == false) {
> map(doc.attributes.next_check, doc);
> }
> }
>
> function(doc) {
> if (doc.class == "Feed" && doc.attributes.being_checked == true) {
> map(doc.attributes.next_check, doc);
> }
> }
>
> A typical document with class == "Feed" would look like this:
>
> {
> "_id":"57FE8B5DDF5FA55537D76EEB7C4F7C62",
> "_rev":"346516073",
> "class":"Feed",
> "attributes":
> {
> "title":"The Unofficial Apple Weblog (TUAW)",
> "feed_url":"http:\/\/www.tuaw.com\/rss.xml",
> "url":"http:\/\/www.tuaw.com",
> "feed_id":"http:\/\/www.tuaw.com\/rss.xml",
> "description":"The Unofficial Apple Weblog (TUAW)",
> "last_updated":null,
> "copyright":"Copyright 2008 Weblogs, Inc. The contents of this
> feed are available for non-commercial use only.",
> "being_checked":false,
> "generator":"Blogsmith http:\/\/www.blogsmith.com\/",
> "image":"http:\/\/www.tuaw.com\/media\/feedlogo.gif",
> "next_check":1207692728,
> "was_scheduled_for_check":1207691521
> }
> }
>
>
> Best regards
> Sebastian
>
>
>
> On Apr 8, 2008, at 6:59 PM, Guby wrote:
>
>> I am running CouchDB 0.7.2
>> I love CouchDB when it is working! And it is really powerful all
>> the stuff one can do with the views, but:
>> Every so often, more often lately, views that have worked perfectly
>> start returning errors... and really cryptic errors too!
>> If I remove the view and add it again it might work for a little
>> while, and then the error comes back again.
>> I can't really make anything out of this error message, but if any
>> of you do, please let me know if you understand what might be wrong!
>>
>> Best regards
>> Sebastian
>>
>>
>> [error] [emulator] Error in process <0.10595.0> with exit value:
>> {function_clause,[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>
>>
>>
>> =ERROR REPORT==== 8-Apr-2008::18:53:44 ===
>> Error in process <0.10595.0> with exit value: {function_clause,
>> [{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
>> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
>> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
>> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
>> {"class","Feed"},{"attributes",{obj,[{"title"...
>>
>> [info] [<0.10594.0>] HTTP Error (code 500): {obj,
>> [{error,"function_clause"},
>> {reason,"[{couch_btree,modify_kpnode,
>> \n [{btree,<0.8093.0>,\n
>> {6790526,7},\n #Fun<couch_view_group.
>> 11.87050650>},\n [],\n [{insert,
>> {1207692728,\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>> \n {obj,[{\"_id\",
>> \"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
>> \n {\"_rev\",\"346516073\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",
>> \n \"The Unofficial Apple
>> Weblog (TUAW)\"},\n {\"feed_url
>> \",\n \"http://www.tuaw.com/rss.xml
>> \"},\n {\"url\",\"http://www.tuaw.com
>> \"},\n {\"feed_id\",\"http://www.tuaw.com/rss.xml
>> \"},\n {\"description\",
>> \n \"The Unofficial Apple
>> Weblog (TUAW)\"},\n
>> {\"last_updated\",null},\n
>> {\"copyright\",\n \"Copyright
>> 2008 Weblogs, Inc. The contents of this feed are available for non-
>> commercial use only.\"},\n
>> {\"being_checked\",false},\n
>> {\"generator\",\n \"Blogsmith http://www.blogsmith.com/
>> \"},\n {\"image\",
>> \n \"http://www.tuaw.com/media/feedlogo.gif
>> \"},\n {\"next_check\",
>> 1207692728},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}},
>> \n {insert,
>> {1207692749,\"595F9051C34C7A0C2C383620E724813C\"},
>> \n {obj,[{\"_id\",
>> \"595F9051C34C7A0C2C383620E724813C\"},
>> \n {\"_rev\",\"964772635\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",\"Dagbladet.no -
>> kultur\"},\n {\"feed_url\",
>> \n \"http://www.dagbladet.no/rss/kultur/
>> \"},\n {\"url\",
>> \n \"http://www.dagbladet.no/kultur//
>> \"},\n {\"feed_id\",
>> \n \"http://www.dagbladet.no/rss/kultur/
>> \"},\n {\"description\",
>> \n \"Dagbladet.no - kultur -
>> export\"},\n {\"last_updated
>> \",null},\n {\"copyright
>> \",null},\n {\"being_checked
>> \",false},\n {\"generator
>> \",null},\n {\"image\",
>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>> \"},\n {\"next_check\",
>> 1207692749},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}},
>> \n {insert,
>> {1207692750,\"F61BD4576778E9A2F7F6B95DD357FA66\"},
>> \n {obj,[{\"_id\",
>> \"F61BD4576778E9A2F7F6B95DD357FA66\"},
>> \n {\"_rev\",\"2170658173\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",\"Dagbladet.no -
>> sport\"},\n {\"feed_url\",
>> \n \"http://www.dagbladet.no/rss/sport/
>> \"},\n {\"url\",\"http://www.dagbladet.no/sport//
>> \"},\n {\"feed_id\",
>> \n \"http://www.dagbladet.no/rss/sport/
>> \"},\n {\"description\",
>> \n \"Dagbladet.no - sport -
>> export\"},\n {\"last_updated
>> \",null},\n {\"copyright
>> \",null},\n {\"being_checked
>> \",false},\n {\"generator
>> \",null},\n {\"image\",
>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>> \"},\n {\"next_check\",
>> 1207692750},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}},
>> \n {insert,
>> {1207692751,\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>> \n {obj,[{\"_id\",
>> \"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
>> \n {\"_rev\",\"1822787569\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",\"Dagbladet.no -
>> spill\"},\n {\"feed_url\",
>> \n \"http://www.dagbladet.no/rss/spill/
>> \"},\n {\"url\",\"http://www.dagbladet.no/spill//
>> \"},\n {\"feed_id\",
>> \n \"http://www.dagbladet.no/rss/spill/
>> \"},\n {\"description\",
>> \n \"Dagbladet.no - spill -
>> export\"},\n {\"last_updated
>> \",null},\n {\"copyright
>> \",null},\n {\"being_checked
>> \",false},\n {\"generator
>> \",null},\n {\"image\",
>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>> \"},\n {\"next_check\",
>> 1207692751},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}},
>> \n {insert,
>> {1207692752,\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>> \n {obj,[{\"_id\",
>> \"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
>> \n {\"_rev\",\"2346335936\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",\"Dagbladet.no\"},
>> \n {\"feed_url\",
>> \n \"http://www.dagbladet.no/rss/forsiden/
>> \"},\n {\"url\",\"http://www.dagbladet.no/
>> \"},\n {\"feed_id\",
>> \n \"http://www.dagbladet.no/rss/forsiden/
>> \"},\n {\"description\",
>> \"Dagbladet.no - export\"},\n
>> {\"last_updated\",null},\n
>> {\"copyright\",null},\n
>> {\"being_checked\",false},\n
>> {\"generator\",null},\n {\"image
>> \",\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>> \"},\n {\"next_check\",
>> 1207692752},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}},
>> \n {insert,
>> {1207692753,\"214F131E43C6EA407F6C03FFF8384A56\"},
>> \n {obj,[{\"_id\",
>> \"214F131E43C6EA407F6C03FFF8384A56\"},
>> \n {\"_rev\",\"3771929290\"},
>> \n {\"class\",\"Feed\"},
>> \n {\"attributes\",
>> \n {obj,[{\"title\",\"Dagbladet.no -
>> reise\"},\n {\"feed_url\",
>> \n \"http://www.dagbladet.no/rss/reise/
>> \"},\n {\"url\",\"http://www.dagbladet.no/reise//
>> \"},\n {\"feed_id\",
>> \n \"http://www.dagbladet.no/rss/reise/
>> \"},\n {\"description\",
>> \n \"Dagbladet.no - reise -
>> export\"},\n {\"last_updated
>> \",null},\n {\"copyright
>> \",null},\n {\"being_checked
>> \",false},\n {\"generator
>> \",null},\n {\"image\",
>> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
>> \"},\n {\"next_check\",
>> 1207692753},\n
>> {\"was_scheduled_for_check\",
>> \n 1207691521}]}}]}}],
>> \n [],[]]},\n {couch_btree,modify_node,4},\n
>> {couch_btree,query_modify,4},\n {couch_btree,add_remove,3},\n
>> {couch_view_group,'-write_changes/4-lc$^3/1-3-',2},\n
>> {couch_view_group,write_changes,4},\n {couch_view_group,update_int,
>> 2}]"}]}
>>
>
Re: Cryptic view errors popping up
Posted by Guby <gu...@gmail.com>.
Some additional info if that might help you:
The three views that are causing me trouble today look like this. It
has worked perfectly
function(doc) {
if (doc.class == "Feed"){
map(doc.attributes.feed_id, doc);
}
}
function(doc) {
if (doc.class == "Feed" && doc.attributes.being_checked == false) {
map(doc.attributes.next_check, doc);
}
}
function(doc) {
if (doc.class == "Feed" && doc.attributes.being_checked == true) {
map(doc.attributes.next_check, doc);
}
}
A typical document with class == "Feed" would look like this:
{
"_id":"57FE8B5DDF5FA55537D76EEB7C4F7C62",
"_rev":"346516073",
"class":"Feed",
"attributes":
{
"title":"The Unofficial Apple Weblog (TUAW)",
"feed_url":"http:\/\/www.tuaw.com\/rss.xml",
"url":"http:\/\/www.tuaw.com",
"feed_id":"http:\/\/www.tuaw.com\/rss.xml",
"description":"The Unofficial Apple Weblog (TUAW)",
"last_updated":null,
"copyright":"Copyright 2008 Weblogs, Inc. The contents of this feed
are available for non-commercial use only.",
"being_checked":false,
"generator":"Blogsmith http:\/\/www.blogsmith.com\/",
"image":"http:\/\/www.tuaw.com\/media\/feedlogo.gif",
"next_check":1207692728,
"was_scheduled_for_check":1207691521
}
}
Best regards
Sebastian
On Apr 8, 2008, at 6:59 PM, Guby wrote:
> I am running CouchDB 0.7.2
> I love CouchDB when it is working! And it is really powerful all the
> stuff one can do with the views, but:
> Every so often, more often lately, views that have worked perfectly
> start returning errors... and really cryptic errors too!
> If I remove the view and add it again it might work for a little
> while, and then the error comes back again.
> I can't really make anything out of this error message, but if any
> of you do, please let me know if you understand what might be wrong!
>
> Best regards
> Sebastian
>
>
> [error] [emulator] Error in process <0.10595.0> with exit value:
> {function_clause,[{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
> {"class","Feed"},{"attributes",{obj,[{"title"...
>
>
>
> =ERROR REPORT==== 8-Apr-2008::18:53:44 ===
> Error in process <0.10595.0> with exit value: {function_clause,
> [{couch_btree,modify_kpnode,[{btree,<0.8093.0>,
> {6790526,7},#Fun<couch_view_group.11.87050650>},[],[{insert,
> {1207692728,"57FE8B5DDF5FA55537D76EEB7C4F7C62"},{obj,
> [{"_id","57FE8B5DDF5FA55537D76EEB7C4F7C62"},{"_rev","346516073"},
> {"class","Feed"},{"attributes",{obj,[{"title"...
>
> [info] [<0.10594.0>] HTTP Error (code 500): {obj,
> [{error,"function_clause"},
> {reason,"[{couch_btree,modify_kpnode,
> \n [{btree,<0.8093.0>,\n
> {6790526,7},\n #Fun<couch_view_group.
> 11.87050650>},\n [],\n [{insert,
> {1207692728,\"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
> \n {obj,[{\"_id\",
> \"57FE8B5DDF5FA55537D76EEB7C4F7C62\"},
> \n {\"_rev\",\"346516073\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",
> \n \"The Unofficial Apple
> Weblog (TUAW)\"},\n {\"feed_url
> \",\n \"http://www.tuaw.com/rss.xml
> \"},\n {\"url\",\"http://www.tuaw.com
> \"},\n {\"feed_id\",\"http://www.tuaw.com/rss.xml
> \"},\n {\"description\",
> \n \"The Unofficial Apple
> Weblog (TUAW)\"},\n
> {\"last_updated\",null},\n
> {\"copyright\",\n \"Copyright
> 2008 Weblogs, Inc. The contents of this feed are available for non-
> commercial use only.\"},\n
> {\"being_checked\",false},\n
> {\"generator\",\n \"Blogsmith http://www.blogsmith.com/
> \"},\n {\"image\",
> \n \"http://www.tuaw.com/media/feedlogo.gif
> \"},\n {\"next_check\",
> 1207692728},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}},\n {insert,
> {1207692749,\"595F9051C34C7A0C2C383620E724813C\"},
> \n {obj,[{\"_id\",
> \"595F9051C34C7A0C2C383620E724813C\"},
> \n {\"_rev\",\"964772635\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",\"Dagbladet.no -
> kultur\"},\n {\"feed_url\",
> \n \"http://www.dagbladet.no/rss/kultur/
> \"},\n {\"url\",
> \n \"http://www.dagbladet.no/kultur//
> \"},\n {\"feed_id\",
> \n \"http://www.dagbladet.no/rss/kultur/
> \"},\n {\"description\",
> \n \"Dagbladet.no - kultur -
> export\"},\n {\"last_updated
> \",null},\n {\"copyright\",null},
> \n {\"being_checked\",false},
> \n {\"generator\",null},
> \n {\"image\",
> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
> \"},\n {\"next_check\",
> 1207692749},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}},\n {insert,
> {1207692750,\"F61BD4576778E9A2F7F6B95DD357FA66\"},
> \n {obj,[{\"_id\",
> \"F61BD4576778E9A2F7F6B95DD357FA66\"},
> \n {\"_rev\",\"2170658173\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",\"Dagbladet.no -
> sport\"},\n {\"feed_url\",
> \n \"http://www.dagbladet.no/rss/sport/
> \"},\n {\"url\",\"http://www.dagbladet.no/sport//
> \"},\n {\"feed_id\",
> \n \"http://www.dagbladet.no/rss/sport/
> \"},\n {\"description\",
> \n \"Dagbladet.no - sport -
> export\"},\n {\"last_updated
> \",null},\n {\"copyright\",null},
> \n {\"being_checked\",false},
> \n {\"generator\",null},
> \n {\"image\",
> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
> \"},\n {\"next_check\",
> 1207692750},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}},\n {insert,
> {1207692751,\"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
> \n {obj,[{\"_id\",
> \"8D1F264FB7F72492E0EFAFAA3FD9BBE5\"},
> \n {\"_rev\",\"1822787569\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",\"Dagbladet.no -
> spill\"},\n {\"feed_url\",
> \n \"http://www.dagbladet.no/rss/spill/
> \"},\n {\"url\",\"http://www.dagbladet.no/spill//
> \"},\n {\"feed_id\",
> \n \"http://www.dagbladet.no/rss/spill/
> \"},\n {\"description\",
> \n \"Dagbladet.no - spill -
> export\"},\n {\"last_updated
> \",null},\n {\"copyright\",null},
> \n {\"being_checked\",false},
> \n {\"generator\",null},
> \n {\"image\",
> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
> \"},\n {\"next_check\",
> 1207692751},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}},\n {insert,
> {1207692752,\"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
> \n {obj,[{\"_id\",
> \"C3D3EE09DAF4BDEE5C77490D3E5F7C86\"},
> \n {\"_rev\",\"2346335936\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",\"Dagbladet.no\"},
> \n {\"feed_url\",
> \n \"http://www.dagbladet.no/rss/forsiden/
> \"},\n {\"url\",\"http://www.dagbladet.no/
> \"},\n {\"feed_id\",
> \n \"http://www.dagbladet.no/rss/forsiden/
> \"},\n {\"description\",
> \"Dagbladet.no - export\"},\n
> {\"last_updated\",null},\n
> {\"copyright\",null},\n
> {\"being_checked\",false},\n
> {\"generator\",null},\n {\"image
> \",\n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
> \"},\n {\"next_check\",
> 1207692752},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}},\n {insert,
> {1207692753,\"214F131E43C6EA407F6C03FFF8384A56\"},
> \n {obj,[{\"_id\",
> \"214F131E43C6EA407F6C03FFF8384A56\"},
> \n {\"_rev\",\"3771929290\"},
> \n {\"class\",\"Feed\"},
> \n {\"attributes\",
> \n {obj,[{\"title\",\"Dagbladet.no -
> reise\"},\n {\"feed_url\",
> \n \"http://www.dagbladet.no/rss/reise/
> \"},\n {\"url\",\"http://www.dagbladet.no/reise//
> \"},\n {\"feed_id\",
> \n \"http://www.dagbladet.no/rss/reise/
> \"},\n {\"description\",
> \n \"Dagbladet.no - reise -
> export\"},\n {\"last_updated
> \",null},\n {\"copyright\",null},
> \n {\"being_checked\",false},
> \n {\"generator\",null},
> \n {\"image\",
> \n \"http://www.dagbladet.no/gfx/dagbladet.no.gif
> \"},\n {\"next_check\",
> 1207692753},\n
> {\"was_scheduled_for_check\",\n
> 1207691521}]}}]}}],\n [],[]]},\n
> {couch_btree,modify_node,4},\n {couch_btree,query_modify,4},\n
> {couch_btree,add_remove,3},\n {couch_view_group,'-write_changes/4-lc
> $^3/1-3-',2},\n {couch_view_group,write_changes,4},\n
> {couch_view_group,update_int,2}]"}]}
>
Re: Cryptic view errors popping up
Posted by Christopher Lenz <cm...@gmx.de>.
On 08.04.2008, at 23:59, Guby wrote:
> I am running CouchDB 0.7.2
> I love CouchDB when it is working! And it is really powerful all the
> stuff one can do with the views, but:
> Every so often, more often lately, views that have worked perfectly
> start returning errors... and really cryptic errors too!
> If I remove the view and add it again it might work for a little
> while, and then the error comes back again.
> I can't really make anything out of this error message, but if any
> of you do, please let me know if you understand what might be wrong!
It would be great if you could try whether you're still getting this
error with trunk:
<http://incubator.apache.org/couchdb/community/code.html>
HOWEVER, note that the upgrade process isn't exactly trivial
(including a change to the database file format, so you'll need to
dump and load your data) and not well documented at the moment. Your
best bet would be to join us on IRC (#couchdb on freenode) and ask
questions as they arise. Hopefully someone will be able to write up an
upgrading guide soon :P
Anyway, please file a bug report including the full error report:
<https://issues.apache.org/jira/browse/COUCHDB>
Other helpful information includes the size of your database and the
number of views you have.
Thanks!
--
Christopher Lenz
cmlenz at gmx.de
http://www.cmlenz.net/