CouchDB
  1. CouchDB
  2. COUCHDB-601

Ephemeral network hiccups cause punctuated existence for couch_task_status server.

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Infrastructure
    • Labels:
      None
    • Environment:

      Solaris 10u7, erlang-R13B01, apache-couchdb-0.10.x-r888268

    • Skill Level:
      Regular Contributors Level (Easy to Medium)

      Description

      Errors causing couch_task_status to die because of probable network errors.

      davisp thinks it's because of couch_httpd.erl:163

      =ERROR REPORT==== 16-Dec-2009::03:10:08 ===
      {mochiweb_socket_server,235,{child_error,{case_clause,{error,enotconn}}}}
      [error] [<0.17349.67>] {error_report,<0.23.0>,
      {<0.17349.67>,crash_report,
      [[{initial_call,{mochiweb_socket_server,acceptor_loop,['Argument__1']}},

      {pid,<0.17349.67>}

      ,

      {registered_name,[]}

      ,
      {error_info,
      {error,
      {case_clause,{error,enotconn}},
      [

      {mochiweb_request,get,2}

      ,

      {couch_httpd,handle_request,5}

      ,

      {mochiweb_http,headers,5}

      ,

      {proc_lib,init_p_do_apply,3}

      ]}},

      {ancestors, [couch_httpd,couch_secondary_services,couch_server_sup,<0.1.0>]}

      ,

      {messages,[]}

      ,

      {links,[<0.3303.67>,#Port<0.1071837>]}

      ,
      {dictionary,[

      {mochiweb_request_qs,[]}

      ,

      {jsonp,undefined}

      ]},

      {trap_exit,false}

      ,

      {status,running}

      ,

      {heap_size,2584}

      ,

      {stack_size,24}

      ,

      {reductions,76082}

      ],
      []]}}
      [error] [<0.3303.67>] {error_report,<0.23.0>,
      {<0.3303.67>,std_error,
      {mochiweb_socket_server,235,
      {child_error,{case_clause,{error,enotconn}}}}}}

        Activity

        Hide
        Paul Joseph Davis added a comment -

        Fairly certain this is caused by couch_httpd.erl line 163 when we try and get peer info only to find the peer has left us high and dry. I attempted to shift things into the try catch a couple lines down, but the object being instantiated that calls MochiReq:get(peer) is referenced in the catch clauses and I didn't feel like reformatting everything to nest in an outer try/catch.

        Seems to be the same problem causing task_status to die too. This is just the top of a really long traceback that I went through. Either way I think this deserves its own ticket even though it might be tickling the other bug as well.

        Show
        Paul Joseph Davis added a comment - Fairly certain this is caused by couch_httpd.erl line 163 when we try and get peer info only to find the peer has left us high and dry. I attempted to shift things into the try catch a couple lines down, but the object being instantiated that calls MochiReq:get(peer) is referenced in the catch clauses and I didn't feel like reformatting everything to nest in an outer try/catch. Seems to be the same problem causing task_status to die too. This is just the top of a really long traceback that I went through. Either way I think this deserves its own ticket even though it might be tickling the other bug as well.

          People

          • Assignee:
            Unassigned
            Reporter:
            Jonathan Simms
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development