<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi<br>
    <br>
    On 10/19/2012 03:02 PM, Nicolas Bosansky wrote:
    <blockquote
cite="mid:CAGj2pKhp3mXaAcbMqkfQAYkuw6gY0EnPrd0pm6fzD35bXa05og@mail.gmail.com"
      type="cite">Hi,
      <div><br>
      </div>
      <div>Thanks for your response and sorry for using google groups.</div>
      <div><br>
      </div>
    </blockquote>
    <br>
    Ok no probs, I don't want you to think I'm telling you off! :D<br>
    <br>
    <blockquote
cite="mid:CAGj2pKhp3mXaAcbMqkfQAYkuw6gY0EnPrd0pm6fzD35bXa05og@mail.gmail.com"
      type="cite">
      <div>We just have found why we don't get messages anymore from the
        broker.&nbsp;</div>
      <div>Your explanation corresponds exactly to our problem : when
        Hbase connection fails, it generates an exception, and in this
        case, we don't 'ack' nor 'nack/reject' the message.&nbsp;</div>
      <div><br>
      </div>
      <div>Now, we nack the message when something wrong occurs and so
        we get the next messages from the queue.</div>
      <div><br>
      </div>
    </blockquote>
    <br>
    Awesome - glad it works for you now. <br>
    <br>
    Cheers,<br>
    Tim<br>
    <br>
    <blockquote
cite="mid:CAGj2pKhp3mXaAcbMqkfQAYkuw6gY0EnPrd0pm6fzD35bXa05og@mail.gmail.com"
      type="cite">
      <div>Thanks again,</div>
      <div>Nicolas</div>
      <div><br>
        <br>
        <div class="gmail_quote">
          2012/10/19 Tim Watson <span dir="ltr">&lt;<a
              moz-do-not-send="true" href="mailto:tim@rabbitmq.com"
              target="_blank">tim@rabbitmq.com</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            Hi<br>
            <br>
            Please do not use the google group, as we do not own or
            subscribe to it. Thanks!<br>
            <br>
            In terms of your question, please see my comments inline
            (below).<br>
            <br>
            On 10/18/2012 04:50 PM, Nicolas Bosansky wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              Hello,<br>
              We have a rabbitMQ consumer that takes messages from a
              queue and write them in a HBase store.<br>
              When HBase connection fails, the consumer get an exception
              and messages are not acknowledged, that's ok.<br>
              After a few minutes, the consumer doesn't get messages
              anymore, even after restarting Hbase.<br>
              <br>
            </blockquote>
            <br>
            Firstly, I don't really understand what you're describing
            here. What does the HBase connection failure have to do with
            the rabbitmq consumer? Are you saying that the HBase
            connection failure causes an unhandled exception on the
            thread which the consumer is running in? What does this have
            to do with acks - are you saying that your client code does
            not ack messages which arrive that cannot be written to
            HBase? That's fine, but you ought to nack/reject them unless
            you're hanging on to them deliberately in order to deal with
            them later on. Perhaps this is what is causing the problem?<br>
            <br>
            "If a consumer dies without sending an acknowledgement the
            AMQP broker will redeliver it to another consumer or, if
            none are available at the time, the broker will wait until
            at least one consumer is registered for the same queue
            before attempting redelivery." - <a moz-do-not-send="true"
href="http://www.rabbitmq.com/tutorials/amqp-concepts.html"
              target="_blank">http://www.rabbitmq.com/tutorials/amqp-concepts.html</a><br>
            <br>
            So if you do not ack the messages you've already received
            *nor* nack/reject them, then you're not going to get any
            more messages until you do? Am I missing something here, or
            are you just not instructing the broker that you're ready to
            continue consuming from the queue (by dealing with the
            messages it has already sent you which need to be ack'ed or
            rejected)?<br>
            <br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              When debugging rabbitMQ client, we have noticed, that it
              is blocked on the following line: SocketInputStream:129 (
              Java build 1.6.0_33-b03)<br>
              The Frame class is waiting for messages, but the used
              socket doesn't receive any data anymore.<br>
              We also notice, that there is no timeout on this socket.<br>
              <br>
            </blockquote>
            <br>
            There isn't meant to be a timeout when reading frames.<br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>