This is an automated email from the ASF dual-hosted git repository.

guozhang pushed a commit to branch 2.4
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/2.4 by this push:
     new 3fe6b5e  KAFKA-8729: Add upgrade docs for KIP-467 on augmented produce 
response (#7522)
3fe6b5e is described below

commit 3fe6b5e951db8f7184a4098f8ad8a1afb2b2c1a0
Author: Guozhang Wang <[email protected]>
AuthorDate: Thu Oct 24 19:45:09 2019 -0700

    KAFKA-8729: Add upgrade docs for KIP-467 on augmented produce response 
(#7522)
    
    Add a paragraph explaining the producer caller's expected behavior change 
on record validation failure scenarios that are improved by KIP-467.
    
    Reviewers: Tu V. Tran <[email protected]>, Jason Gustafson 
<[email protected]>
---
 docs/upgrade.html | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/docs/upgrade.html b/docs/upgrade.html
index 65c7ba9..8bc0fb9 100644
--- a/docs/upgrade.html
+++ b/docs/upgrade.html
@@ -87,6 +87,13 @@
         The old overloaded functions are deprecated and we would recommend 
users to make their code changes to leverage the new methods (details
         can be found in <a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-520%3A+Add+overloaded+Consumer%23committed+for+batching+partitions";>KIP-520</a>).
     </li>
+    <li>We've introduced a new <code>INVALID_RECORD</code> error in the 
produce response to distinguish from the <code>CORRUPT_MESSAGE</code> error.
+        To be more concrete, previously when a batch of records were sent as 
part of a single request to the broker and one or more of the records failed
+        the validation due to various causes (mismatch magic bytes, crc 
checksum errors, null key for log compacted topics, etc), the whole batch would 
be rejected
+        with the same and misleading <code>CORRUPT_MESSAGE</code>, and the 
caller of the producer client would see the corresponding exception from either
+        the future object of <code>RecordMetadata</code> returned from the 
<code>send</code> call as well as in the 
<code>Callback#onCompletion(RecordMetadata metadata, Exception exception)</code>
+        Now with the new error code and improved error messages of the 
exception, producer callers would be better informed about the root cause why 
their sent records were failed.
+    </li>
     <li>We are introducing incremental cooperative rebalancing to the clients' 
group protocol, which allows consumers to keep all of their assigned partitions 
during a rebalance
         and at the end revoke only those which must be migrated to another 
consumer for overall cluster balance. The <code>ConsumerCoordinator</code> will 
choose the latest <code>RebalanceProtocol</code>
         that is commonly supported by all of the consumer's supported 
assignors. You can use the new built-in <code>CooperativeStickyAssignor</code> 
or plug in your own custom cooperative assignor. To do

Reply via email to