-
Notifications
You must be signed in to change notification settings - Fork 915
Feature/explicit read #427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/explicit read #427
Conversation
It looks like @martintaraz hasn't signed our Contributor License Agreement, yet.
You can read and sign our full Contributor License Agreement here. Once you've signed reply with Appreciation of efforts, clabot |
[clabot:check] |
It looks like @martintaraz hasn't signed our Contributor License Agreement, yet.
You can read and sign our full Contributor License Agreement here. Once you've signed reply with Appreciation of efforts, clabot |
[clabot:check] |
@confluentinc It looks like @martintaraz just signed our Contributor License Agreement. 👍 Always at your service, clabot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this, I have left a few comments mostly around removing .travis.yml changes and removing unrelated formatting changes.
I have to ask though what is the use case for setting the reader schema here. On the surface this seems like a way to handle forward-compatible changes. If that is the case allowing the Schema Registry enforce compatibility constraints seems like a more robust solution for this situation.
https://docs.confluent.io/current/avro.html#forward-compatibility
@@ -5,34 +5,17 @@ matrix: | |||
language: python | |||
dist: trusty | |||
python: "2.7" | |||
env: LD_LIBRARY_PATH="$PWD/tmp-build/lib" LIBRDKAFKA_VERSION=v0.11.5 | |||
# Source package verification with Python 3.6 and librdkafka v0.11.5 | |||
services: docker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All changes to .travis.yml should be removed from this commit
@@ -21,7 +21,6 @@ | |||
""" Test script for confluent_kafka module """ | |||
|
|||
import confluent_kafka | |||
from confluent_kafka import admin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove any integration test changes not related to the pull request itself. This helps to keep the commit history clean. If you wish to submit a PR which cleans up formatting, white space and imports I'd be happy to review and merge however :)
@rnpridgeon No, it's about actually taking advantage of Avro's back-/forward compatibility features for which you need to be able to separate writer and reader schema. Before the change, the reader schema was (implicitly) hard-coded to the writer schema (of the respective message), now the consumer can pin a reader schema with the fastavro deserializer doing back or forward schema migration to the reader schema. The Schema Registry only enforces that the sequence of published Avro schemas for a certain topic complies with back-/forward compatibility constraints. |
@fkaufer you are absolutely correct, I had only considered the ability to parse the message. Sorry about that. Other than the .travis.yml changes it LGTM. If you could back those out it would be greatly appreciated. |
@rnpridgeon Reverted the .travis.yml and other non-related changes in #470 |
Fixed with #470 |
Modifications on the python source code for working with an explicit given read schemata for decoding avro messages
for tesing purposes, the integration where ran against a docker kafka build