producer config的request.timeout.ms和broker config的request.timeout.ms怎么玩

How does the request.timeout.ms of producer config and request.timeout.ms of broker config play together

我正在尝试从生产者端了解请求超时机制。假设我设置了以下配置

Producer Configurations:
delivery.timeout.ms = 15000
request.timeout.ms = 10000 
linger.ms = 0
reconnect.backoff.ms = 50

Broker configurations:
request.timeout.ms = 30000 

现在,如果我在时间 t1 发送消息并且集群已关闭,生产者在抛出连接异常之前要等待多长时间?

我 运行 进行了测试,发现 send() 失败并出现以下异常

发送失败;嵌套异常是 org.apache.kafka.common.errors.TimeoutException:45000 毫秒后元数据中不存在主题 test.topic

在这45000毫秒里就是'max.block.ms'.