Skip to content
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

Backwards incompatible change, "Producer.Return.Successes must be true to be used in a SyncProducer" #816

Closed
arnaud-lb opened this issue Jan 26, 2017 · 1 comment

Comments

@arnaud-lb
Copy link

Hi

The commit f0062da / PR #790 introduces a backwards incompatible change: it is now required to set Producer.Return.Successes=true in a SyncProducer's config.

This breaks code that worked before. This breaks the following statement from the README:

You can import a version with a guaranteed stable API via http://gopkg.in/Shopify/sarama.v1.

On a side note, this project is awesome, thank you for that :)

@eapache
Copy link
Contributor

eapache commented Jan 26, 2017

On a side note, this project is awesome, thank you for that :)

You're welcome :)

The commit f0062da / PR #790 introduces a backwards incompatible change: it is now required to set Producer.Return.Successes=true in a SyncProducer's config.

This breaks code that worked before.

Hmm, you're right, I didn't consider that. I am too used to thinking of API stability as strictly a compile-time guarantee and so (since this doesn't prevent old code from compiling) it didn't occur to me.

There are two mitigating factors though:

Given the nature of the bug, the simplicity of the required update, and the fact that (for better or worse) it's been part of a release for over a month now, I've decided to leave it as is.

I will put a warning in the CHANGELOG to this effect for anybody else who is updating.

@eapache eapache closed this as completed Jan 26, 2017
eapache added a commit that referenced this issue Jan 26, 2017
Mitigation for the quasi-breaking change as noted in #816.
ghost pushed a commit to hyperledger/fabric that referenced this issue Mar 31, 2017
https://jira.hyperledger.org/browse/FAB-2936

This is the first in a series of changesets that will allow us to
quickly query the state of the Kafka cluster. This is itself needed so
that we can decide whether there's a point in repeating a certain
request (e.g. for the creation of a channel/partition in Kafka) or not.

We're vendoring the latest version of the sarama library because it
introduces the `Brokers()` method to the `Client` interface, and this
allows us to easily get the list of active brokers.

This changeset also adds a relevant (and now req'd) config setting, see:
IBM/sarama#816 for more.

Change-Id: Ia6bda8f237e087066f404f09f9d6ac359ed44b85
Signed-off-by: Kostas Christidis <kostas@christidis.io>
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

No branches or pull requests

2 participants