Dong Lin created KAFKA-6183: ------------------------------- Summary: Broker should send OffsetCommitResponse only after it has written offset to cache Key: KAFKA-6183 URL: https://issues.apache.org/jira/browse/KAFKA-6183 Project: Kafka Issue Type: Bug Reporter: Dong Lin Assignee: Dong Lin
Currently broker sends OffsetCommitResponse to client before it writes committed offset to disk and cache. Thus client does not have read-after-write semantics when committing and reading offset. The following sequence of events may happen: - Client sends offset commit request to broker. - Broker sends offset commit response back. - Client sends offset fetch request to broker. - Broker returns an empty offset fetch response to client. - Broker writes the committed offset to disk and cache. Broker should return OffsetCommitResponse after it has written committed offset to disk and memory, similar to the approach that broker returns ProduceResponse after it has written data to disk. Note that the data does not have to be flushed to disk. This change makes offset commit semantics easier to use without incurring cost on the broker. -- This message was sent by Atlassian JIRA (v6.4.14#64029)