couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Couchdb Wiki] Update of "Troubleshooting" by SeggyUmboh
Date Sat, 24 Oct 2009 09:52:48 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Troubleshooting" page has been changed by SeggyUmboh.
The comment on this change is: Added map/reduce debugging using js command line.
http://wiki.apache.org/couchdb/Troubleshooting?action=diff&rev1=13&rev2=14

--------------------------------------------------

   system_limit, erlang, open_port:: Erlang has a default limit of 1024 ports, where each
FD, tcp connection, and linked-in driver uses one port. You seem to have exceeded this. You
can change it at runtime using the ERL_MAX_PORTS env variable.
   (by Adam Kocoloski, [[https://bugs.edge.launchpad.net/ubuntu/+source/couchdb/+bug/459241]])
  
+ 
+ == Map/Reduce debugging ==
+ SeaMonkey is a dependency of CouchDB, so you can debug your Map and Reduce functions in
the js command line. First you assign a document to a variable:
+ {{{
+ js> doc = {
+    "_id": "image-5",
+    "_rev": "3-3e1b61291d9102d84e71e27cb46266fc",
+    "status": 200,
+    "style": "original"
+ }
+ [object Object]
+ }}}
+ Next you assign your function to another variable:
+ {{{
+ js> map = function(doc) { emit(doc.style, doc) }
+ function (doc) {
+     emit(doc.style, doc);
+ }
+ }}}
+ Don't forget to define the emit function as well. I just alias the print function:
+ {{{
+ js> emit = print
+ function print() {
+     [native code]
+ }
+ }}}
+ Now you can manually apply your map function to this document, and see what gets emitted:
+ {{{
+ js> map(doc)
+ original [object Object]
+ }}}
+ 

Mime
View raw message