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

Add kafka 0.10.2.1 into integration testing version #1096

Merged
merged 4 commits into from
Jun 17, 2017
Merged

Add kafka 0.10.2.1 into integration testing version #1096

merged 4 commits into from
Jun 17, 2017

Conversation

jianbin-wei
Copy link
Contributor

No description provided.

@jianbin-wei jianbin-wei closed this May 4, 2017
@jianbin-wei jianbin-wei reopened this May 4, 2017
@dpkp
Copy link
Owner

dpkp commented May 4, 2017

Adding another kafka version means we add 6x more test runs to travis (one for each python version). I am not super excited about making tests take longer. Thoughts on possibly removing an existing version from the test suite?

@jianbin-wei
Copy link
Contributor Author

Do you mean the tests increase from 30 to 36 instead of 6 times?

I would deprecate python 2.6 as Python 2.6.9 final was released on October 29, 2013 and 2.6.x has official retired.

Regarding kafka, I would prefer 0.8.0 and 0.8.1.1 to be deprecated. 0.8.0 has about 0.5% emails in kafka-user mailing list. 0.8.1.1 has about 1% emails.

That would reduce the tests need to run from 30 to 20.

@jeffwidman
Copy link
Collaborator

jeffwidman commented May 4, 2017

I agree with Jianbin.

I'd even consider going a step further and stop testing against anything below Kafka 0.9x. That's when the consumer group APIs showed up that are used by KafkaConsumer. The SimpleConsumer stack is already deprecated, so don't need to continue to guarantee support. Plus 0.8x was notoriously buggy, so while I know there are plenty of existing installations of it, by this point they should be seriously thinking about upgrading.

Also, for Python, I'd probably drop Python 3.3 and 3.4. Most folks on the Python 3 bandwagon are self-selecting toward those hungry to be on the bleeding edge. Additionally Ubuntu 16.04 LTS shipped with 3.5 and RHEL is likely shipping such an ancient version it's not worth worrying about. There's a decent chance anyone using Python 3 on REHL is using https://ius.io/ to get either 3.5 or 3.6 these days.

@jianbin-wei
Copy link
Contributor Author

I think if some deployment on 0.8x it is very likely to be on 0.8.2. It should be ok to keep testing for 0.8.2.2 for that unless some feature breaks that backward compatibility and would need some discussion.

Regarding python 3.x, http://blog.jelastic.com/2016/04/14/software-stacks-market-share-first-quarter-of-2016/ shows that globally 3.4 is 7%, 3.5 6%, 2.7 87%, 3.3 is 0%. But in US 3.3 is 5%. Therefore, I would not drop the test cases for them. Some feature backward compatibility is another story when that happens.

@dpkp
Copy link
Owner

dpkp commented May 4, 2017

Debian 8.0 / stable is still shipping with python3.4 and also 3.5 adds some fairly significant new features that I want to make sure we are not relying on unintentionally. But python2.6 I am totally willing to drop. For kafka versions I think 0.8.0 and 0.8.1.1 can probably also go. We can always run tests for these manually before releases.

@jianbin-wei
Copy link
Contributor Author

Agreed with @dpkp

Also cleaned up servers/ directories to remove 0.8.1, 0.8.2.0, 0.8.2.1.
Keep servers/0.8.0 and servers/0.8.1.1 so it is possible to do manual
tests agains these two versions.
Copy link
Collaborator

@jeffwidman jeffwidman left a comment

Choose a reason for hiding this comment

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

Looks like there's some py26 specific code in tox.ini (search for py26). And setup.py has an explicit 2.6 reference plus a sneaky one:

if sys.version_info < (2, 7):
    test_require.append('unittest2')

Can you include these with the previous commit? git commit --amend followed by force pushing to this branch should do it.

@dpkp
Copy link
Owner

dpkp commented May 5, 2017

I'd prefer that we not delete the resources files for old kafka brokers or tox configuration for py26. These would still be useful to test locally / debug with, even if we aren't doing continuous testing or making any compatibility guarantees.

@jianbin-wei
Copy link
Contributor Author

For each minor version of kafka, I left one resource directory in place, i.e.,

0.10.0.0 0.10.0.1 0.10.1.1 0.10.2.1 0.8.0 0.8.1.1 0.8.2.2 0.9.0.0 0.9.0.1 dist trunk

Is that good enough? I am ok with either way you prefer.

Regarding python 2.6, do you really need it? I searched the code and there are some changes would break the support, for example the use of gzip context manager in kafka/codec.py.

@jianbin-wei jianbin-wei closed this May 9, 2017
@jianbin-wei jianbin-wei reopened this May 9, 2017
@jianbin-wei jianbin-wei closed this May 9, 2017
@jianbin-wei jianbin-wei reopened this May 9, 2017
@tvoinarovskyi
Copy link
Collaborator

tvoinarovskyi commented May 9, 2017

Am totally for this patch, but agree with @dpkp, there's just no need to remove any of the servers folders. Let them stay there, kafka's old versions are still used.

EDIT: as for the python2.6, maybe we should release new version as 1.4 and say that we dropped py2.6. So that 1.3 is last release with python2.6 support.

@jianbin-wei
Copy link
Contributor Author

@dpkp, I have reverted the deletion of server resource files. What is your opinion about py26? I kind of agree what @Drizzt1991 said to bump the version for dropping python 2.6 support.

@jeffwidman
Copy link
Collaborator

Bump @dpkp your thoughts?

We're starting to evaluate upgrading some clusters to 0.10.2.1, but we're a bit hesitant to do so until this is merged...

@dpkp
Copy link
Owner

dpkp commented Jun 17, 2017

I doubt anyone on python2.6 is running master, so it's probably ok to drop now and make the next release 1.4 .

Also should be aware that 0.11.0.0 is up for release vote, and we will need to start testing against it as well.

@dpkp dpkp merged commit b1a6d33 into dpkp:master Jun 17, 2017
@dpkp
Copy link
Owner

dpkp commented Jun 17, 2017

I decided not to keep the tox.ini / setup.py changes that disabled running tests on py26 . I think we should still be able to run the tests, even if it is no longer supported.

88manpreet pushed a commit to Yelp/kafka-python that referenced this pull request Aug 25, 2017
* Add kafka 0.10.2.1 into integration testing version
* Disable tests for python 2.6 and kafka 0.8.0 and 0.8.1.1
* Remove references to python 2.6 support
88manpreet pushed a commit to Yelp/kafka-python that referenced this pull request Aug 25, 2017
* Add kafka 0.10.2.1 into integration testing version
* Disable tests for python 2.6 and kafka 0.8.0 and 0.8.1.1
* Remove references to python 2.6 support
88manpreet pushed a commit to Yelp/kafka-python that referenced this pull request Oct 6, 2017
* Add kafka 0.10.2.1 into integration testing version
* Disable tests for python 2.6 and kafka 0.8.0 and 0.8.1.1
* Remove references to python 2.6 support
88manpreet pushed a commit to Yelp/kafka-python that referenced this pull request Jul 16, 2018
* Add kafka 0.10.2.1 into integration testing version
* Disable tests for python 2.6 and kafka 0.8.0 and 0.8.1.1
* Remove references to python 2.6 support
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