Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. (A) metadata.fetch.timeout.ms - The maximum time producer will wait for metadata to be ready in producer.send()
  2. (B) linger.ms - The maximum time the producer will buffer the records for batch before sending it out.(C) replication.timeout.ms - This is a server side configuration. It defines how long a server will wait for the records to be replicated to followers.
  3. (C) network.request.timeout.ms - This timeout is used when producer sends request to brokers through TCP connections. It specifies how long the producer should wait for the response.

From what I can see, network.request.timeout.ms and linger.ms have clear purposes and we probably want to keep themit.

replication.timeout.ms is a legacy configuration, we might be able to get it away but let's keep it for now.

...

  • (A/B) metadata.fetch.timeout.ms - reuse metadata timeout as batch.timeout.ms because it is essentially metadata not available. (B) linger. ms
  • (C) replication.timeout.ms
  • (C) network.request.timeout.ms

Proposal 2:

  1. (A) max.send.block.ms(B) linger.ms
  2. (B) batch.timeout.ms
  3. (C) replication.timeout.ms
  4. (C) network.request.timeout.ms

...