Skip to content

Commit 062ddff

Browse files
committed
Merge pull request #379 from dpkp/deprecate_keyed_producer_send
Deprecate KeyedProducer.send in favor of send_messages
2 parents ce702ef + 45c2630 commit 062ddff

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

docs/usage.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ Keyed messages
6363
6464
# HashedPartitioner is default
6565
producer = KeyedProducer(kafka)
66-
producer.send("my-topic", "key1", "some message")
67-
producer.send("my-topic", "key2", "this methode")
66+
producer.send_messages("my-topic", "key1", "some message")
67+
producer.send_messages("my-topic", "key2", "this methode")
6868
6969
producer = KeyedProducer(kafka, partitioner=RoundRobinPartitioner)
7070

kafka/producer/keyed.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import absolute_import
22

33
import logging
4+
import warnings
45

56
from kafka.partitioner import HashedPartitioner
67
from kafka.util import kafka_bytestring
@@ -69,15 +70,15 @@ def _next_partition(self, topic, key):
6970
partitioner = self.partitioners[topic]
7071
return partitioner.partition(key)
7172

72-
def send_messages(self,topic,key,*msg):
73+
def send_messages(self, topic, key, *msg):
7374
topic = kafka_bytestring(topic)
7475
partition = self._next_partition(topic, key)
75-
return self._send_messages(topic, partition, *msg,key=key)
76+
return self._send_messages(topic, partition, *msg, key=key)
7677

78+
# DEPRECATED
7779
def send(self, topic, key, msg):
78-
topic = kafka_bytestring(topic)
79-
partition = self._next_partition(topic, key)
80-
return self._send_messages(topic, partition, msg, key=key)
80+
warnings.warn("KeyedProducer.send is deprecated in favor of send_messages", DeprecationWarning)
81+
return self.send_messages(topic, key, msg)
8182

8283
def __repr__(self):
8384
return '<KeyedProducer batch=%s>' % self.async

test/test_producer_integration.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,10 @@ def test_round_robin_partitioner(self):
346346
start_offsets = [self.current_offset(self.topic, p) for p in partitions]
347347

348348
producer = KeyedProducer(self.client, partitioner=RoundRobinPartitioner)
349-
resp1 = producer.send(self.topic, self.key("key1"), self.msg("one"))
350-
resp2 = producer.send(self.topic, self.key("key2"), self.msg("two"))
351-
resp3 = producer.send(self.topic, self.key("key3"), self.msg("three"))
352-
resp4 = producer.send(self.topic, self.key("key4"), self.msg("four"))
349+
resp1 = producer.send_messages(self.topic, self.key("key1"), self.msg("one"))
350+
resp2 = producer.send_messages(self.topic, self.key("key2"), self.msg("two"))
351+
resp3 = producer.send_messages(self.topic, self.key("key3"), self.msg("three"))
352+
resp4 = producer.send_messages(self.topic, self.key("key4"), self.msg("four"))
353353

354354
self.assert_produce_response(resp1, start_offsets[0]+0)
355355
self.assert_produce_response(resp2, start_offsets[1]+0)
@@ -367,11 +367,11 @@ def test_hashed_partitioner(self):
367367
start_offsets = [self.current_offset(self.topic, p) for p in partitions]
368368

369369
producer = KeyedProducer(self.client, partitioner=HashedPartitioner)
370-
resp1 = producer.send(self.topic, self.key("1"), self.msg("one"))
371-
resp2 = producer.send(self.topic, self.key("2"), self.msg("two"))
372-
resp3 = producer.send(self.topic, self.key("3"), self.msg("three"))
373-
resp4 = producer.send(self.topic, self.key("3"), self.msg("four"))
374-
resp5 = producer.send(self.topic, self.key("4"), self.msg("five"))
370+
resp1 = producer.send_messages(self.topic, self.key("1"), self.msg("one"))
371+
resp2 = producer.send_messages(self.topic, self.key("2"), self.msg("two"))
372+
resp3 = producer.send_messages(self.topic, self.key("3"), self.msg("three"))
373+
resp4 = producer.send_messages(self.topic, self.key("3"), self.msg("four"))
374+
resp5 = producer.send_messages(self.topic, self.key("4"), self.msg("five"))
375375

376376
offsets = {partitions[0]: start_offsets[0], partitions[1]: start_offsets[1]}
377377
messages = {partitions[0]: [], partitions[1]: []}
@@ -400,7 +400,7 @@ def test_async_keyed_producer(self):
400400

401401
producer = KeyedProducer(self.client, partitioner = RoundRobinPartitioner, async=True)
402402

403-
resp = producer.send(self.topic, self.key("key1"), self.msg("one"))
403+
resp = producer.send_messages(self.topic, self.key("key1"), self.msg("one"))
404404
self.assertEqual(len(resp), 0)
405405

406406
# wait for the server to report a new highwatermark

0 commit comments

Comments
 (0)