title: max.poll.records in conjunction with fetch.min.bytes
body: <p>I am reading this <a href="https://stackoverflow.com/questions/53308986/how-does-max-poll-records-affect-the-consumer-poll">How does max.poll.records affect the consumer poll</a>, as well as apache kafka docs, and I am still not sure if <code>fetch.min.bytes</code> is not changed, and the default is 1, is kafka broker obligated to return <code>max.poll.records</code> of records, if that much is available, or not? </p>
  
  <p>According to our tests, it does not always return that much even if there is sufficient data available in a topic, and the explanation of that parameter from documentation and its sheer name does not imply it should, but some people tend to think the opposite. We also increased the limits that could potentially prevent this from happen, like <code>message.max.bytes</code>, <code>max.message.bytes</code>, <code>max.partition.fetch.bytes</code>, and <code>fetch.max.bytes</code> (that one we actually didn't have to increase, since the default is rather high, 50 MB), but that didn't change a thing.</p>
  
  <p>We also didn't change <code>fetch.max.wait.ms</code>, and default is 500, that is a half of a second, so, if <code>fetch.min.bytes</code> is not set to something more than 1 byte, then this setting becomes effective, ie, it determines how much records is actually returned? Which would mean that if less then <code>max.poll.records</code> was returned, it is because it would take more than 500 ms to fetch that much?</p>