Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1817

Exceeding the couchjs stack size does not have a clear error message

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • None
    • None
    • JavaScript View Server
    • None

    Description

      Updated description:

      When a large document is uploaded and the couchjs process runs out of stack, the error message that gets produced does not make it easy to debug what is going wrong.

      In our case we had some data that should have been an attachment but was ending up in the document proper, which caused us to have 45MB documents, which triggered the issue. Having an error message that says which document ran the view server out of space, etc. would be nice.

      Original description:

      We have started seeing errors crop up in our application that we have not seen before, and we're at a loss for how to start debugging it.

      Dave Cottlehuber Said that we might look into system resource limits, so we started collecting all of the output from _stats into RRD (along with memory, load, etc. that we were already collecting), but nothing is jumping out at us as obviously problematic.

      We can semi-reliably reproduce the problem, but it's far from a minimal test case (basically, we load up several large chunks of data, and then halfway through the processing run, we get the error). The error doesn't seem to happen if we load up each chunk by itself.

      The DB in question has about 100 docs in it, none particularly large (nothing over a couple KB would be my guess), with a couple hundred MB in attachments. 10ish design docs, coffeescript. In general, there isn't anything that seems obviously resource intensive.

      We have seen this issue on 1.2.0, 1.2.1, and we're working on getting a machine with 1.3.0 set up (the PPA we'd been using hasn't been updated yet). Ubuntu 12.04, spinning disk, etc. The system is under load when it happens, but the load isn't more than 1.5x the number of cores. I don't have disk IO numbers at hand, but I'd be surprised if that was being strained.

      Error as it appears in couch.log: https://gist.github.com/wickedgrey/e7fd3fc14b6d43e95564

      The design doc in question: https://gist.github.com/wickedgrey/db41b0c3c75a590e2109

      An example document: https://gist.github.com/wickedgrey/a8422aab261ddd2ce4fe

      We have some preliminary evidence that the problem persists after the system goes quiet, but we're not certain.

      Either CouchDB isn't handling things correctly, in which case this bug is "prz fix" or we're doing something wrong (hitting a resource limit, or something), in which case this bug is "prz make the error message more informative".

      Thanks!

      Attachments

        1. couchdb__couchdb_files.png
          5 kB
          Geordan Rosario
        2. couchdb__httpd_status_codes.png
          5 kB
          Geordan Rosario
        3. couchdb_mem.png
          10 kB
          Geordan Rosario
        4. loadavg.png
          5 kB
          Geordan Rosario
        5. memory2.png
          7 kB
          Geordan Rosario

        Activity

          People

            Unassigned Unassigned
            wickedgrey Eli Stevens
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment