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/