title: max value of max.in.flight.requests.per.connection keeping order
body: <blockquote>
  <p>max.in.flight.requests.per.connection - This controls how many message
  batches the producer will send to the server without receiving
  responses.</p>
  </blockquote>
  <p>So, assuming we have max.in.flight.requests.per.connection = 5. We have enable.idempotence = true. Kafka guarantees ordering with max.in.flight.requests.per.connection &lt;= 5. Kafka stores sequence numbers for each message. And we have the following situation with failing and recovering broker again and again:</p>
  <ol>
  <li>message(batch of messages) with sequence number 1 is unlucky and always go to retry</li>
  <li>other messages are being successfully committed again and again</li>
  </ol>
  <p>Producer receive responses for all messages, hence, we don't overfill max.in.flight.requests.per.connection
  Then the message with s.n. 1 is finally committed, and Kafka seems to guarantee the order(it will have the first offset), even if millions of messages have been committed before this first(assuming we have retry = infinity and huge time setting for retry).</p>
  <p>Why 5 is the max value for max.in.flight.requests.per.connection then? Or why is the described situation unreal?</p>