Skip to content

KAFKA-4208: Add Record Headers#2991

Closed
michaelandrepearce wants to merge 4 commits intoapache:trunkfrom
michaelandrepearce:KIP-82
Closed

KAFKA-4208: Add Record Headers#2991
michaelandrepearce wants to merge 4 commits intoapache:trunkfrom
michaelandrepearce:KIP-82

Conversation

@michaelandrepearce
Copy link
Copy Markdown
Contributor

Update upgrade.html

Raising this now, as KIP-118 is pulled from release as such submitting this without java 8 changes.

As per remaining review comment from #2772, updating the upgrade notes.

@asfbot
Copy link
Copy Markdown

asfbot commented May 7, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.10/3612/
Test PASSed (JDK 7 and Scala 2.10).

@asfbot
Copy link
Copy Markdown

asfbot commented May 7, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.11/3618/
Test PASSed (JDK 8 and Scala 2.11).

@asfbot
Copy link
Copy Markdown

asfbot commented May 7, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/3609/
Test FAILed (JDK 8 and Scala 2.12).

Copy link
Copy Markdown
Contributor

@becketqin becketqin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the patch. Left some comments. It seems that 0.11.0 upgrade doc has a lot of thing to update.
@hachikuji @ijuma do we plan to update the upgrade doc when KIP-98 is completely done?

Comment thread docs/upgrade.html Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems a little verbose to elaborate all the methods of Headers interface in the upgrade doc. See if the following is more concise.

<li>A new Headers interface has been introduced to provide headers read and write access.</li>
<li>ProducerRecord and ConsumerRecord expose the new Headers API via <code>Headers headers()</code> method call.</li>
<li>ExtendedSerializer and ExtendedDeserializer interfaces are introduced to support serialization and deserialization for headers. Headers will be ignored if the configured serializer and deserializer are not the above classes.</li>

There are some useful information in the current description, but may be more suitable for the Headers java doc. In the upgrade doc, it is probably not necessary to explain the details of a newly introduced feature (immutable headers after interceptor), but we do need to explain if there is any change of the existing behaviors.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, upgrade.html usually only includes changes with a compatibility impact. At the moment, items that should be part of the release notes are added to the release plan:

https://cwiki.apache.org/confluence/display/KAFKA/Release+Plan+0.11.0.0

Actual documentation of how Headers work, etc. should be added to the Javadoc and potentially to the Kafka documentation (see docs folder).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So it seems i just need to thin out/be less verbose (prob just take @becketqin improved version). And just add versions on the protocol. will do this.

Javadocs all there already, so should be picked up.

Comment thread docs/upgrade.html Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we be more precise on the message format version? e.g. 0.11.0. Same for the descriptions below, Older clients -> clients before 0.11.0

@ijuma
Copy link
Copy Markdown
Member

ijuma commented May 8, 2017

@becketqin yes, the JIRA for that is https://issues.apache.org/jira/browse/KAFKA-5019

@asfbot
Copy link
Copy Markdown

asfbot commented May 10, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.10/3707/
Test PASSed (JDK 7 and Scala 2.10).

@asfbot
Copy link
Copy Markdown

asfbot commented May 10, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/3703/
Test PASSed (JDK 8 and Scala 2.12).

@asfbot
Copy link
Copy Markdown

asfbot commented May 10, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.11/3713/
Test PASSed (JDK 8 and Scala 2.11).

@asfbot
Copy link
Copy Markdown

asfbot commented May 15, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/3914/
Test FAILed (JDK 7 and Scala 2.11).

michaelandrepearce and others added 3 commits May 15, 2017 11:56
Update upgrade.html
Update based on review feedback. still need to add protocol / versions.
Adding protocol versions.
@michaelandrepearce
Copy link
Copy Markdown
Contributor Author

rebased to sort conflicts

@asfbot
Copy link
Copy Markdown

asfbot commented May 15, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/3903/
Test FAILed (JDK 8 and Scala 2.12).

@asfbot
Copy link
Copy Markdown

asfbot commented May 15, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/3906/
Test FAILed (JDK 8 and Scala 2.12).

@asfbot
Copy link
Copy Markdown

asfbot commented May 15, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/3917/
Test FAILed (JDK 7 and Scala 2.11).

Comment thread docs/upgrade.html Outdated
producer's <code>batch.size</code> configuration.</li>
<li>GC log rotation is enabled by default, see KAFKA-3754 for details.</li>
<li>Deprecated constructors of MetricName and Cluster classes have been removed.</li>
<li>A new Headers interface has been introduced to provide headers read and write access.</li>
Copy link
Copy Markdown
Contributor

@becketqin becketqin May 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems this may cause confusion between user headers and system headers. Would the following be less ambiguous?
"Added user headers support through a new Headers interface."

minor description twerk, based on feedback.
@asfbot
Copy link
Copy Markdown

asfbot commented May 17, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/4076/
Test PASSed (JDK 7 and Scala 2.11).

@asfbot
Copy link
Copy Markdown

asfbot commented May 17, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/4062/
Test PASSed (JDK 8 and Scala 2.12).

@becketqin
Copy link
Copy Markdown
Contributor

Thanks for updating the doc. LGTM.

@asfgit asfgit closed this in 1c7fdd2 May 21, 2017
asfgit pushed a commit that referenced this pull request May 25, 2017
Update upgrade.html

Raising this now, as KIP-118 is pulled from release as such submitting this without java 8 changes.

As per remaining review comment from #2772, updating the upgrade notes.

Author: Michael André Pearce <michael.andre.pearce@me.com>
Author: Michael Andre Pearce <Michael.Andre.Pearce@me.com>

Reviewers: Jiangjie Qin <becket.qin@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #2991 from michaelandrepearce/KIP-82
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants