summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Roberts <wizzat@gmail.com>2014-04-23 02:04:04 -0700
committerMark Roberts <wizzat@gmail.com>2014-04-23 02:04:04 -0700
commit7e5c847aa91de8786c08e8424519ddd22d5c67e8 (patch)
treeea1edb1092284e4d82c6c0c5d0b2728b509f2f1a
parent6628c109b786cfc3c429400eaa258298bcc77ec0 (diff)
downloadkafka-python-7e5c847aa91de8786c08e8424519ddd22d5c67e8.tar.gz
Add support for kafka 0.8.1
-rw-r--r--.gitmodules3
-rwxr-xr-xbuild_integration.sh1
m---------servers/0.8.1/kafka-src0
-rw-r--r--servers/0.8.1/resources/kafka.properties59
-rw-r--r--servers/0.8.1/resources/log4j.properties24
-rw-r--r--servers/0.8.1/resources/zookeeper.properties19
-rw-r--r--test/fixtures.py6
-rw-r--r--test/service.py7
8 files changed, 115 insertions, 4 deletions
diff --git a/.gitmodules b/.gitmodules
index 9f003c2..b40620c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "servers/0.8.0/kafka-src"]
path = servers/0.8.0/kafka-src
url = https://github.com/apache/kafka.git
+[submodule "servers/0.8.1/kafka-src"]
+ path = servers/0.8.1/kafka-src
+ url = https://github.com/apache/kafka.git
diff --git a/build_integration.sh b/build_integration.sh
index cc5b9fc..80b3410 100755
--- a/build_integration.sh
+++ b/build_integration.sh
@@ -2,3 +2,4 @@
git submodule update --init
(cd servers/0.8.0/kafka-src && ./sbt update package assembly-package-dependency)
+(cd servers/0.8.1/kafka-src && ./gradlew jarAll)
diff --git a/servers/0.8.1/kafka-src b/servers/0.8.1/kafka-src
new file mode 160000
+Subproject 150d0a70cbe2b1f980e9565a4fa59b0420d1c0a
diff --git a/servers/0.8.1/resources/kafka.properties b/servers/0.8.1/resources/kafka.properties
new file mode 100644
index 0000000..5d47520
--- /dev/null
+++ b/servers/0.8.1/resources/kafka.properties
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+############################# Server Basics #############################
+
+broker.id={broker_id}
+
+############################# Socket Server Settings #############################
+
+port={port}
+host.name={host}
+
+num.network.threads=2
+num.io.threads=2
+
+socket.send.buffer.bytes=1048576
+socket.receive.buffer.bytes=1048576
+socket.request.max.bytes=104857600
+
+############################# Log Basics #############################
+
+log.dirs={tmp_dir}/data
+num.partitions={partitions}
+default.replication.factor={replicas}
+
+############################# Log Flush Policy #############################
+
+log.flush.interval.messages=10000
+log.flush.interval.ms=1000
+
+############################# Log Retention Policy #############################
+
+log.retention.hours=168
+log.segment.bytes=536870912
+log.retention.check.interval.ms=60000
+log.cleanup.interval.mins=1
+log.cleaner.enable=false
+
+############################# Zookeeper #############################
+
+# Zookeeper connection string (see zookeeper docs for details).
+# This is a comma separated host:port pairs, each corresponding to a zk
+# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
+# You can also append an optional chroot string to the urls to specify the
+# root directory for all kafka znodes.
+zookeeper.connect={zk_host}:{zk_port}/{zk_chroot}
+zookeeper.connection.timeout.ms=1000000
diff --git a/servers/0.8.1/resources/log4j.properties b/servers/0.8.1/resources/log4j.properties
new file mode 100644
index 0000000..f863b3b
--- /dev/null
+++ b/servers/0.8.1/resources/log4j.properties
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+log4j.rootLogger=INFO, stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.logger.kafka=DEBUG, stdout
+log4j.logger.org.I0Itec.zkclient.ZkClient=INFO, stdout
+log4j.logger.org.apache.zookeeper=INFO, stdout
diff --git a/servers/0.8.1/resources/zookeeper.properties b/servers/0.8.1/resources/zookeeper.properties
new file mode 100644
index 0000000..68e1ef9
--- /dev/null
+++ b/servers/0.8.1/resources/zookeeper.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dataDir={tmp_dir}
+clientPortAddress={host}
+clientPort={port}
+maxClientCnxns=0
diff --git a/test/fixtures.py b/test/fixtures.py
index af4c145..7b032f1 100644
--- a/test/fixtures.py
+++ b/test/fixtures.py
@@ -26,9 +26,13 @@ class Fixture(object):
# ./kafka-src/bin/kafka-run-class.sh is the authority.
jars = ["."]
- # assume all dependencies have been packaged into one jar with sbt-assembly's task "assembly-package-dependency"
+ # 0.8.0 build path, should contain the core jar and a deps jar
jars.extend(glob.glob(cls.kafka_root + "/core/target/scala-%s/*.jar" % cls.scala_version))
+ # 0.8.1 build path, should contain the core jar and several dep jars
+ jars.extend(glob.glob(cls.kafka_root + "/core/build/libs/*.jar"))
+ jars.extend(glob.glob(cls.kafka_root + "/core/build/dependant-libs-%s/*.jar" % cls.scala_version))
+
jars = filter(os.path.exists, map(os.path.abspath, jars))
return ":".join(jars)
diff --git a/test/service.py b/test/service.py
index 5e6ce61..1b95cbc 100644
--- a/test/service.py
+++ b/test/service.py
@@ -45,7 +45,7 @@ class SpawnedService(threading.Thread):
self.capture_stdout = capture
self.show_stdout = show
- def configure_stderr(self, file=None, capture=False, show=True):
+ def configure_stderr(self, file=None, capture=False, show=False):
self.stderr_file = file
self.capture_stderr = capture
self.show_stderr = show
@@ -114,9 +114,10 @@ class SpawnedService(threading.Thread):
t2 = time.time()
if t2 - t1 >= timeout:
raise RuntimeError("Waiting for %r timed out" % pattern)
- if re.search(pattern, self.captured_stdout) is not None:
+
+ if re.search(pattern, self.captured_stdout, re.IGNORECASE) is not None:
return
- if re.search(pattern, self.captured_stderr) is not None:
+ if re.search(pattern, self.captured_stderr, re.IGNORECASE) is not None:
return
time.sleep(0.1)