couchdb-dev mailing list archives

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

                 Key: COUCHDB-354
             Project: CouchDB
          Issue Type: Improvement
          Components: JavaScript View Server
         Environment: {"couchdb":"Welcome","version":"0.10.0a776990"}

            Reporter: Brian Candler
            Priority: Minor

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