RabbitMQ崩溃解释

时间:2016-06-08 19:16:48

标签: rabbitmq

我们的RabbitMQ服务在$ RABBITMQ_NODENAME-sasl.log中使用以下报告崩溃了两次:

=CRASH REPORT==== 7-Jun-2016::14:37:25 ===
  crasher:
    initial call: gen:init_it/6
    pid: <0.223.0>
    registered_name: []
    exception exit: {{badmatch,
                         {[{msg_location,
                               <<162,171,39,113,226,229,228,92,227,253,48,186,
                                 45,48,29,98>>,
                               1,357,0,583},
                           ******************
                           16000 similar msg_location lines snipped
                           ******************
                          1795219}},
                     [{rabbit_msg_store,combine_files,3,[]},
                      {rabbit_msg_store_gc,attempt_action,3,[]},
                      {rabbit_msg_store_gc,handle_cast,2,[]},
                      {gen_server2,handle_msg,2,[]},
                      {proc_lib,wake_up,3,
                          [{file,"proc_lib.erl"},{line,250}]}]}
      in function  gen_server2:terminate/3
    ancestors: [msg_store_persistent,rabbit_sup,<0.159.0>]
    messages: [{'$gen_cast',{combine,394,380}}]
    links: [#Port<0.86370>,<0.218.0>,#Port<0.86369>]
    dictionary: [{{"/var/lib/rabbitmq/mnesia/$RABBITMQ_NODENAME/msg_store_persistent/357.rdq",
                    fhc_file},
                   {file,1,false}},
                  {{"/var/lib/rabbitmq/mnesia/$RABBITMQ_NODENAME/msg_store_persistent/340.rdq",
                    fhc_file},
                   {file,1,true}},
                  {fhc_age_tree,{2,
                                 {{1465,346244,764691},
                                  #Ref<0.0.3145729.257998>,nil,
                                  {{1465,346244,891543},
                                   #Ref<0.0.3145729.258001>,nil,nil}}}},
                  {{#Ref<0.0.3145729.257998>,fhc_handle},
                   {handle,{file_descriptor,prim_file,{#Port<0.86369>,59}},
                           0,false,0,1048576,[],false,
                           "/var/lib/rabbitmq/mnesia/$RABBITMQ_NODENAME/msg_store_persistent/357.rdq",
                           [raw,binary,read_ahead,read],
                           [{write_buffer,1048576}],
                           false,true,
                           {1465,346244,764691}}},
                  {{#Ref<0.0.3145729.258001>,fhc_handle},
                   {handle,{file_descriptor,prim_file,{#Port<0.86370>,64}},
                           14212552,false,0,1048576,[],false,
                           "/var/lib/rabbitmq/mnesia/$RABBITMQ_NODENAME/msg_store_persistent/340.rdq",
                           [raw,binary,read_ahead,read,write],
                           [{write_buffer,1048576}],
                           true,true,
                           {1465,346244,891543}}}]
    trap_exit: false
    status: running
    heap_size: 121536
    stack_size: 27
    reductions: 835024
  neighbours:

我们想了解此崩溃报告的含义。它是表示不良消息,RMQ无法找到消息,还是完全不同的消息?我们正在使用带有Erlang 18的RabbitMQ 3.1.5,虽然我们知道我们使用的是旧版本,但我们首先想知道在将资源用于升级之前导致崩溃的原因。

1 个答案:

答案 0 :(得分:0)

此消息表示RabbitMQ消息存储过程无法在邮件存储上的垃圾回收期间组合文件。这在理论上可以导致消息丢失。 请注意,3.1.5不受支持,并且尚未使用OTP 10进行测试。但是,此问题已在新版本中修复。