couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Candler (JIRA)" <>
Subject [jira] Commented: (COUCHDB-354) Ungraceful behaviour if view returns a function
Date Thu, 21 May 2009 09:46:45 GMT


Brian Candler commented on COUCHDB-354:

... and what's more confusing, this error can be in one view, but you get it when querying
a completely different view (because all the views are built at once). So even if the view
server is going to crash, it would be good to know which view it was building at the time.

> Ungraceful behaviour if view returns a function
> -----------------------------------------------
>                 Key: COUCHDB-354
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: JavaScript View Server
>         Environment: {"couchdb":"Welcome","version":"0.10.0a776990"}
>            Reporter: Brian Candler
>            Priority: Minor
>         Attachments: barf.log, test_reduce_barf.rb
> If a typo in a view definition causes it to return a function instead of a normal value:
> * the view server crashes
> * you get a huge Erlang barf in the log with worrying messages like "OS process timed
out" and "brutal kill"
> I got all this just by accidentally writing "vs.shift" instead of "vs.shift()"
> The fundamental problem is that a function cannot be serialised in toJSON, but the error
message is not helpful:
> OS Process Log Message: Error converting object to JSON: TypeError: {Array:function (v)
{var ... snip loads ... "Object"] is not a function
> When actually the problem is that the object I was trying to convert *was* a function
> I will attach some code which replicates this, and the barf generated.
> Of course this is entirely down to user error in an invalid map/reduce function. However
there's already a clean error for 'undefined', maybe this could be done for 'function' too
(or indeed any non-serialisable entity)

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

View raw message