[
https://issues.apache.org/jira/browse/KAFKA-5390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16038832#comment-16038832
]
Magnus Reftel commented on KAFKA-5390:
--------------------------------------
Thanks for the quick reply! I tried switching
{{records.forEach(producer::send);}} to
{code}
records.forEach(r -> producer.send(r, (m, e) -> {
System.out.printf("Send result for %s: %s\n", r.key(), m == null ?
"null" : "\"" + m + "\"");
if (e != null) {
e.printStackTrace();
}
}));
{code}
This produces the following output:
{noformat}
Send result for 0: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 1: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 2: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 3: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 4: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 5: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 6: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 7: null
org.apache.kafka.common.errors.RecordBatchTooLargeException: The request
included message batch larger than the configured segment size on the server.
Send result for 8: "t-0@0"
{noformat}
The testcase still fails for the same reason as before.
> First records in batch rejected but others accepted when rolling log
> --------------------------------------------------------------------
>
> Key: KAFKA-5390
> URL: https://issues.apache.org/jira/browse/KAFKA-5390
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.10.2.1
> Reporter: Magnus Reftel
> Attachments: kafka-sequence.tar.gz
>
>
> When sending a sequence of records in a batch right when the broker needs to
> roll a new segment, it's possible for the first few records to fail, while
> other records in the batch are accepted. If records have dependencies on
> earlier records, e.g. in the case of a sequence of events in an event-sourced
> system, then a producer cannot use the batching functionality, since it then
> risks consumers receiving a record without first receiving the records it
> depends on.
> See attached testcase (kafka-sequence.tar.gz).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)