diff --git a/nri-kafka/src/Kafka/Worker/Internal.hs b/nri-kafka/src/Kafka/Worker/Internal.hs index ab7467d5..b3e1afe2 100644 --- a/nri-kafka/src/Kafka/Worker/Internal.hs +++ b/nri-kafka/src/Kafka/Worker/Internal.hs @@ -267,7 +267,8 @@ createConsumer ++ Consumer.compression Consumer.Snappy ++ Consumer.extraProps ( Dict.fromList - [("max.poll.interval.ms", Text.fromInt (Settings.unMaxPollIntervalMs maxPollIntervalMs))] + [("max.poll.interval.ms", Text.fromInt (Settings.unMaxPollIntervalMs maxPollIntervalMs)) + , ("partition.assignment.strategy", "range,cooperative-sticky")] ) let subscription' = Consumer.topics [Consumer.TopicName (Kafka.unTopic topic)] diff --git a/run-tests.sh b/run-tests.sh index d0b60f20..6d96a163 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -16,18 +16,23 @@ pg_ctl start -o '-k .' mkdir -p ./_build/redis/data redis-server --daemonize yes --dir ./_build/redis/data -## start zookeeper (for kafka) +## start zookeeper (for kafka) +zk_server_properties_path=$(dirname "$(which zkServer.sh)")/../conf/zoo_sample.cfg mkdir -p /tmp/zookeeper /tmp/zookeeper-logs -ZOOPIDFILE=/tmp/zookeeper-logs/pid ZOO_LOG_DIR=/tmp/zookeeper-logs zkServer.sh stop zoo_sample.cfg +ZOOPIDFILE=/tmp/zookeeper-logs/pid \ + ZOO_LOG_DIR=/tmp/zookeeper-logs \ + zkServer.sh stop "$zk_server_properties_path" rm -rf /tmp/zookeeper/* /tmp/zookeeper-logs/* -ZOOPIDFILE=/tmp/zookeeper-logs/pid ZOO_LOG_DIR=/tmp/zookeeper-logs zkServer.sh start zoo_sample.cfg +ZOOPIDFILE=/tmp/zookeeper-logs/pid \ + ZOO_LOG_DIR=/tmp/zookeeper-logs \ + zkServer.sh start "$zk_server_properties_path" ## wait for zookeeper echo "waiting for zookeeper to start" until nc -vz localhost 2181 do sleep 1 -done +done echo "zookeeper available" ## start kafka @@ -50,4 +55,6 @@ cabal test all # cleanup kafka-server-stop.sh -ZOOPIDFILE=/tmp/zookeeper-logs/pid ZOO_LOG_DIR=/tmp/zookeeper-logs zkServer.sh stop zoo_sample.cfg +ZOOPIDFILE=/tmp/zookeeper-logs/pid \ + ZOO_LOG_DIR=/tmp/zookeeper-logs \ + zkServer.sh stop "$zk_server_properties_path"