2016-06-08 2 views
0

우리 RabbitMQ 서비스는 $ RABBITMQ_NODENAME - sasl.log에서 다음과 같은 보고서를 두 번 추락 :RabbitMQ 충돌 설명

=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를 사용하고 있으며 이전 버전을 사용하고 있음을 알고 있지만 업그레이드에 리소스를 할당하기 전에 충돌을 일으키는 원인을 먼저 알아야합니다.

답변

0

이 메시지는 메시지 저장소의 가비지 수집 중에 RabbitMQ 메시지 저장 프로세스가 파일을 결합하지 못했음을 의미합니다. 이것은 이론상 메시지 손실을 야기 할 수 있습니다. 3.1.5는 지원되지 않으며 OTP 10으로 테스트되지 않았습니다.이 문제는 최신 버전에서도 이미 해결 될 수 있습니다.