Details
-
Bug
-
Resolution: Duplicate
-
Critical
-
3.0
-
None
-
Security Level: Public
-
None
-
Untriaged
Description
Today if multiple replicators or clients are trying to stream from the single socket, using couch_upr service. It would be messed up when couch_upr read data from socket.
[error_logger:error,2014-02-13T11:57:11.080,n_0@127.0.0.1:error_logger<0.6.0>:ale_error_logger_handler:log_report:72]
=========================CRASH REPORT=========================
crasher:
initial call: xdc_vbucket_rep:init/1
pid: <0.1043.0>
registered_name: []
exception exit: case_clause,{stats,0,3,18,15,
[{couch_upr,receive_single_snapshot,4,
[
{couch_upr,enum_docs_since,7,
[{file,"src/couch_upr.erl"}
,
{line,69}]},
{xdc_upr_server,stream_mutations,2,
[
,
{line,107}]},
{xdc_vbucket_rep,read_changes_from_upr,4,
[
,
{line,1118}]}]}
in function gen_server:terminate/6 (gen_server.erl, line 744)
ancestors: [<0.1037.0>,<0.1032.0>,xdc_replication_sup,ns_server_sup,
ns_server_cluster_sup,<0.59.0>]
messages: []
links: [<0.1206.0>,<0.1212.0>,<0.1214.0>,<0.1216.0>,<0.1210.0>,
<0.1200.0>,<0.1203.0>,<0.1037.0>]
dictionary: [{random_seed,{8236,26623,17360}}]
trap_exit: true
status: running
heap_size: 2586
stack_size: 27
reductions: 40884
neighbours:
neighbour: [
,
{initial_call,{erlang,apply,2}},
{current_function,{gen,do_call,4}},
{ancestors,[]},
{messages,[{get_changes,<0.1212.0>},
{get_changes,<0.1214.0>},
{get_changes,<0.1216.0>}]},
{links,[<0.1043.0>]},
{dictionary,[]},
{trap_exit,false},
{status,waiting},
{heap_size,233},
{stack_size,21},
{reductions,9}]
neighbour: [{pid,<0.1200.0>},
{registered_name,[]}
,