From fabe33097d02f6e5953f1731ac2e71a4f216cbc1 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 16 May 2017 11:29:09 -0700 Subject: [PATCH 1/4] fix broken version comparison used during ssl tests --- pykafka/test/kafka_instance.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pykafka/test/kafka_instance.py b/pykafka/test/kafka_instance.py index a54397e4c..ee9a9cf09 100644 --- a/pykafka/test/kafka_instance.py +++ b/pykafka/test/kafka_instance.py @@ -27,6 +27,8 @@ import tempfile import time +from pkg_resources import parse_version + from testinstances import utils from testinstances.exceptions import ProcessNotStartingError from testinstances.managed_instance import ManagedInstance @@ -233,7 +235,8 @@ def _gen_ssl_certs(self): :returns: :class:`CertManager` or None upon failure """ - if self._kafka_version >= "0.9": # no SSL support in earlier versions + # no SSL support in earlier versions + if parse_version(self._kafka_version) >= parse_version("0.9"): try: return CertManager(self._bin_dir) except: # eg. because openssl or other tools not installed From 7254ae6cc9b9e478cb97a1d723159c4fd2f54a09 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 16 May 2017 15:03:51 -0700 Subject: [PATCH 2/4] don't try to delete blank topics --- pykafka/test/kafka_instance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pykafka/test/kafka_instance.py b/pykafka/test/kafka_instance.py index ee9a9cf09..0a7ccd633 100644 --- a/pykafka/test/kafka_instance.py +++ b/pykafka/test/kafka_instance.py @@ -118,7 +118,7 @@ def delete_topic(self, topic_name): def flush(self): """Delete all topics.""" for topic in self.list_topics(): - if not topic.startswith(b'__'): # leave internal topics alone + if topic and not topic.startswith(b'__'): # leave internal topics alone self.delete_topic(topic) def list_topics(self): From fd2656ceb0141ec1212101cb0f6e581c14ea67c0 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 16 May 2017 15:04:00 -0700 Subject: [PATCH 3/4] log errors for travis transparency --- pykafka/connection.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pykafka/connection.py b/pykafka/connection.py index 50ff9d2d2..5c56558eb 100644 --- a/pykafka/connection.py +++ b/pykafka/connection.py @@ -168,8 +168,9 @@ def connect(self, timeout): timeout / 1000, (self.source_host, self.source_port) )) - except (self._handler.SockErr, self._handler.GaiError): + except (self._handler.SockErr, self._handler.GaiError) as e: log.info("Failed to connect to %s:%s", self.host, self.port) + log.info(e) raise SocketDisconnectedError log.debug("Successfully connected to %s:%s", self.host, self.port) From a60a77564135ff3466e74fcd465c6ffad3c1a0b4 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 16 May 2017 16:03:50 -0700 Subject: [PATCH 4/4] don't delete topics that are already to be deleted --- pykafka/test/kafka_instance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pykafka/test/kafka_instance.py b/pykafka/test/kafka_instance.py index 0a7ccd633..d5c0136e4 100644 --- a/pykafka/test/kafka_instance.py +++ b/pykafka/test/kafka_instance.py @@ -118,7 +118,8 @@ def delete_topic(self, topic_name): def flush(self): """Delete all topics.""" for topic in self.list_topics(): - if topic and not topic.startswith(b'__'): # leave internal topics alone + if topic and not topic.startswith(b'__') and \ + "marked for deletion" not in topic: # leave internal topics alone self.delete_topic(topic) def list_topics(self):