Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-10215

UPR: couch_upr:sasl_auth should have better error handling

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Fix
    • Major
    • 3.0
    • 3.0
    • None
    • Security Level: Public
    • None
    • Untriaged

    Description

      Today if couch_upr:sasl_auth will crash if socket closed when sending gen_tcp:send() for authentication, which crashed called function and client process.

      Probably we should have better way to handle such situation. Complete logs attached.

      [error_logger:error,2014-02-14T10:53:21.899,n_0@127.0.0.1:error_logger<0.6.0>:ale_error_logger_handler:log_report:72]
      =========================CRASH REPORT=========================
      crasher:
      initial call: xdc_upr_server:init/1
      pid: <0.1064.0>
      registered_name: []
      exception exit: case_clause,{error,closed,
      [{couch_upr,sasl_auth,4,
      [

      {file,"src/couch_upr.erl"}

      ,

      {line,140}

      ]},
      {xdc_upr_server,handle_call,3,
      [

      {file,"src/xdc_upr_server.erl"}

      ,

      {line,176}

      ]},
      {gen_server,handle_msg,5,
      [

      {file,"gen_server.erl"}

      ,

      {line,585}

      ]},
      {proc_lib,init_p_do_apply,3,
      [

      {file,"proc_lib.erl"}

      ,

      {line,239}

      ]}]}
      in function gen_server:terminate/6 (gen_server.erl, line 744)
      ancestors: [<0.1020.0>,<0.1018.0>,<0.1013.0>,xdc_replication_sup,
      ns_server_sup,ns_server_cluster_sup,<0.59.0>]
      messages: []
      links: <0.1020.0>,#Port<0.11140>
      dictionary: []
      trap_exit: false
      status: running
      heap_size: 4185
      stack_size: 27
      reductions: 5721
      neighbours:

      [error_logger:error,2014-02-14T10:53:21.912,n_0@127.0.0.1:error_logger<0.6.0>:ale_error_logger_handler:log_msg:76]** Generic server <0.1020.0> terminating

        • Last message in was start_replication
        • When Server state == [{data,
          [{"State",
          {rep_state,
          {rep,
          <<"89310cdb8f94ea7852bfae91e8c8c940/default/default">>,
          <<"default">>,
          <<"/remoteClusters/89310cdb8f94ea7852bfae91e8c8c940/buckets/default">>,
          "xmem",
          [ {optimistic_replication_threshold,256}

          ,

          {worker_batch_size,500}

          ,

          {failure_restart_interval,30}

          ,

          {doc_batch_size_kb,2048}

          ,

          {checkpoint_interval,1800}

          ,

          {max_concurrent_reps,4}

          ,

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            junyi Junyi Xie (Inactive)
            junyi Junyi Xie (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty